Compare commits

..

4 commits

Author SHA1 Message Date
thislight
245f10ba5b
Profile: support locked acct
All checks were successful
/ depoly (push) Successful in 1m21s
2024-11-06 19:56:17 +08:00
thislight
9cb2a1292a
RegularToot: support locked acct 2024-11-06 19:55:51 +08:00
thislight
d7b27f037f
RegularToot: adjust retoot hint 2024-11-06 19:38:53 +08:00
thislight
f3ae69cd26
typography: fix 'undefined' class 2024-11-06 19:38:34 +08:00
5 changed files with 30 additions and 15 deletions

View file

@ -43,7 +43,7 @@ export function Typography<T extends AnyElement>(
<Dynamic <Dynamic
ref={managed.ref} ref={managed.ref}
component={managed.component ?? "span"} component={managed.component ?? "span"}
class={`${managed.class} ${managed.typography}`} class={`${managed.class || ""} ${managed.typography}`}
{...passthough} {...passthough}
></Dynamic> ></Dynamic>
); );

View file

@ -53,7 +53,7 @@
flex-flow: column nowrap; flex-flow: column nowrap;
} }
.bot-mark { .acct-mark {
font-size: 1.2em; font-size: 1.2em;
} }

View file

@ -33,6 +33,7 @@ import {
Edit, Edit,
ExpandMore, ExpandMore,
Group, Group,
Lock,
MoreVert, MoreVert,
OpenInBrowser, OpenInBrowser,
PersonOff, PersonOff,
@ -41,7 +42,6 @@ import {
Share, Share,
SmartToySharp, SmartToySharp,
Subject, Subject,
Translate,
Verified, Verified,
} from "@suid/icons-material"; } from "@suid/icons-material";
import { Body2, Title } from "../material/typography"; import { Body2, Title } from "../material/typography";
@ -372,13 +372,19 @@ const Profile: Component = () => {
<Menu {...subscribeMenuState}> <Menu {...subscribeMenuState}>
<MenuItem <MenuItem
onClick={toggleSubscribeHome} onClick={toggleSubscribeHome}
aria-details="Subscribe or Unsubscribe this account on your home timeline" aria-label={`${relationship()?.following ? "Unfollow" : "Follow"} on your home timeline`}
> >
<ListItemAvatar> <ListItemAvatar>
<Avatar src={session().account?.inf?.avatar}></Avatar> <Avatar src={session().account?.inf?.avatar}></Avatar>
</ListItemAvatar> </ListItemAvatar>
<ListItemText <ListItemText
secondary={relationship()?.following ? "Subscribed" : undefined} secondary={
relationship()?.following
? undefined
: profile()?.locked
? "A request will be sent"
: undefined
}
> >
<span ref={useSessionDisplayName}></span> <span ref={useSessionDisplayName}></span>
<span>'s Home</span> <span>'s Home</span>
@ -408,7 +414,10 @@ const Profile: Component = () => {
<div class="name-grp"> <div class="name-grp">
<div class="display-name"> <div class="display-name">
<Show when={profile()?.bot}> <Show when={profile()?.bot}>
<SmartToySharp class="bot-mark" aria-label="Bot" /> <SmartToySharp class="acct-mark" aria-label="Bot" />
</Show>
<Show when={profile()?.locked}>
<Lock class="acct-mark" aria-label="Locked" />
</Show> </Show>
<Body2 <Body2
component="span" component="span"

View file

@ -21,6 +21,7 @@ import {
Bookmark, Bookmark,
Share, Share,
SmartToySharp, SmartToySharp,
Lock,
} from "@suid/icons-material"; } from "@suid/icons-material";
import { useTimeSource } from "../platform/timesrc.js"; import { useTimeSource } from "../platform/timesrc.js";
import { resolveCustomEmoji } from "../masto/toot.js"; import { resolveCustomEmoji } from "../masto/toot.js";
@ -154,7 +155,10 @@ function TootAuthorGroup(
<div class={tootStyle.tootAuthorNameGrp}> <div class={tootStyle.tootAuthorNameGrp}>
<div class={tootStyle.tootAuthorNamePrimary}> <div class={tootStyle.tootAuthorNamePrimary}>
<Show when={toot().account.bot}> <Show when={toot().account.bot}>
<SmartToySharp class="bot-mark" aria-label="Bot" /> <SmartToySharp class="acct-mark" aria-label="Bot" />
</Show>
<Show when={toot().account.locked}>
<Lock class="acct-mark" aria-label="Locked" />
</Show> </Show>
<Body2 <Body2
component="span" component="span"
@ -369,7 +373,6 @@ const RegularToot: Component<TootCardProps> = (props) => {
<Show when={!!status().reblog}> <Show when={!!status().reblog}>
<div class={tootStyle.tootRetootGrp}> <div class={tootStyle.tootRetootGrp}>
<BoostIcon /> <BoostIcon />
<span>
<Body2 <Body2
ref={(e: { innerHTML: string }) => { ref={(e: { innerHTML: string }) => {
createRenderEffect(() => { createRenderEffect(() => {
@ -379,9 +382,8 @@ const RegularToot: Component<TootCardProps> = (props) => {
); );
}); });
}} }}
></Body2>{" "} ></Body2>
boosted <span>boosts</span>
</span>
</div> </div>
</Show> </Show>
<TootAuthorGroup <TootAuthorGroup

View file

@ -72,8 +72,9 @@
align-items: center; align-items: center;
gap: 4px; gap: 4px;
> :global(.bot-mark) { > :global(.acct-mark) {
font-size: 1.2em; font-size: 1.2em;
color: var(--tutu-color-secondary-text-on-surface);
} }
} }
@ -221,11 +222,14 @@
} }
.tootRetootGrp { .tootRetootGrp {
display: grid; display: flex;
grid-template-columns: auto 1fr auto; gap: 0.25em;
gap: 8px;
margin-bottom: 8px; margin-bottom: 8px;
align-items: center; align-items: center;
> :first-child {
margin-right: 0.25em;
}
} }
.tootAttachmentGrp { .tootAttachmentGrp {