diff --git a/src/routes/Accounts.tsx b/src/routes/Accounts.tsx index 60e77c572..774a5d39d 100644 --- a/src/routes/Accounts.tsx +++ b/src/routes/Accounts.tsx @@ -3,6 +3,8 @@ import { PersonIcon, PlusIcon, SignOutIcon, + StarFillIcon, + StarIcon, } from '@primer/octicons-react'; import { type FC, useCallback, useContext } from 'react'; @@ -12,17 +14,19 @@ import { AuthMethodIcon } from '../components/icons/AuthMethodIcon'; import { PlatformIcon } from '../components/icons/PlatformIcon'; import { AppContext } from '../context/App'; import { BUTTON_CLASS_NAME } from '../styles/gitify'; -import { type Account, Size } from '../types'; +import { type Account, IconColor, Size } from '../types'; import { getAccountUUID } from '../utils/auth/utils'; +import { cn } from '../utils/cn'; import { updateTrayIcon, updateTrayTitle } from '../utils/comms'; import { openAccountProfile, openDeveloperSettings, openHost, } from '../utils/links'; +import { saveState } from '../utils/storage'; export const AccountsRoute: FC = () => { - const { auth, logoutFromAccount } = useContext(AppContext); + const { auth, settings, logoutFromAccount } = useContext(AppContext); const navigate = useNavigate(); const logoutAccount = useCallback( @@ -35,6 +39,12 @@ export const AccountsRoute: FC = () => { [logoutFromAccount], ); + const setAsPrimaryAccount = useCallback((account: Account) => { + auth.accounts = [account, ...auth.accounts.filter((a) => a !== account)]; + saveState({ auth, settings }); + navigate('/accounts', { replace: true }); + }, []); + const loginWithPersonalAccessToken = useCallback(() => { return navigate('/login-personal-access-token', { replace: true }); }, []); @@ -48,7 +58,7 @@ export const AccountsRoute: FC = () => {
Accounts
- {auth.accounts.map((account) => ( + {auth.accounts.map((account, i) => (
{
+ +
+ +
+ +
+ +