@@ -4,6 +4,7 @@ import * as ob from 'urbit-ob';
5import SolarisClient from 'lib/SolarisClient';
5import SolarisClient from 'lib/SolarisClient';
6import { usePointCursor } from 'store/pointCursor';
6import { usePointCursor } from 'store/pointCursor';
7+import useKeyfileGenerator from 'lib/useKeyfileGenerator';
7const STATE = {
8const STATE = {
8 // container states
9 // container states
9 UNKNOWN: 'UNKNOWN',
10 UNKNOWN: 'UNKNOWN',
@@ -18,6 +19,12 @@ const STATE = {
18 CONNECTED: 'CONNECTED',
19 CONNECTED: 'CONNECTED',
22+const mockFetch = status => ({
25+ json: () => Promise.resolve({ status }),
21function useHostingStore(url) {
28function useHostingStore(url) {
22 const client = new SolarisClient(url);
29 const client = new SolarisClient(url);
@@ -117,16 +124,19 @@ function useHostingStore(url) {
117 // source.onmessage = console.log;
124 // source.onmessage = console.log;
119 source.addEventListener('sys', event => {
126 source.addEventListener('sys', event => {
120 setSysEvents(previous => [...previous, JSON.parse(event.data)]);
128 setSysEvents(previous => [...previous, JSON.parse(event.data)]);
123 source.addEventListener('new', event => {
131 source.addEventListener('new', event => {
124 if (event.data !== '') {
133 if (event.data !== '') {
125 setNewEvents(previous => [...previous, event.data]);
134 setNewEvents(previous => [...previous, event.data]);
129 source.addEventListener('run', event => {
138 source.addEventListener('run', event => {
130 if (event.data !== '') {
140 if (event.data !== '') {
131 setRunEvents(previous => [...previous, event.data]);
141 setRunEvents(previous => [...previous, event.data]);
@@ -136,30 +146,33 @@ function useHostingStore(url) {
137 }, [setError, resetEvents, client, pointCursor, setState]);
147 }, [setError, resetEvents, client, pointCursor, setState]);
139− const create = useCallback(async () => {
149+ const create = useCallback(
141− if (Nothing.hasInstance(pointCursor)) {
152+ if (Nothing.hasInstance(pointCursor)) {
144− const patp = ob.patp(pointCursor.value);
155+ const patp = ob.patp(pointCursor.value);
145− setError(undefined);
156+ setError(undefined);
147− setState(STATE.BOOTING);
158+ setState(STATE.BOOTING);
149− const response = await client.postShips({
160+ const response = await client.postShips({
151− key: '123',
162+ key: keyfile,
154− if (!response.ok) {
165+ if (!response.ok) {
155− setError(response.statusText);
166+ setError(response.statusText);
156− } else {
167+ } else {
157− getEvents();
168+ getEvents();
159− } catch (error) {
173+ },
162− }, [pointCursor, setError, setState, client, getEvents]);
174+ [pointCursor, setError, setState, client, getEvents]