diff --git a/frontend/electron/main.ts b/frontend/electron/main.ts index f61e378..a009e28 100644 --- a/frontend/electron/main.ts +++ b/frontend/electron/main.ts @@ -495,7 +495,8 @@ ipcMain.handle('open-external', (event, url: string) => shell.openExternal(url)) ipcMain.handle('open-steam-login', async (event, expectedSteamId: string) => { const loginSession = session.fromPartition('persist:steam-login'); - await loginSession.clearStorageData({ storages: ['cookies', 'localstorage', 'indexdb'] }); + // Removed: automatic clearStorageData to allow cookie persistence + return new Promise((resolve) => { const loginWindow = new BrowserWindow({ width: 800, height: 700, parent: mainWindow || undefined, modal: true, title: 'Login to Steam', diff --git a/frontend/src/pages/Dashboard.tsx b/frontend/src/pages/Dashboard.tsx index 8ec0377..5ec57ae 100644 --- a/frontend/src/pages/Dashboard.tsx +++ b/frontend/src/pages/Dashboard.tsx @@ -24,6 +24,7 @@ import PublicIcon from '@mui/icons-material/Public'; import ShieldIcon from '@mui/icons-material/Shield'; import GppBadIcon from '@mui/icons-material/GppBad'; import PeopleIcon from '@mui/icons-material/People'; +import VerifiedUserIcon from '@mui/icons-material/VerifiedUser'; import { useAccounts, type Account } from '../hooks/useAccounts'; import { useAppTheme } from '../theme/ThemeContext'; import type { ThemeType } from '../theme/SteamTheme'; @@ -490,17 +491,53 @@ const AccountRow: React.FC<{ )} - - {account?.steamLoginSecure ? ( + + {/* Fast Switcher Button - Always available if we have a login name */} + {account.loginName && ( - ) : ( - )} + + {/* Scraper Auth Button - Controls the optional cooldown tracking */} + + + + {account.steamLoginSecure && !account.authError ? : (account.authError ? : )} + + {account.steamLoginSecure && !account.authError && ( + + TRACKING + + )} + + + + + (window as any).electronAPI.openExternal(account?.profileUrl || '')}> onDelete(account?._id || '')}>