@@ -13,6 +13,8 @@ import PointPresenter from './PointPresenter';
13import DangerBox from './DangerBox';
13import DangerBox from './DangerBox';
14import View from 'components/View';
14import View from 'components/View';
16+import { isMacOs, isWindows } from 'react-device-detect';
16const MasterKeyTransfer = () => {
18const MasterKeyTransfer = () => {
17 const { performL2Reticket } = useRoller();
19 const { performL2Reticket } = useRoller();
@@ -45,6 +47,22 @@ const MasterKeyTransfer = () => {
45 inviteWallet.value,
47 inviteWallet.value,
50+ const downloadButtonLabel = useMemo(() => {
52+ ? 'Download the Client for Mac'
54+ ? 'Download the Client for Windows'
55+ : 'Download the Client for Your OS';
58+ const downloadUrl = useMemo(() => {
60+ ? `https://github.com/urbit/port/releases/latest/download/Port.dmg`
62+ ? 'https://github.com/urbit/urbit/releases/download/latest/windows.tgz'
63+ : 'https://github.com/urbit/port/releases/download/latest';
48 useFadeIn();
66 useFadeIn();
50 useLifecycle(() => {
68 useLifecycle(() => {
@@ -95,14 +113,10 @@ const MasterKeyTransfer = () => {
95 justifyContent={'space-between'}>
113 justifyContent={'space-between'}>
96 {error && <DangerBox>{error.toString()}</DangerBox>}
114 {error && <DangerBox>{error.toString()}</DangerBox>}
97 <ActivateButton
115 <ActivateButton
99− window.open(
116+ onClick={() => window.open(downloadUrl)}
100− 'https://github.com/urbit/port/releases/latest/download/Port.dmg'
103 disabled={error}
117 disabled={error}
104 success={true}>
118 success={true}>
105− Download the Client for Mac
119+ {downloadButtonLabel}
106 </ActivateButton>
120 </ActivateButton>
108 href="https://urbit.org/getting-started/cli"
122 href="https://urbit.org/getting-started/cli"
@@ -120,7 +134,7 @@ const MasterKeyTransfer = () => {
120 </Anchor>
134 </Anchor>
123− }, [error]);
137+ }, [downloadButtonLabel, downloadUrl, error]);
126 <View centered={true}>
140 <View centered={true}>