diff --git a/.vscode/launch.json b/.vscode/launch.json index 6b76840f..913b73a7 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -38,7 +38,7 @@ "name": "Launch All Services", "configurations": [ "Backend (dev:mock)", - "Webapp Dev", + "Webapp Dev", "Webapp Extension Dev" ], "stopAll": true diff --git a/src/webapp/app/auth/complete/page.tsx b/src/webapp/app/auth/complete/page.tsx index c577848f..61b311d0 100644 --- a/src/webapp/app/auth/complete/page.tsx +++ b/src/webapp/app/auth/complete/page.tsx @@ -54,20 +54,20 @@ function AuthCompleteContent() { const handleExtensionTokenGeneration = async () => { try { setMessage('Generating extension tokens...'); - + const tokens = await apiClient.generateExtensionTokens(); await ExtensionService.sendTokensToExtension(tokens); ExtensionService.clearExtensionTokensRequested(); - + setMessage('Extension tokens generated successfully!'); - + // Redirect to library after successful extension token generation setTimeout(() => router.push('/library'), 1000); } catch (extensionError: any) { console.error('Failed to generate extension tokens:', extensionError); ExtensionService.clearExtensionTokensRequested(); setMessage('Login successful, but failed to generate extension tokens'); - + // Still redirect to library after a delay setTimeout(() => router.push('/library'), 2000); } diff --git a/src/webapp/content.ts b/src/webapp/content.ts index 40ae424d..a17244f8 100644 --- a/src/webapp/content.ts +++ b/src/webapp/content.ts @@ -7,12 +7,14 @@ window.addEventListener('message', (event) => { if (event.data?.type === 'EXTENSION_TOKENS') { // Forward tokens to background script - chrome.runtime.sendMessage({ - type: 'WEBAPP_TOKENS_RECEIVED', - accessToken: event.data.accessToken, - refreshToken: event.data.refreshToken - }).catch((error) => { - console.error('Failed to forward tokens to background script:', error); - }); + chrome.runtime + .sendMessage({ + type: 'WEBAPP_TOKENS_RECEIVED', + accessToken: event.data.accessToken, + refreshToken: event.data.refreshToken, + }) + .catch((error) => { + console.error('Failed to forward tokens to background script:', error); + }); } }); diff --git a/src/webapp/hooks/useExtensionAuth.tsx b/src/webapp/hooks/useExtensionAuth.tsx index 0eb5b3f7..08c543da 100644 --- a/src/webapp/hooks/useExtensionAuth.tsx +++ b/src/webapp/hooks/useExtensionAuth.tsx @@ -54,7 +54,9 @@ export const ExtensionAuthProvider = ({ }); }, []); - const getStoredRefreshToken = useCallback(async (): Promise => { + const getStoredRefreshToken = useCallback(async (): Promise< + string | null + > => { return new Promise((resolve) => { if (typeof chrome !== 'undefined' && chrome.storage) { chrome.storage.local.get(['refreshToken'], (result) => { @@ -130,7 +132,7 @@ export const ExtensionAuthProvider = ({ if (typeof chrome !== 'undefined' && chrome.runtime?.onMessage) { chrome.runtime.onMessage.addListener(handleAuthStateChange); - + return () => { chrome.runtime.onMessage.removeListener(handleAuthStateChange); }; diff --git a/src/webapp/popup.tsx b/src/webapp/popup.tsx index cbfa6bb4..f1299c31 100644 --- a/src/webapp/popup.tsx +++ b/src/webapp/popup.tsx @@ -3,7 +3,14 @@ import { useExtensionAuth, } from './hooks/useExtensionAuth'; import { SaveCardPage } from './components/extension/SaveCardPage'; -import { Card, MantineProvider, ScrollArea, Button, Text, Stack } from '@mantine/core'; +import { + Card, + MantineProvider, + ScrollArea, + Button, + Text, + Stack, +} from '@mantine/core'; import '@mantine/core/styles.css'; import { theme } from '@/styles/theme'; @@ -20,7 +27,8 @@ function PopupContent() { if (!isAuthenticated) { const handleSignIn = () => { - const appUrl = process.env.PLASMO_PUBLIC_APP_URL || 'http://localhost:3000'; + const appUrl = + process.env.PLASMO_PUBLIC_APP_URL || 'http://localhost:3000'; const loginUrl = `${appUrl}/login?extension-login=true`; chrome.tabs.create({ url: loginUrl }); window.close();