import { Outlet, redirect } from "react-router"; import { Link, useLocation } from "react-router"; import { useTranslation } from "react-i18next"; import type { Route } from "./+types/settings"; import { getSessionUser } from "~/lib/auth/session.server"; export function meta() { return [{ title: "Settings — trails.cool" }]; } export async function loader({ request }: Route.LoaderArgs) { const user = await getSessionUser(request); if (!user) throw redirect("/auth/login"); return { username: user.username }; } interface NavItem { to: string; labelKey: string; } const NAV: NavItem[] = [ { to: "/settings/profile", labelKey: "settings.nav.profile" }, { to: "/settings/account", labelKey: "settings.nav.account" }, { to: "/settings/security", labelKey: "settings.nav.security" }, { to: "/settings/connections", labelKey: "settings.nav.connections" }, ]; export default function SettingsLayout() { const { t } = useTranslation("journal"); const location = useLocation(); return (