feat(status): make the set-status menu work

feat(user): optimise get() function for react
qol(todos): update todos
This commit is contained in:
Alois 2026-08-10 13:48:32 +02:00
commit 1c90a0c859
Signed by: alois
SSH key fingerprint: SHA256:GBzT2DXvAuGV9XIV5W3WrzVpjU54FThmxHXdbz95J24
30 changed files with 572 additions and 324 deletions

View file

@ -15,7 +15,10 @@ export function Basic({
user,
extra,
}: {
user: User;
user: Pick<
User,
"Display" | "Username" | "Avatar" | "OnlineStatus" | "Status"
>;
extra?: React.ReactNode;
}) {
const display = user.Display || user.Username || "Unknown";
@ -57,8 +60,9 @@ export function Basic({
</TooltipContent>
</Tooltip>
</div>
<div className="flex w-full flex-col items-start justify-center gap-1 text-[15px]">
<div className="flex w-full flex-col items-start justify-center text-[15px]">
<p>{display}</p>
<p className="text-xs text-muted-foreground">{user.Status}</p>
</div>
<div className="pr-1">{extra}</div>
</Button>

View file

@ -4,7 +4,20 @@ import { Text } from "@methanium/ui/markdown";
import { ChevronDown, ChevronUp } from "lucide-react";
import { useState } from "react";
export default function Profile({ user }: { user: User }) {
export default function Profile({
user,
}: {
user: Pick<
User,
| "UserId"
| "Display"
| "Username"
| "Avatar"
| "About"
| "IotaId"
| "PublicKey"
>;
}) {
const [showAdvancedInformation, setShowAdvancedInformation] = useState(false);
return (