Enhance dashboard greeting with user-specific welcome message #73

Merged
Hammond merged 1 commits from feat/booking-panel into master 2025-12-06 01:24:10 +00:00

View File

@ -25,6 +25,7 @@ import {
import { useAppTheme } from "@/components/ThemeProvider"; import { useAppTheme } from "@/components/ThemeProvider";
import { getAllUsers } from "@/lib/actions/auth"; import { getAllUsers } from "@/lib/actions/auth";
import { getAppointmentStats, listAppointments } from "@/lib/actions/appointments"; import { getAppointmentStats, listAppointments } from "@/lib/actions/appointments";
import { useAuth } from "@/hooks/useAuth";
import { toast } from "sonner"; import { toast } from "sonner";
import type { User } from "@/lib/models/auth"; import type { User } from "@/lib/models/auth";
import type { Appointment } from "@/lib/models/appointments"; import type { Appointment } from "@/lib/models/appointments";
@ -62,6 +63,7 @@ export default function Dashboard() {
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
const [timePeriod, setTimePeriod] = useState<string>("last_month"); const [timePeriod, setTimePeriod] = useState<string>("last_month");
const { theme } = useAppTheme(); const { theme } = useAppTheme();
const { user } = useAuth();
const isDark = theme === "dark"; const isDark = theme === "dark";
useEffect(() => { useEffect(() => {
@ -254,7 +256,7 @@ export default function Dashboard() {
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-6"> <div className="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-6">
<div> <div>
<h1 className={`text-2xl font-semibold mb-1 ${isDark ? "text-white" : "text-gray-900"}`}> <h1 className={`text-2xl font-semibold mb-1 ${isDark ? "text-white" : "text-gray-900"}`}>
Welcome Back! Hammond Welcome Back! {user?.first_name || ""}
</h1> </h1>
<p className={`text-sm ${isDark ? "text-gray-400" : "text-gray-500"}`}> <p className={`text-sm ${isDark ? "text-gray-400" : "text-gray-500"}`}>
Here's an overview of your practice today Here's an overview of your practice today