import type { Metadata } from "next"; import Link from "next/link"; import { Bell, Building2, CalendarClock, ClipboardList, Crown, ScissorsSquare } from "lucide-react"; import { redirect } from "next/navigation"; import { auth } from "@/auth"; import { ProfileCard } from "@/components/ui/profile-card"; import { SignOutButton } from "@/features/auth/components/sign-out-button"; import { hasPermission } from "@/lib/auth/permissions"; import { Permission } from "@/generated/prisma/enums"; import { getBranding } from "@/lib/business/branding"; import { InstallAppButton } from "@/features/pwa/components/install-app-button"; export const metadata: Metadata = { title: "Owner Settings" }; export const dynamic = "force-dynamic"; const SETTINGS_LINKS = [ { href: "/owner/settings/business", label: "Business Details", icon: Building2 }, { href: "/owner/settings/hours", label: "Opening Hours", icon: CalendarClock }, { href: "/owner/settings/booking-rules", label: "Booking Rules", icon: ClipboardList }, { href: "/owner/settings/loyalty", label: "Loyalty Programme", icon: Crown }, { href: "/staff/settings/notifications", label: "Notifications", icon: Bell }, ] as const; export default async function OwnerSettingsPage() { const session = await auth(); if (!session?.user) redirect("/sign-in"); const canManage = await hasPermission(session.user.id, Permission.MANAGE_STAFF); if (!canManage) redirect("/staff"); const branding = await getBranding(); return (
Get the app