first commit

This commit is contained in:
Dhananjaya99
2026-09-28 11:48:14 +05:30
commit a1b870fa8a
242 changed files with 39483 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
import { PageSkeleton } from "@/components/hexa/page-skeleton"
export default function Loading() {
return <PageSkeleton variant="chart-list" />
}
+5
View File
@@ -0,0 +1,5 @@
import { AttendanceView } from "@/components/hexa/views/attendance-view"
export default function AttendancePage() {
return <AttendanceView />
}
+5
View File
@@ -0,0 +1,5 @@
import { BookingsView } from "@/components/hexa/views/bookings-view"
export default function BookingsPage() {
return <BookingsView />
}
@@ -0,0 +1,5 @@
import { PageSkeleton } from "@/components/hexa/page-skeleton"
export default function Loading() {
return <PageSkeleton variant="stats-table" />
}
@@ -0,0 +1,5 @@
import { CustomerPaymentsView } from "@/components/hexa/views/customer-payments-view"
export default function CustomerPaymentsPage() {
return <CustomerPaymentsView />
}
+5
View File
@@ -0,0 +1,5 @@
import { PageSkeleton } from "@/components/hexa/page-skeleton"
export default function Loading() {
return <PageSkeleton variant="stats-cards" />
}
+5
View File
@@ -0,0 +1,5 @@
import { FeedView } from "@/components/hexa/views/feed-view"
export default function FeedPage() {
return <FeedView />
}
+38
View File
@@ -0,0 +1,38 @@
"use client"
import * as React from "react"
import { usePathname, useRouter } from "next/navigation"
import { isLoggedIn } from "@/lib/auth/token-service"
import { Spinner } from "@/components/ui/spinner"
import { DashboardShell } from "@/components/hexa/dashboard-shell"
import { ClientProfileProvider } from "@/components/hexa/client-profile-context"
export default function DashboardLayout({ children }: { children: React.ReactNode }) {
const router = useRouter()
const pathname = usePathname()
const [checked, setChecked] = React.useState(false)
React.useEffect(() => {
if (!isLoggedIn()) {
router.replace(`/login?next=${encodeURIComponent(pathname || "/dashboard")}`)
return
}
// eslint-disable-next-line react-hooks/set-state-in-effect -- one-time auth-gate check against localStorage, not derived from props/state
setChecked(true)
}, [router, pathname])
if (!checked) {
return (
<div className="flex min-h-screen items-center justify-center">
<Spinner className="size-6" />
</div>
)
}
return (
<ClientProfileProvider>
<DashboardShell notificationCount={3}>{children}</DashboardShell>
</ClientProfileProvider>
)
}
+5
View File
@@ -0,0 +1,5 @@
import { PageSkeleton } from "@/components/hexa/page-skeleton"
export default function Loading() {
return <PageSkeleton variant="chart-list" />
}
+5
View File
@@ -0,0 +1,5 @@
import { PageSkeleton } from "@/components/hexa/page-skeleton"
export default function Loading() {
return <PageSkeleton variant="stats-table" />
}
+5
View File
@@ -0,0 +1,5 @@
import { MealPlansView } from "@/components/hexa/views/meal-plans-view"
export default function MealPlansPage() {
return <MealPlansView />
}
+5
View File
@@ -0,0 +1,5 @@
import { PageSkeleton } from "@/components/hexa/page-skeleton"
export default function Loading() {
return <PageSkeleton variant="stats-table" />
}
+5
View File
@@ -0,0 +1,5 @@
import { MembersView } from "@/components/hexa/views/members-view"
export default function MembersPage() {
return <MembersView />
}
@@ -0,0 +1,5 @@
import { PageSkeleton } from "@/components/hexa/page-skeleton"
export default function Loading() {
return <PageSkeleton variant="stats-cards" />
}
+5
View File
@@ -0,0 +1,5 @@
import { MembershipsView } from "@/components/hexa/views/memberships-view"
export default function MembershipsPage() {
return <MembershipsView />
}
+5
View File
@@ -0,0 +1,5 @@
import { DashboardOverviewView } from "@/components/hexa/views/dashboard-overview-view"
export default function DashboardOverviewPage() {
return <DashboardOverviewView />
}
+5
View File
@@ -0,0 +1,5 @@
import { PageSkeleton } from "@/components/hexa/page-skeleton"
export default function Loading() {
return <PageSkeleton variant="chart-list" />
}
+5
View File
@@ -0,0 +1,5 @@
import { ReportsView } from "@/components/hexa/views/reports-view"
export default function ReportsPage() {
return <ReportsView />
}
+11
View File
@@ -0,0 +1,11 @@
import * as React from "react"
import { SettingsView } from "@/components/hexa/views/settings-view"
export default function SettingsPage() {
return (
<React.Suspense fallback={null}>
<SettingsView />
</React.Suspense>
)
}
+5
View File
@@ -0,0 +1,5 @@
import { PageSkeleton } from "@/components/hexa/page-skeleton"
export default function Loading() {
return <PageSkeleton variant="stats-table" />
}
+5
View File
@@ -0,0 +1,5 @@
import { StaffView } from "@/components/hexa/views/staff-view"
export default function StaffPage() {
return <StaffView />
}
+5
View File
@@ -0,0 +1,5 @@
import { PageSkeleton } from "@/components/hexa/page-skeleton"
export default function Loading() {
return <PageSkeleton variant="stats-table" />
}
+5
View File
@@ -0,0 +1,5 @@
import { TicketsView } from "@/components/hexa/views/tickets-view"
export default function TicketsPage() {
return <TicketsView />
}
@@ -0,0 +1,5 @@
import { PageSkeleton } from "@/components/hexa/page-skeleton"
export default function Loading() {
return <PageSkeleton variant="stats-table" />
}
+5
View File
@@ -0,0 +1,5 @@
import { WorkoutPlansView } from "@/components/hexa/views/workout-plans-view"
export default function WorkoutPlansPage() {
return <WorkoutPlansView />
}