@@ -15,6 +15,9 @@ import Blinky from 'components/Blinky';
1515import BarGraph from 'components/BarGraph';
1616import Chip from 'components/Chip';
1717import InviteSigilList from 'components/InviteSigilList';
18+import CopyButton from 'components/CopyButton';
19+import { matchBlinky } from 'components/Blinky';
20+import DownloadSigilButton from 'components/DownloadSigilButton';
1821
1922import * as need from 'lib/need';
2023import useInvites from 'lib/useInvites';
@@ -87,6 +90,8 @@ export default function Point() {
8790
8891 const [showInviteForm, setShowInviteForm] = useState(false);
8992
93+ const goBoot = useCallback(() => push(names.BOOT), [push, names]);
94+
9095 const inviteButton = (() => {
9196 if (azimuth.getPointSize(point) === azimuth.PointSize.Star) {
9297 return (
@@ -248,6 +253,26 @@ export default function Point() {
248253 </>
249254 )}
250255 {senateButton}
256+ <Grid.Item
257+ full
258+ as={ForwardButton}
259+ detail="Boot your computer"
260+ onClick={goBoot}>
261+ Boot Urbit OS
262+ </Grid.Item>
263+ <Grid.Divider />
264+ <Grid.Item
265+ full
266+ as={ForwardButton}
267+ accessory={code && <CopyButton text={code} />}
268+ detail={code || notice}
269+ disabled={!code}
270+ detailClassName="mono">
271+ Login Code
272+ </Grid.Item>
273+ <Grid.Divider />
274+ <Grid.Item full as={DownloadSigilButton} point={point} />
275+ <Grid.Divider />
251276 </Grid>
252277 </View>
253278 );