on master help sign in
add LoginButton component

LoginButton component POSTs the login request to a given point

commit21aadd2e86d1cd027ceeb17d1961e8fd7cca9dde authorLiam Fitzgerald <liam@urizen.co> dateTue 7 Apr 2020, 09:27 (7 years ago) parentff5f05e
2 files changed+35−1
src/components/LoginButton.js+27 src/views/UrbitOS/Home.js+8−1
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';
1515import { CopyButtonWide } from 'components/CopyButton';
1616import NetworkingKeys from 'components/NetworkingKeys';
1717import ProgressButton from 'components/ProgressButton';
18+import LoginButton from 'components/LoginButton';
1819
1920import BridgeForm from 'form/BridgeForm';
2021import { useLocalRouter } from 'lib/LocalRouter';
@@ -116,7 +117,13 @@ function Hosting({ manualNetworkSeed }) {
116117 if (ship.running) {
117118 return (
118119 <>
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}>
120127 Open OS
121128 </Grid.Item>
122129 {/* Unsupported for now */}