From 0cb40c406f9051f25f3d87978305f76dd2666b10 Mon Sep 17 00:00:00 2001 From: davy-c Date: Thu, 19 Dec 2019 16:42:51 +0900 Subject: [PATCH] fix download app links --- .../Modal/contents/DownloadOurAppModal.tsx | 34 ++++++++++++++++++- src/lib/download.ts | 25 ++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/src/components/Modal/contents/DownloadOurAppModal.tsx b/src/components/Modal/contents/DownloadOurAppModal.tsx index d634dac454..8ffc991287 100644 --- a/src/components/Modal/contents/DownloadOurAppModal.tsx +++ b/src/components/Modal/contents/DownloadOurAppModal.tsx @@ -7,8 +7,35 @@ import { ModalFlex } from './styled' import Image from '../../atoms/Image' +import { getAppLinkFromUserAgent } from '../../../lib/download' +import { openNew } from '../../../lib/utils/platform' +import isElectron from 'is-electron' + +interface PrimaryLinkProps { + children: string +} const DownloadOurAppModal = () => { + const runningOnElectron = isElectron() + const userAgent = getAppLinkFromUserAgent() + + const AppLink = ({ children }: PrimaryLinkProps) => { + const handleClick = (event: React.MouseEvent) => { + event.preventDefault() + openNew(runningOnElectron ? 'https://note.boostio.co' : userAgent.link) + } + + return ( + + ) + } + return ( Download our apps @@ -19,7 +46,12 @@ const DownloadOurAppModal = () => {
- + + + {`Download ${ + userAgent.os !== '' ? `for ${userAgent.os}` : 'our app' + }`} +
diff --git a/src/lib/download.ts b/src/lib/download.ts index 6595923000..a45260d34e 100644 --- a/src/lib/download.ts +++ b/src/lib/download.ts @@ -23,3 +23,28 @@ export function downloadBlob(blob: Blob, fileName: string) { window.URL.revokeObjectURL(anchor.href) document.body.removeChild(anchor) } + +export function getAppLinkFromUserAgent() { + const userAgent = navigator.userAgent + const download = { + os: '', + link: '' + } + + if (userAgent.indexOf('Windows') != -1) { + download.os = 'Windows' + download.link = + 'https://github.com/BoostIO/BoostNote.next/releases/latest/download/boost-note-win.exe' + } + if (userAgent.indexOf('Mac') != -1) { + download.os = 'Mac' + download.link = + 'https://github.com/BoostIO/BoostNote.next/releases/latest/download/boost-note-mac.dmg' + } + if (userAgent.indexOf('Linux') != -1) { + download.os = 'Linux' + download.link = + 'https://github.com/BoostIO/BoostNote.next/releases/latest/download/boost-note-linux.deb' + } + return download +}