diff --git a/main.js b/main.js index d0d76f0a2..d9636acdf 100644 --- a/main.js +++ b/main.js @@ -107,3 +107,5 @@ mb.on('ready', () => { app.setLoginItemSettings(settings); }); }); + +// TODO - Implement protocol event handler https://www.electronjs.org/docs/latest/api/protocol diff --git a/package.json b/package.json index 7da248406..731c46ab0 100644 --- a/package.json +++ b/package.json @@ -72,6 +72,10 @@ "main.js", "first-run.js" ], + "protocols": { + "name": "Gitify", + "schemes": ["gitify"] + }, "mac": { "category": "public.app-category.developer-tools", "icon": "assets/images/app-icon.icns", diff --git a/src/routes/Login.tsx b/src/routes/Login.tsx index 8e70f9f33..5e4218fa7 100644 --- a/src/routes/Login.tsx +++ b/src/routes/Login.tsx @@ -1,10 +1,12 @@ -import { KeyIcon, PersonIcon } from '@primer/octicons-react'; +import { KeyIcon, MarkGithubIcon, PersonIcon } from '@primer/octicons-react'; import { ipcRenderer } from 'electron'; -import { type FC, useContext, useEffect } from 'react'; +import { type FC, useCallback, useContext, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { Logo } from '../components/Logo'; import { Button } from '../components/fields/Button'; import { AppContext } from '../context/App'; +import { authGitHub, getGitHubAuthURL } from '../utils/auth/utils'; +import { openExternalLink } from '../utils/comms'; export const LoginRoute: FC = () => { const navigate = useNavigate(); @@ -17,14 +19,14 @@ export const LoginRoute: FC = () => { } }, [isLoggedIn]); - // FIXME: Temporarily disable Login with GitHub (OAuth) as it's currently broken and requires a rewrite - see #485 #561 #747 - /* const loginUser = useCallback(async () => { + const loginUser = useCallback(async () => { try { - await login(); + openExternalLink(getGitHubAuthURL()); + await authGitHub(); } catch (err) { // Skip } - }, []); */ + }, []); return (