on master help sign in
add LoginButton component
21aadd2Liam Fitzgerald
src/components/LoginButton.jsnew file+27
@@ -0,0 +1,27 @@
1+import React, { useRef } from 'react';
2+import { Button } from 'indigo-react';
3+
4+export default function LoginButton({ url, className, code, ...rest }) {
5+ const formEl = useRef(null);
6+ return (
7+ <form
8+ style={{ display: 'contents' }}
9+ action={url}
10+ method="POST"
11+ target="_blank"
12+ ref={formEl}>
13+ <input name="password" value={code} type="hidden" />
14+ <input name="redirect" value="/" type="hidden" />
15+ <Button
16+ type="submit"
17+ accessory="↗"
18+ solid
19+ success
20+ className={className}
21+ onClick={() => formEl.current.submit()}
22+ {...rest}>
23+ Open OS
24+ </Button>
25+ </form>
26+ );
27+}
src/views/UrbitOS/Home.js+8−1
@@ -15,6 +15,7 @@ import { OutButton, ForwardButton } from 'components/Buttons';
15import { CopyButtonWide } from 'components/CopyButton';
15import { CopyButtonWide } from 'components/CopyButton';
16import NetworkingKeys from 'components/NetworkingKeys';
16import NetworkingKeys from 'components/NetworkingKeys';
17import ProgressButton from 'components/ProgressButton';
17import ProgressButton from 'components/ProgressButton';
18+import LoginButton from 'components/LoginButton';
18
19
19import BridgeForm from 'form/BridgeForm';
20import BridgeForm from 'form/BridgeForm';
20import { useLocalRouter } from 'lib/LocalRouter';
21import { useLocalRouter } from 'lib/LocalRouter';
@@ -116,7 +117,13 @@ function Hosting({ manualNetworkSeed }) {
116 if (ship.running) {
117 if (ship.running) {
117 return (
118 return (
118 <>
119 <>
119− <Grid.Item cols={[1, 9]} as={OutButton} solid success href={url}>
120+ <Grid.Item
121+ cols={[1, 9]}
122+ as={LoginButton}
123+ solid
124+ success
125+ url={url}
126+ code={code}>
120 Open OS
127 Open OS
121 </Grid.Item>
128 </Grid.Item>
122 {/* Unsupported for now */}
129 {/* Unsupported for now */}