diff --git a/src/components/Avatar.tsx b/src/components/Avatar.tsx index 61ad5cf7..6968dfba 100644 --- a/src/components/Avatar.tsx +++ b/src/components/Avatar.tsx @@ -1,26 +1,50 @@ +import classNames from "classnames"; + import { UserIcon } from "@/components/UserIcon"; import { AccountProfile } from "@/pages/parts/auth/AccountCreatePart"; import { useAuthStore } from "@/stores/auth"; export interface AvatarProps { profile: AccountProfile["profile"]; + sizeClass?: string; + iconClass?: string; } export function Avatar(props: AvatarProps) { return (
- +
); } -export function UserAvatar() { +export function UserAvatar(props: { + sizeClass?: string; + iconClass?: string; + bottom?: React.ReactNode; +}) { const auth = useAuthStore(); if (!auth.account) return null; - return ; + return ( +
+ + {props.bottom ? ( +
+ {props.bottom} +
+ ) : null} +
+ ); } diff --git a/src/components/layout/BrandPill.tsx b/src/components/layout/BrandPill.tsx index ea9fc081..929b6d18 100644 --- a/src/components/layout/BrandPill.tsx +++ b/src/components/layout/BrandPill.tsx @@ -1,3 +1,4 @@ +import classNames from "classnames"; import { useTranslation } from "react-i18next"; import { Icon, Icons } from "@/components/Icon"; @@ -5,16 +6,19 @@ import { Icon, Icons } from "@/components/Icon"; export function BrandPill(props: { clickable?: boolean; hideTextOnMobile?: boolean; + backgroundClass?: string; }) { const { t } = useTranslation(); return (
}> + }> Oh, you're asking for the key to my top-secret lair, also known as The Fortress of Wordsmithery, accessed only by reciting the sacred diff --git a/src/pages/settings/AccountEditPart.tsx b/src/pages/settings/AccountEditPart.tsx index d2765e30..35f9e645 100644 --- a/src/pages/settings/AccountEditPart.tsx +++ b/src/pages/settings/AccountEditPart.tsx @@ -1,9 +1,41 @@ +import { UserAvatar } from "@/components/Avatar"; +import { Button } from "@/components/Button"; +import { Icon, Icons } from "@/components/Icon"; import { SettingsCard } from "@/components/layout/SettingsCard"; +import { AuthInputBox } from "@/components/text-inputs/AuthInputBox"; +import { useAuth } from "@/hooks/auth/useAuth"; export function AccountEditPart() { + const { logout } = useAuth(); + return ( - -

Account editing will go here

+ +
+
+ + + Edit +
+ } + /> +
+
+
+ + +
+ + +
+
+
+
); } diff --git a/themes/default.ts b/themes/default.ts index 0aee35d9..be3755ff 100644 --- a/themes/default.ts +++ b/themes/default.ts @@ -56,7 +56,7 @@ export const defaultTheme = { dimmed: "#926CAD", divider: "#262632", secondary: "#64647B", - danger: "#F46E6E" + danger: "#F46E6E", }, // search bar @@ -95,7 +95,7 @@ export const defaultTheme = { text: "#846D95", secondary: "#73739D", border: "#272742", - contentBackground: "#232337" + contentBackground: "#232337", }, // Passphrase @@ -149,6 +149,13 @@ export const defaultTheme = { circleText: "#9A9AC3", }, + // About page + editBadge: { + bg: "#262632", + bgHover: "#343443", + text: "#9A9AC3", + }, + progress: { background: "#8787A8", preloaded: "#8787A8",