From 7add322ea8612612dad1d3df47929eee58ed6f4d Mon Sep 17 00:00:00 2001 From: Julien Perrault Date: Tue, 30 Jul 2024 16:39:08 +0200 Subject: [PATCH] feat: use custom hostname on Sidebar link --- src/components/Sidebar.tsx | 19 ++++++++++++++----- src/utils/links.ts | 15 +++++++++------ 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx index e5c007f45..0d32adf51 100644 --- a/src/components/Sidebar.tsx +++ b/src/components/Sidebar.tsx @@ -27,8 +27,17 @@ export const Sidebar: FC = () => { const navigate = useNavigate(); const location = useLocation(); - const { notifications, fetchNotifications, isLoggedIn, status, settings } = - useContext(AppContext); + const { + auth, + notifications, + fetchNotifications, + isLoggedIn, + status, + settings, + } = useContext(AppContext); + + const isSingleAccount = auth?.accounts.length === 1; + const account = isSingleAccount ? auth?.accounts[0] : undefined; const toggleFilters = () => { if (location.pathname.startsWith('/filters')) { @@ -77,19 +86,19 @@ export const Sidebar: FC = () => { title={`${notificationsCount} Unread Notifications`} metric={notificationsCount} icon={BellIcon} - onClick={() => openGitHubNotifications()} + onClick={() => openGitHubNotifications(account)} /> openGitHubIssues()} + onClick={() => openGitHubIssues(account)} /> openGitHubPulls()} + onClick={() => openGitHubPulls(account)} /> diff --git a/src/utils/links.ts b/src/utils/links.ts index 6edd44772..af4a3c8fc 100644 --- a/src/utils/links.ts +++ b/src/utils/links.ts @@ -15,16 +15,19 @@ export function openGitifyReleaseNotes(version: string) { ); } -export function openGitHubNotifications() { - openExternalLink('https://github.com/notifications' as Link); +export function openGitHubNotifications(account?: Account) { + const hostname = account?.hostname || Constants.DEFAULT_AUTH_OPTIONS.hostname; + openExternalLink(`https://${hostname}/notifications` as Link); } -export function openGitHubIssues() { - openExternalLink('https://github.com/issues' as Link); +export function openGitHubIssues(account?: Account) { + const hostname = account?.hostname || Constants.DEFAULT_AUTH_OPTIONS.hostname; + openExternalLink(`https://${hostname}/issues` as Link); } -export function openGitHubPulls() { - openExternalLink('https://github.com/pulls' as Link); +export function openGitHubPulls(account?: Account) { + const hostname = account?.hostname || Constants.DEFAULT_AUTH_OPTIONS.hostname; + openExternalLink(`https://${hostname}/pulls` as Link); } export function openAccountProfile(account: Account) {