@@ -1,28 +1,17 @@
1−import React, { useCallback, useState, useEffect, useMemo } from 'react';
1+import React, { useCallback, useState } from 'react';
2−import cn from 'classnames';
3−import { Grid, Button, SelectInput, Flex } from 'indigo-react';
2+import { Grid } from 'indigo-react';
4import * as ob from 'urbit-ob';
3import * as ob from 'urbit-ob';
5import { azimuth } from 'azimuth-js';
4import { azimuth } from 'azimuth-js';
7import { usePointCursor } from 'store/pointCursor';
6import { usePointCursor } from 'store/pointCursor';
8import { usePointCache } from 'store/pointCache';
7import { usePointCache } from 'store/pointCache';
10−import useCurrentPointName from 'lib/useCurrentPointName';
11−import useKeyfileGenerator from 'lib/useKeyfileGenerator';
12import * as need from 'lib/need';
9import * as need from 'lib/need';
14−import { OutButton, ForwardButton } from 'components/Buttons';
11+import { ForwardButton } from 'components/Buttons';
15−import { CopyButtonWide } from 'components/CopyButton';
16import NetworkingKeys from 'components/NetworkingKeys';
12import NetworkingKeys from 'components/NetworkingKeys';
17−import ProgressButton from 'components/ProgressButton';
18−import LoginButton from 'components/LoginButton';
20−import BridgeForm from 'form/BridgeForm';
21import { useLocalRouter } from 'lib/LocalRouter';
14import { useLocalRouter } from 'lib/LocalRouter';
22−import { useHosting } from 'store/hosting';
23−import DownloadKeyfileButton from 'components/DownloadKeyfileButton';
24−import useLifecycle from 'lib/useLifecycle';
25−import useLocalHosting from 'lib/useLocalHosting';
27export default function UrbitOSHome({ manualNetworkSeed }) {
16export default function UrbitOSHome({ manualNetworkSeed }) {
28 const { pointCursor } = usePointCursor();
17 const { pointCursor } = usePointCursor();
@@ -51,8 +40,6 @@ export default function UrbitOSHome({ manualNetworkSeed }) {
54− <Hosting manualNetworkSeed={manualNetworkSeed} />
57 <Grid.Item full className="mv7 f5">
44 <Grid.Item full className="mv7 f5">
@@ -89,182 +76,3 @@ export default function UrbitOSHome({ manualNetworkSeed }) {
93−// eslint-disable-next-line
94−function Hosting({ manualNetworkSeed }) {
95− const bind = useKeyfileGenerator(manualNetworkSeed);
96− const { keyfile, code } = bind;
97− const ship = useHosting();
108− const { running: localRunning, url: localUrl } = useLocalHosting();
110− let running = useMemo(() => localRunning || ship.running, [
115− useLifecycle(() => {
119− const createShip = useCallback(() => ship.create(keyfile), [keyfile, ship]);
121− const name = useCurrentPointName();
122− const options = [{ text: 'Tlon', value: 'tlon' }];
124− const renderMain = useCallback(() => {
150− {/* Unsupported for now */}
151− {/* <Grid.Item cols={[9, 13]} as={Button} className="b-black b1" center> */}
153− {/* </Grid.Item> */}
164− onClick={createShip}>
176− progress={bootProgress}>
177− {bootMessage || 'Connecting'}
195− const renderDetails = useCallback(() => {
199− <Grid.Item cols={[1, 9]} className="gray4">
200− <span className="mono">{name}</span> is connected to Tlon
205− if (!keyfile && ship.missing) {
207− <Grid.Item full className="gray4">
208− Please reset your networking keys in order to use hosting
212− }, [name, ship, keyfile]);
218− <Grid.Item full className="f5">
226− <Grid.Item full className="f5" as={Flex}>
227− <Flex.Item>Urbit OS </Flex.Item>
229− className={cn({ green3: running, gray4: !running }, 'ml3')}>
230− {running ? 'Connected' : 'Disconnected'}
233− <BridgeForm initialValues={{ provider: 'tlon' }}>
243− label="Host Provider"
256− as={DownloadKeyfileButton}
259− detail="A keyfile authenticates your Urbit ID to Urbit OS"
263− <Grid.Item full className="mt2" as={CopyButtonWide} text={code}>