@@ -2,7 +2,7 @@ import { useCallback, useEffect, useMemo, useState } from 'react';
22import { azimuth } from 'azimuth-js';
33import { Just } from 'folktale/maybe';
44import { Grid, Flex } from 'indigo-react';
5−import { Box, Icon, Row, Button } from '@tlon/indigo-react';
5+import { Box, Icon, Row, Button, Checkbox } from '@tlon/indigo-react';
66
77import { usePointCursor } from 'store/pointCursor';
88import { useWallet } from 'store/wallet';
@@ -22,6 +22,7 @@ import useInvites from 'lib/useInvites';
2222import useCurrentPermissions from 'lib/useCurrentPermissions';
2323import { useLocalRouter } from 'lib/LocalRouter';
2424import useRoller from 'lib/useRoller';
25+import useSeenMissingKeys from 'lib/useSeenMissingKeys';
2526
2627import './Point.scss';
2728import { isL2 } from 'lib/utils/roller';
@@ -49,6 +50,8 @@ export default function Point() {
4950 } = useRollerStore();
5051 const networkKeysSet = useHasNetworkKeysSet();
5152 const [showModal, setShowModal] = useState(false);
53+ const [seenMissingKeys, setSeeingMissingKeys] = useSeenMissingKeys();
54+ const [hideMessage, setHideMessage] = useState(false);
5255
5356 useEffect(() => {
5457 setShowModal(!networkKeysSet);
@@ -109,7 +112,11 @@ export default function Point() {
109112
110113 const goCohort = useCallback(() => push(names.INVITE_COHORT), [push, names]);
111114
112− const goUrbitOS = useCallback(() => push(names.URBIT_OS), [push, names]);
115+ const goUrbitOS = useCallback(() => {
116+ if (hideMessage) setSeeingMissingKeys(hideMessage);
117+
118+ push(names.URBIT_OS);
119+ }, [push, names, hideMessage, setSeeingMissingKeys]);
113120
114121 const goUrbitID = useCallback(() => push(names.URBIT_ID), [push, names]);
115122
@@ -248,23 +255,31 @@ export default function Point() {
248255 )}
249256 {senateButton}
250257 </Grid>
251− <Modal show={showModal} hide={() => setShowModal(false)}>
258+ <Modal
259+ show={showModal && !seenMissingKeys}
260+ hide={() => setShowModal(false)}>
252261 <Box className="network-keys-modal">
253262 <Box className="close" onClick={() => setShowModal(false)}>
254263 ×
255264 </Box>
256− <Box className="title">Network Keys Not Set</Box>
265+ <Box className="title">No Network Keys Found</Box>
257266 <Box className="message">
258− This point's network keys are not set. The network keys must be set
259− to spawn points or migrate to Layer 2. Please set them in Urbit OS
260− Settings.
267+ Network Keys are required to generate a Keyfile and use Landscape.
261268 </Box>
269+ <Row className="hide-row">
270+ <Checkbox
271+ className="checkbox"
272+ selected={hideMessage}
273+ onClick={() => setHideMessage(!hideMessage)}
274+ />
275+ <Box className="dont-show">Do not warn me again</Box>
276+ </Row>
262277 <Row className="buttons">
263278 <Button className="cancel" onClick={() => setShowModal(false)}>
264279 Cancel
265280 </Button>
266281 <Button className="migrate" onClick={goUrbitOS}>
267− Set Keys
282+ Set Network Keys
268283 </Button>
269284 </Row>
270285 </Box>