mirror of
https://github.com/temetro/temetro.git
synced 2026-08-27 19:06:52 +00:00
a4fc9a4fe9
Several navigation/UX additions: - Command palette (⌘K): components/command-palette.tsx wraps the app shell (mounted in app/(app)/layout.tsx) with a controlled COSS CommandDialog listing the nav pages; a "Quick nav" Kbd button in the sidebar footer also opens it. Installed @coss/kbd. Extracted the nav list into lib/nav.ts so the sidebar and palette share one source of truth. - Clinic switcher moved from the sidebar body into the footer; its menu now opens a read-only "Clinic info" dialog and a "Create clinic" dialog instead of routing to /onboarding. Shared CreateClinicForm (components/clinic/) is reused by onboarding. - Patients: clicking a row opens a right-side Sheet with the full record (components/patients/patient-detail-sheet.tsx) instead of navigating to the chat; PatientResult gained a vertical "column" layout for the Sheet. - New Analysis page (app/(app)/analysis/) — a mock dashboard (revenue/profit, patient volume, appointments, operations) reusing Sparkline + Card + Badge. - Logo: set metadata.icons so the new mark appears as the browser-tab favicon. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
30 lines
909 B
TypeScript
30 lines
909 B
TypeScript
"use client";
|
|
|
|
import { useRouter } from "next/navigation";
|
|
import { useEffect } from "react";
|
|
|
|
import { AuthShell } from "@/components/auth/auth-ui";
|
|
import { CreateClinicForm } from "@/components/clinic/create-clinic-form";
|
|
import { authClient } from "@/lib/auth-client";
|
|
|
|
export default function OnboardingPage() {
|
|
const router = useRouter();
|
|
const { data: session, isPending } = authClient.useSession();
|
|
|
|
// Send unauthenticated users to login. Authenticated users (whether brand
|
|
// new or creating an additional clinic) stay on this page.
|
|
useEffect(() => {
|
|
if (isPending) return;
|
|
if (!session?.user) router.replace("/login");
|
|
}, [session, isPending, router]);
|
|
|
|
return (
|
|
<AuthShell
|
|
subtitle="Create your clinic to start organizing patient records"
|
|
title="Set up your clinic"
|
|
>
|
|
<CreateClinicForm onCreated={() => router.push("/")} />
|
|
</AuthShell>
|
|
);
|
|
}
|