alpha
Login
or
Join now
nandi.uk
/
semble
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
This repository has no description
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
formatting
author
Wesley Finck
date
1 year ago
(Jul 23, 2025, 5:41 PM -0700)
commit
a2590615
a2590615a42e0501b3147ce5f2c1004ca4610928
parent
4778a15d
4778a15dd0224d900884eca598527b956e9a8bf5
+15
-20
3 changed files
Expand all
Collapse all
Unified
Split
src
webapp
app
login
page.tsx
components
extension
SignInPage.tsx
popup.tsx
+1
-1
src/webapp/app/login/page.tsx
View file
Reviewed
···
69
69
} catch (err: any) {
70
70
// Clear the flag even on failure
71
71
ExtensionService.clearExtensionTokensRequested();
72
72
-
72
72
+
73
73
// Redirect to extension error page
74
74
router.push('/extension/auth/error');
75
75
} finally {
+13
-12
src/webapp/components/extension/SignInPage.tsx
View file
Reviewed
···
10
10
const [loginError, setLoginError] = useState('');
11
11
12
12
const handleSignIn = () => {
13
13
-
const appUrl =
14
14
-
process.env.PLASMO_PUBLIC_APP_URL || 'http://localhost:3000';
13
13
+
const appUrl = process.env.PLASMO_PUBLIC_APP_URL || 'http://localhost:3000';
15
14
const loginUrl = `${appUrl}/login?extension-login=true`;
16
15
chrome.tabs.create({ url: loginUrl });
17
16
window.close();
···
28
27
await loginWithAppPassword(handle.trim(), appPassword.trim());
29
28
// Success - the auth context will handle the state update
30
29
} catch (error: any) {
31
31
-
setLoginError(error.message || 'Login failed. Please check your credentials.');
30
30
+
setLoginError(
31
31
+
error.message || 'Login failed. Please check your credentials.',
32
32
+
);
32
33
}
33
34
};
34
35
···
38
39
<Text size="sm" ta="center">
39
40
Sign in with App Password
40
41
</Text>
41
41
-
42
42
+
42
43
<TextInput
43
44
label="Handle"
44
45
placeholder="your-handle.bsky.social"
···
46
47
onChange={(e) => setHandle(e.target.value)}
47
48
disabled={isLoading}
48
49
/>
49
49
-
50
50
+
50
51
<TextInput
51
52
label="App Password"
52
53
type="password"
···
63
64
)}
64
65
65
66
<Stack gap="xs">
66
66
-
<Button
67
67
-
onClick={handleAppPasswordLogin}
67
67
+
<Button
68
68
+
onClick={handleAppPasswordLogin}
68
69
loading={isLoading}
69
70
disabled={!handle.trim() || !appPassword.trim()}
70
71
fullWidth
71
72
>
72
73
Sign In
73
74
</Button>
74
74
-
75
75
-
<Button
76
76
-
variant="subtle"
75
75
+
76
76
+
<Button
77
77
+
variant="subtle"
77
78
onClick={() => setShowAppPasswordForm(false)}
78
79
disabled={isLoading}
79
80
fullWidth
···
93
94
<Button onClick={handleSignIn} fullWidth>
94
95
Sign In
95
96
</Button>
96
96
-
<Anchor
97
97
-
size="sm"
97
97
+
<Anchor
98
98
+
size="sm"
98
99
onClick={() => setShowAppPasswordForm(true)}
99
100
style={{ cursor: 'pointer' }}
100
101
>
+1
-7
src/webapp/popup.tsx
View file
Reviewed
···
4
4
} from './hooks/useExtensionAuth';
5
5
import { SaveCardPage } from './components/extension/SaveCardPage';
6
6
import { SignInPage } from './components/extension/SignInPage';
7
7
-
import {
8
8
-
Card,
9
9
-
MantineProvider,
10
10
-
ScrollArea,
11
11
-
Text,
12
12
-
Stack,
13
13
-
} from '@mantine/core';
7
7
+
import { Card, MantineProvider, ScrollArea, Text, Stack } from '@mantine/core';
14
8
import '@mantine/core/styles.css';
15
9
import { theme } from '@/styles/theme';
16
10