)
diff --git a/packages/admin/src/routes/_authenticated/accounts/$accountId/members.tsx b/packages/admin/src/routes/_authenticated/accounts/$accountId/members.tsx
index 589bc78..5bf9b6b 100644
--- a/packages/admin/src/routes/_authenticated/accounts/$accountId/members.tsx
+++ b/packages/admin/src/routes/_authenticated/accounts/$accountId/members.tsx
@@ -281,7 +281,7 @@ function MembersTab() {
navigate({
to: '/members/$memberId',
params: { memberId: m.id },
- search: {} as Record,
+ search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const },
})}>
Edit
diff --git a/packages/admin/src/routes/_authenticated/index.tsx b/packages/admin/src/routes/_authenticated/index.tsx
index 2cc6eaa..f78ca9a 100644
--- a/packages/admin/src/routes/_authenticated/index.tsx
+++ b/packages/admin/src/routes/_authenticated/index.tsx
@@ -2,6 +2,6 @@ import { createFileRoute, redirect } from '@tanstack/react-router'
export const Route = createFileRoute('/_authenticated/')({
beforeLoad: () => {
- throw redirect({ to: '/accounts', search: {} as Record })
+ throw redirect({ to: '/accounts', search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })
},
})
diff --git a/packages/admin/src/routes/_authenticated/inventory/$productId.tsx b/packages/admin/src/routes/_authenticated/inventory/$productId.tsx
index 8f35893..526f175 100644
--- a/packages/admin/src/routes/_authenticated/inventory/$productId.tsx
+++ b/packages/admin/src/routes/_authenticated/inventory/$productId.tsx
@@ -159,7 +159,7 @@ function ProductDetailPage() {
})
function setTab(t: string) {
- navigate({ to: '/inventory/$productId', params: { productId }, search: { tab: t } as Record })
+ navigate({ to: '/inventory/$productId', params: { productId }, search: { tab: t } })
}
function handleQtySave() {
@@ -192,7 +192,7 @@ function ProductDetailPage() {
{/* Header */}
- navigate({ to: '/inventory', search: {} as Record })}>
+ navigate({ to: '/inventory', search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}>
diff --git a/packages/admin/src/routes/_authenticated/inventory/index.tsx b/packages/admin/src/routes/_authenticated/inventory/index.tsx
index bb877fa..d9cf96c 100644
--- a/packages/admin/src/routes/_authenticated/inventory/index.tsx
+++ b/packages/admin/src/routes/_authenticated/inventory/index.tsx
@@ -71,7 +71,7 @@ function InventoryPage() {
queryClient.invalidateQueries({ queryKey: productKeys.all })
toast.success('Product created')
setCreateOpen(false)
- navigate({ to: '/inventory/$productId', params: { productId: product.id }, search: {} as Record })
+ navigate({ to: '/inventory/$productId', params: { productId: product.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })
},
onError: (err) => toast.error(err.message),
})
@@ -83,23 +83,23 @@ function InventoryPage() {
function handleCategoryChange(v: string) {
setCategoryFilter(v === 'all' ? '' : v)
- navigate({ to: '/inventory', search: { ...search, categoryId: v === 'all' ? undefined : v, page: 1 } as Record })
+ navigate({ to: '/inventory', search: { ...search, categoryId: v === 'all' ? undefined : v, page: 1 } })
}
function handleActiveChange(v: string) {
setActiveFilter(v === 'all' ? '' : v)
- navigate({ to: '/inventory', search: { ...search, isActive: v === 'all' ? undefined : v, page: 1 } as Record })
+ navigate({ to: '/inventory', search: { ...search, isActive: v === 'all' ? undefined : v, page: 1 } })
}
function handleTypeChange(v: string) {
setTypeFilter(v === 'all' ? '' : v)
- navigate({ to: '/inventory', search: { ...search, type: v === 'all' ? undefined : v, page: 1 } as Record })
+ navigate({ to: '/inventory', search: { ...search, type: v === 'all' ? undefined : v, page: 1 } })
}
function handleLowStockChange(v: string) {
const on = v === 'true'
setLowStockFilter(on)
- navigate({ to: '/inventory', search: { ...search, lowStock: on ? 'true' : undefined, page: 1 } as Record })
+ navigate({ to: '/inventory', search: { ...search, lowStock: on ? 'true' : undefined, page: 1 } })
}
const columns: Column[] = [
@@ -246,7 +246,7 @@ function InventoryPage() {
order={params.order}
onPageChange={setPage}
onSort={setSort}
- onRowClick={(p) => navigate({ to: '/inventory/$productId', params: { productId: p.id }, search: {} as Record })}
+ onRowClick={(p) => navigate({ to: '/inventory/$productId', params: { productId: p.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}
/>
)
diff --git a/packages/admin/src/routes/_authenticated/lessons/enrollments/$enrollmentId.tsx b/packages/admin/src/routes/_authenticated/lessons/enrollments/$enrollmentId.tsx
index 1c88f64..e52e2da 100644
--- a/packages/admin/src/routes/_authenticated/lessons/enrollments/$enrollmentId.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/enrollments/$enrollmentId.tsx
@@ -81,7 +81,7 @@ function EnrollmentDetailPage() {
const tab = search.tab
function setTab(t: string) {
- navigate({ to: '/lessons/enrollments/$enrollmentId', params: { enrollmentId }, search: { tab: t } as Record })
+ navigate({ to: '/lessons/enrollments/$enrollmentId', params: { enrollmentId }, search: { tab: t } })
}
const { data: enrollment, isLoading } = useQuery(enrollmentDetailOptions(enrollmentId))
@@ -131,7 +131,7 @@ function EnrollmentDetailPage() {
return (
- navigate({ to: '/lessons/enrollments', search: {} as Record })}>
+ navigate({ to: '/lessons/enrollments', search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}>
Back
@@ -344,7 +344,7 @@ function SessionsTab({ enrollmentId, onGenerate, generating }: { enrollmentId: s
total={data?.data?.length ?? 0}
onPageChange={() => {}}
onSort={() => {}}
- onRowClick={(s) => navigate({ to: '/lessons/sessions/$sessionId', params: { sessionId: s.id }, search: {} as Record })}
+ onRowClick={(s) => navigate({ to: '/lessons/sessions/$sessionId', params: { sessionId: s.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}
/>
)
@@ -383,7 +383,7 @@ function LessonPlanTab({ enrollmentId, memberId, canEdit }: { enrollmentId: stri
queryClient.invalidateQueries({ queryKey: lessonPlanKeys.all })
toast.success('Plan created from template')
setTemplatePickerOpen(false)
- navigate({ to: '/lessons/plans/$planId', params: { planId: plan.id }, search: {} as Record })
+ navigate({ to: '/lessons/plans/$planId', params: { planId: plan.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })
},
onError: (err) => toast.error(err.message),
})
@@ -401,7 +401,7 @@ function LessonPlanTab({ enrollmentId, memberId, canEdit }: { enrollmentId: stri
{Math.round(activePlan.progress)}% complete
- navigate({ to: '/lessons/plans/$planId', params: { planId: activePlan.id }, search: {} as Record })}>
+ navigate({ to: '/lessons/plans/$planId', params: { planId: activePlan.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}>
View Plan
diff --git a/packages/admin/src/routes/_authenticated/lessons/enrollments/index.tsx b/packages/admin/src/routes/_authenticated/lessons/enrollments/index.tsx
index c62611f..c14753a 100644
--- a/packages/admin/src/routes/_authenticated/lessons/enrollments/index.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/enrollments/index.tsx
@@ -72,7 +72,7 @@ function EnrollmentsListPage() {
function handleStatusChange(v: string) {
const s = v === 'all' ? '' : v
setStatusFilter(s)
- navigate({ to: '/lessons/enrollments', search: { ...search, status: s || undefined, page: 1 } as Record })
+ navigate({ to: '/lessons/enrollments', search: { ...search, status: s || undefined, page: 1 } })
}
return (
@@ -80,7 +80,7 @@ function EnrollmentsListPage() {
Enrollments
{hasPermission('lessons.edit') && (
- navigate({ to: '/lessons/enrollments/new', search: {} as Record })}>
+ navigate({ to: '/lessons/enrollments/new', search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}>
New Enrollment
)}
@@ -125,7 +125,7 @@ function EnrollmentsListPage() {
order={params.order}
onPageChange={setPage}
onSort={setSort}
- onRowClick={(e) => navigate({ to: '/lessons/enrollments/$enrollmentId', params: { enrollmentId: e.id }, search: {} as Record })}
+ onRowClick={(e) => navigate({ to: '/lessons/enrollments/$enrollmentId', params: { enrollmentId: e.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}
/>
)
diff --git a/packages/admin/src/routes/_authenticated/lessons/enrollments/new.tsx b/packages/admin/src/routes/_authenticated/lessons/enrollments/new.tsx
index c47ba82..88b95d2 100644
--- a/packages/admin/src/routes/_authenticated/lessons/enrollments/new.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/enrollments/new.tsx
@@ -108,7 +108,7 @@ function NewEnrollmentPage() {
},
onSuccess: (enrollment) => {
toast.success('Enrollment created')
- navigate({ to: '/lessons/enrollments/$enrollmentId', params: { enrollmentId: enrollment.id }, search: {} as Record })
+ navigate({ to: '/lessons/enrollments/$enrollmentId', params: { enrollmentId: enrollment.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })
},
onError: (err) => toast.error(err.message),
})
@@ -141,7 +141,7 @@ function NewEnrollmentPage() {
return (
- navigate({ to: '/lessons/enrollments', search: {} as Record })}>
+ navigate({ to: '/lessons/enrollments', search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}>
New Enrollment
@@ -282,7 +282,7 @@ function NewEnrollmentPage() {
{mutation.isPending ? 'Creating...' : 'Create Enrollment'}
- navigate({ to: '/lessons/enrollments', search: {} as Record })}>
+ navigate({ to: '/lessons/enrollments', search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}>
Cancel
diff --git a/packages/admin/src/routes/_authenticated/lessons/plans/$planId.tsx b/packages/admin/src/routes/_authenticated/lessons/plans/$planId.tsx
index 17c1863..ce461e9 100644
--- a/packages/admin/src/routes/_authenticated/lessons/plans/$planId.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/plans/$planId.tsx
@@ -93,7 +93,7 @@ function LessonPlanDetailPage() {
return (
- navigate({ to: '/lessons/plans', search: {} as Record })}>
+ navigate({ to: '/lessons/plans', search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}>
diff --git a/packages/admin/src/routes/_authenticated/lessons/plans/index.tsx b/packages/admin/src/routes/_authenticated/lessons/plans/index.tsx
index 9c27b4e..621008c 100644
--- a/packages/admin/src/routes/_authenticated/lessons/plans/index.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/plans/index.tsx
@@ -84,7 +84,7 @@ function LessonPlansPage() {
order={params.order}
onPageChange={setPage}
onSort={setSort}
- onRowClick={(p) => navigate({ to: '/lessons/plans/$planId', params: { planId: p.id }, search: {} as Record })}
+ onRowClick={(p) => navigate({ to: '/lessons/plans/$planId', params: { planId: p.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}
/>
)
diff --git a/packages/admin/src/routes/_authenticated/lessons/schedule/index.tsx b/packages/admin/src/routes/_authenticated/lessons/schedule/index.tsx
index 0dbe820..b36b969 100644
--- a/packages/admin/src/routes/_authenticated/lessons/schedule/index.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/schedule/index.tsx
@@ -49,7 +49,7 @@ function ScheduleHubPage() {
const canAdmin = hasPermission('lessons.admin')
function setTab(t: string) {
- navigate({ to: '/lessons/schedule', search: { ...search, tab: t, page: 1 } as Record })
+ navigate({ to: '/lessons/schedule', search: { ...search, tab: t, page: 1 } })
}
return (
@@ -152,7 +152,7 @@ function InstructorsTab({ canAdmin, search: _search }: { canAdmin: boolean; sear
order={params.order}
onPageChange={setPage}
onSort={setSort}
- onRowClick={(i) => navigate({ to: '/lessons/schedule/instructors/$instructorId', params: { instructorId: i.id }, search: {} as Record })}
+ onRowClick={(i) => navigate({ to: '/lessons/schedule/instructors/$instructorId', params: { instructorId: i.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}
/>
)
diff --git a/packages/admin/src/routes/_authenticated/lessons/schedule/instructors/$instructorId.tsx b/packages/admin/src/routes/_authenticated/lessons/schedule/instructors/$instructorId.tsx
index 9e5ff93..1a2033e 100644
--- a/packages/admin/src/routes/_authenticated/lessons/schedule/instructors/$instructorId.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/schedule/instructors/$instructorId.tsx
@@ -42,7 +42,7 @@ function InstructorDetailPage() {
const tab = search.tab
function setTab(t: string) {
- navigate({ to: '/lessons/schedule/instructors/$instructorId', params: { instructorId }, search: { tab: t } as Record })
+ navigate({ to: '/lessons/schedule/instructors/$instructorId', params: { instructorId }, search: { tab: t } })
}
const { data: instructor, isLoading } = useQuery(instructorDetailOptions(instructorId))
@@ -62,7 +62,7 @@ function InstructorDetailPage() {
return (
- navigate({ to: '/lessons/schedule', search: { tab: 'instructors' } as Record })}>
+ navigate({ to: '/lessons/schedule', search: { tab: 'instructors', page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}>
Back
diff --git a/packages/admin/src/routes/_authenticated/lessons/sessions/$sessionId.tsx b/packages/admin/src/routes/_authenticated/lessons/sessions/$sessionId.tsx
index c6a9a69..0824dae 100644
--- a/packages/admin/src/routes/_authenticated/lessons/sessions/$sessionId.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/sessions/$sessionId.tsx
@@ -126,7 +126,7 @@ function SessionDetailPage() {
return (
- navigate({ to: '/lessons/sessions', search: {} as Record })}>
+ navigate({ to: '/lessons/sessions', search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}>
@@ -137,7 +137,7 @@ function SessionDetailPage() {
}
+ search={{ tab: 'details' }}
className="text-sm text-primary hover:underline"
>
View Enrollment
diff --git a/packages/admin/src/routes/_authenticated/lessons/sessions/index.tsx b/packages/admin/src/routes/_authenticated/lessons/sessions/index.tsx
index 0177076..fa937b2 100644
--- a/packages/admin/src/routes/_authenticated/lessons/sessions/index.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/sessions/index.tsx
@@ -92,13 +92,13 @@ function SessionsPage() {
const weekEnd = endOfWeek(weekStart, { weekStartsOn: 0 })
function setView(v: 'list' | 'week') {
- navigate({ to: '/lessons/sessions', search: { ...search, view: v, page: 1 } as Record })
+ navigate({ to: '/lessons/sessions', search: { ...search, view: v, page: 1 } })
}
function handleStatusChange(v: string) {
const s = v === 'all' ? '' : v
setStatusFilter(s)
- navigate({ to: '/lessons/sessions', search: { ...search, status: s || undefined, page: 1 } as Record })
+ navigate({ to: '/lessons/sessions', search: { ...search, status: s || undefined, page: 1 } })
}
// List query
@@ -189,7 +189,7 @@ function SessionsPage() {
order={params.order}
onPageChange={setPage}
onSort={setSort}
- onRowClick={(s) => navigate({ to: '/lessons/sessions/$sessionId', params: { sessionId: s.id }, search: {} as Record })}
+ onRowClick={(s) => navigate({ to: '/lessons/sessions/$sessionId', params: { sessionId: s.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}
/>
>
)}
@@ -249,7 +249,7 @@ function SessionsPage() {
{daySessions.map((s) => (
navigate({ to: '/lessons/sessions/$sessionId', params: { sessionId: s.id }, search: {} as Record })}
+ onClick={() => navigate({ to: '/lessons/sessions/$sessionId', params: { sessionId: s.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}
className={`w-full text-left rounded border px-1.5 py-1 text-xs hover:opacity-80 transition-opacity ${STATUS_COLORS[s.status] ?? STATUS_COLORS.scheduled}`}
>
{formatTime(s.scheduledTime)}
diff --git a/packages/admin/src/routes/_authenticated/lessons/templates/$templateId.tsx b/packages/admin/src/routes/_authenticated/lessons/templates/$templateId.tsx
index 5bceff3..6a2c01c 100644
--- a/packages/admin/src/routes/_authenticated/lessons/templates/$templateId.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/templates/$templateId.tsx
@@ -42,7 +42,7 @@ function TemplateDetailPage() {
return (
- navigate({ to: '/lessons/templates', search: {} as Record })}>
+ navigate({ to: '/lessons/templates', search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}>
@@ -218,7 +218,7 @@ function InstantiateDialog({ template, templateId, open, onClose }: {
}),
onSuccess: (plan) => {
toast.success('Plan created from template')
- navigate({ to: '/lessons/plans/$planId', params: { planId: plan.id }, search: {} as Record })
+ navigate({ to: '/lessons/plans/$planId', params: { planId: plan.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })
},
onError: (err) => toast.error(err.message),
})
diff --git a/packages/admin/src/routes/_authenticated/lessons/templates/index.tsx b/packages/admin/src/routes/_authenticated/lessons/templates/index.tsx
index 8844746..e548127 100644
--- a/packages/admin/src/routes/_authenticated/lessons/templates/index.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/templates/index.tsx
@@ -96,7 +96,7 @@ function TemplatesListPage() {
Lesson Plan Templates
{canAdmin && (
- navigate({ to: '/lessons/templates/new', search: {} as Record })}>
+ navigate({ to: '/lessons/templates/new', search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}>
New Template
)}
@@ -126,7 +126,7 @@ function TemplatesListPage() {
order={params.order}
onPageChange={setPage}
onSort={setSort}
- onRowClick={(t) => navigate({ to: '/lessons/templates/$templateId', params: { templateId: t.id }, search: {} as Record })}
+ onRowClick={(t) => navigate({ to: '/lessons/templates/$templateId', params: { templateId: t.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })}
/>
)
diff --git a/packages/admin/src/routes/_authenticated/lessons/templates/new.tsx b/packages/admin/src/routes/_authenticated/lessons/templates/new.tsx
index ceaa5d4..0cd2dcc 100644
--- a/packages/admin/src/routes/_authenticated/lessons/templates/new.tsx
+++ b/packages/admin/src/routes/_authenticated/lessons/templates/new.tsx
@@ -45,7 +45,7 @@ function NewTemplatePage() {
}),
onSuccess: (template) => {
toast.success('Template created')
- navigate({ to: '/lessons/templates/$templateId', params: { templateId: template.id }, search: {} as Record })
+ navigate({ to: '/lessons/templates/$templateId', params: { templateId: template.id }, search: { page: 1, limit: 25, q: undefined, sort: undefined, order: 'asc' as const } })
},
onError: (err) => toast.error(err.message),
})
@@ -63,7 +63,7 @@ function NewTemplatePage() {
return (