@@ -12,6 +12,8 @@ import { ForwardButton } from 'components/Buttons';
12import NetworkingKeys from 'components/NetworkingKeys';
12import NetworkingKeys from 'components/NetworkingKeys';
14import { useLocalRouter } from 'lib/LocalRouter';
14import { useLocalRouter } from 'lib/LocalRouter';
15+import { PointDetails } from 'types/pointDetailsType';
16+import WarningBox from 'components/WarningBox';
16export default function UrbitOSHome({ manualNetworkSeed }) {
18export default function UrbitOSHome({ manualNetworkSeed }) {
17 const { pointCursor } = usePointCursor();
19 const { pointCursor } = usePointCursor();
@@ -20,7 +22,7 @@ export default function UrbitOSHome({ manualNetworkSeed }) {
20 const { push, names } = useLocalRouter();
22 const { push, names } = useLocalRouter();
22 const point = need.point(pointCursor);
24 const point = need.point(pointCursor);
23− const details = need.details(getDetails(point));
25+ const details: PointDetails = need.details(getDetails(point));
25 const sponsor = ob.patp(details.sponsor);
27 const sponsor = ob.patp(details.sponsor);
@@ -29,6 +31,10 @@ export default function UrbitOSHome({ manualNetworkSeed }) {
29 const showSponsor = azimuth.getPointSize(point) !== azimuth.PointSize.Galaxy;
31 const showSponsor = azimuth.getPointSize(point) !== azimuth.PointSize.Galaxy;
30 const toggleShowKeys = useCallback(() => setShowKeys(s => !s), [setShowKeys]);
32 const toggleShowKeys = useCallback(() => setShowKeys(s => !s), [setShowKeys]);
34+ // The initial key revision number is 0, and increments when set
35+ const hasSetNetworkingKeys = details.keyRevisionNumber !== '0';
36+ const networkKeysAction = hasSetNetworkingKeys ? 'Reset' : 'Initiate';
32 const goNetworkingKeys = useCallback(() => push(names.NETWORKING_KEYS), [
38 const goNetworkingKeys = useCallback(() => push(names.NETWORKING_KEYS), [
@@ -61,17 +67,26 @@ export default function UrbitOSHome({ manualNetworkSeed }) {
62 <Grid.Divider />
68 <Grid.Divider />
63 <Grid.Item full as={ForwardButton} onClick={goNetworkingKeys}>
69 <Grid.Item full as={ForwardButton} onClick={goNetworkingKeys}>
64− Reset Networking Keys
70− accessory={showKeys ? '▼' : '▲'}
71− onClick={toggleShowKeys}>
72− View Networking Keys
70+ {networkKeysAction} Networking Keys
73 </Grid.Item>
71 </Grid.Item>
72+ {hasSetNetworkingKeys && (
78+ accessory={showKeys ? '▼' : '▲'}
79+ onClick={toggleShowKeys}>
74− {showKeys && <Grid.Item full as={NetworkingKeys} point={point} />}
82+ {showKeys && <Grid.Item full as={NetworkingKeys} point={point} />}
85+ {!hasSetNetworkingKeys && (
86+ <Grid.Item full as={WarningBox} className="mt4">
87+ Networking Keys are required to generate a keyfile