This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

semble / src / webapp / popup.tsx
1.5 kB 66 lines
1import { 2 ExtensionAuthProvider, 3 useExtensionAuth, 4} from './hooks/useExtensionAuth'; 5import { SaveCardPage } from './components/extension/SaveCardPage'; 6import { 7 Card, 8 MantineProvider, 9 ScrollArea, 10 Button, 11 Text, 12 Stack, 13} from '@mantine/core'; 14import '@mantine/core/styles.css'; 15import { theme } from '@/styles/theme'; 16 17function PopupContent() { 18 const { isAuthenticated, isLoading } = useExtensionAuth(); 19 20 if (isLoading) { 21 return ( 22 <Stack align="center" p="md"> 23 <Text>Loading...</Text> 24 </Stack> 25 ); 26 } 27 28 if (!isAuthenticated) { 29 const handleSignIn = () => { 30 const appUrl = 31 process.env.PLASMO_PUBLIC_APP_URL || 'http://localhost:3000'; 32 const loginUrl = `${appUrl}/login?extension-login=true`; 33 chrome.tabs.create({ url: loginUrl }); 34 window.close(); 35 }; 36 37 return ( 38 <Stack align="center" p="md" gap="md"> 39 <Text size="sm" ta="center"> 40 Sign in to your account to save cards 41 </Text> 42 <Button onClick={handleSignIn} fullWidth> 43 Sign In 44 </Button> 45 </Stack> 46 ); 47 } 48 49 return <SaveCardPage />; 50} 51 52function IndexPopup() { 53 return ( 54 <MantineProvider theme={theme}> 55 <ExtensionAuthProvider> 56 <ScrollArea.Autosize w={400} mah={600}> 57 <Card> 58 <PopupContent /> 59 </Card> 60 </ScrollArea.Autosize> 61 </ExtensionAuthProvider> 62 </MantineProvider> 63 ); 64} 65 66export default IndexPopup;