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
feat: account summary styling
author
Pouria Delfanazari
date
2 months ago
(May 6, 2026, 2:19 PM -0700)
commit
00e68b69
00e68b6910a983aa05ec671b68bf5a97935a4fbd
parent
72c3795f
72c3795f82dce07595e101110c0d033dcff87f4c
+35
-21
2 changed files
Expand all
Collapse all
Unified
Split
src
webapp
features
settings
components
accountSummary
AccountSummary.module.css
AccountSummary.tsx
+9
src/webapp/features/settings/components/accountSummary/AccountSummary.module.css
View file
Reviewed
···
1
1
+
.root {
2
2
+
@mixin light {
3
3
+
background-color: var(--mantine-color-gray-1);
4
4
+
}
5
5
+
6
6
+
@mixin dark {
7
7
+
background-color: var(--mantine-color-dark-4);
8
8
+
}
9
9
+
}
+26
-21
src/webapp/features/settings/components/accountSummary/AccountSummary.tsx
View file
Reviewed
···
1
1
-
import { Group, Stack, Text } from '@mantine/core';
1
1
+
import { Card, Group, Stack, Text } from '@mantine/core';
2
2
import { createServerSembleClient } from '@/services/server.apiClient';
3
3
import { verifySessionOnServer } from '@/lib/auth/dal.server';
4
4
import { LinkAvatar } from '@/components/link/MantineLink';
5
5
import { isBotAccount } from '@/features/platforms/bluesky/lib/utils/account';
6
6
import BotLabel from '@/features/profile/components/botLabel/BotLabel';
7
7
+
import classes from './AccountSummary.module.css';
7
8
8
9
export default async function AccountSummary() {
9
10
await verifySessionOnServer({ redirectOnFail: true });
···
12
13
const profile = await client.getMyProfile();
13
14
14
15
return (
15
15
-
<Stack gap={'xs'} align="center">
16
16
-
<LinkAvatar
17
17
-
href={`/profile/${profile.handle}`}
18
18
-
src={profile.avatarUrl?.replace('avatar', 'avatar_thumbnail')}
19
19
-
alt={`${profile.name}'s avatar`}
20
20
-
size={'xl'}
21
21
-
radius={'lg'}
22
22
-
/>
23
23
-
<Stack gap={0} align="center">
24
24
-
<Group gap={'xs'} wrap="nowrap">
25
25
-
<Text fw={600} fz={'h3'} c={'bright'}>
26
26
-
{profile.name}
27
27
-
</Text>
28
28
-
{isBotAccount(profile) && <BotLabel />}
29
29
-
</Group>
16
16
+
<Card p={'sm'} radius={'lg'} classNames={{ root: classes.root }}>
17
17
+
<Group gap={'xs'}>
18
18
+
<LinkAvatar
19
19
+
href={`/profile/${profile.handle}`}
20
20
+
src={profile.avatarUrl?.replace('avatar', 'avatar_thumbnail')}
21
21
+
alt={`${profile.name}'s avatar`}
22
22
+
size={'lg'}
23
23
+
radius={'md'}
24
24
+
/>
25
25
+
<Stack gap={'xs'}>
26
26
+
<Stack gap={0}>
27
27
+
<Group gap={'xs'} wrap="nowrap">
28
28
+
<Text fw={600} fz={'lg'} c={'bright'}>
29
29
+
{profile.name}
30
30
+
</Text>
31
31
+
{isBotAccount(profile) && <BotLabel />}
32
32
+
</Group>
30
33
31
31
-
<Text fw={500} fz={'h4'} c={'gray'}>
32
32
-
@{profile.handle}
33
33
-
</Text>
34
34
-
</Stack>
35
35
-
</Stack>
34
34
+
<Text fw={600} fz={'lg'} c={'gray'}>
35
35
+
@{profile.handle}
36
36
+
</Text>
37
37
+
</Stack>
38
38
+
</Stack>
39
39
+
</Group>
40
40
+
</Card>
36
41
);
37
42
}