diff --git a/src/app/(site)/settings/page.tsx b/src/app/(site)/settings/page.tsx index 2697aa42..b4071599 100644 --- a/src/app/(site)/settings/page.tsx +++ b/src/app/(site)/settings/page.tsx @@ -4,6 +4,7 @@ import Link from "next/link"; import { redirect } from "next/navigation"; import { getTranslations } from "next-intl/server"; import { updateMotto } from "@/actions/user-settings"; +import { SectionCard } from "@/components/home-section"; import { Reveal } from "@/components/motion-reveal"; import { auth } from "@/lib/auth"; import { db, User } from "@/lib/db"; @@ -47,18 +48,19 @@ export default async function SettingsPage() { {/* Header */}
-
-
- -

+
- {t("publicProfile")} -

-
-
-
-
- {`${user.username} -
-
-
-

- {user.username} -

-

- {user.motto || ( - - {t("noMotto")} - - )} -

-

- {user.mail || t("noEmail")} -

+ {`${user.username}
-
+
+

+ {user.username} +

+

+ {user.motto || ( + + {t("noMotto")} + + )} +

+

+ {user.mail || t("noEmail")} +

+
+ {/* Motto form */} -
-
- +
+ -

- {t("changeMotto")} -

-
-
-

- {t("changeMottoSubtitle")} -

- - + -
- -
-
+ > + {t("saveMotto")} + +
+ + {/* Security card */} -
-
+ {t("securityDescription")} +

+ - -

- {t("securityTitle")} -

-
-
-

- {t("securityDescription")} -

- - {t("twoFactorLink")} - -
-
+ {t("twoFactorLink")} + +
{/* Sessions link */}
= { - green: - "linear-gradient(140deg, #0A2F1A 0%, #0F3D22 20%, #154C2A 40%, #1B5A32 60%, #20683A 75%, #1A5A30 90%, #144826 100%)", - yellow: - "linear-gradient(140deg, #3A2F0A 0%, #4A3D0F 20%, #5A4C15 40%, #6A5A1B 60%, #7A6820 75%, #6A5A1A 90%, #5A4814 100%)", - red: "linear-gradient(140deg, #3A0F0A 0%, #4A1A0F 20%, #5A2515 40%, #6A301B 60%, #7A3B20 75%, #6A301A 90%, #5A2514 100%)", - blue: "linear-gradient(140deg, #0A1A3A 0%, #0F254A 20%, #15305A 40%, #1B3B6A 60%, #20467A 75%, #1A3B6A 90%, #14305A 100%)", + const tintMap: Record = { + green: "#16a34a", + yellow: "#d97706", + red: "#dc2626", + blue: "#2563eb", }; + const tint = tintMap[color] ?? tintMap.blue; return (
- {icon} -

{title}

+ + {icon} + +

+ {title} +

{icon}