feat: production-readiness pass
Deploy to route.crispygoat.com / deploy (push) Successful in 5m46s

- Migrate login page to atelier design system (editorial modal style)
- Polish root error.tsx, not-found.tsx, loading.tsx with atelier design
- Add JSON-LD structured data: SoftwareApplication + LocalBusiness
- Fix next.config.ts outputFileTracingRoot absolute path warning
- Add force-dynamic to protected-example (uses cookies)
- Add proper type for stops page (replace : any)
- Fix unescaped quotes in StopTableClient
- Fix no-explicit-any in db-schema route
- Clean up console.logs in admin-permissions
- Fix inline any in admin/stops page
- Update OG image references to existing og-default.svg
This commit is contained in:
Tyler
2026-06-16 23:11:35 -06:00
parent 244551ce70
commit 83ad6536a3
14 changed files with 500 additions and 281 deletions
+16 -2
View File
@@ -23,7 +23,21 @@ export default async function AdminStopsPage({ searchParams }: PageProps) {
if (!adminUser) return <AdminAccessDenied />;
if (!adminUser.can_manage_stops) redirect("/admin/pickup");
let stops: unknown[] = [];
interface DbStopRow {
id: string;
city: string;
state: string;
date: Date | string;
time: string | null;
location: string;
status: string;
brand_id: string;
address: string | null;
zip: string | null;
cutoff_date: string | null;
brand_name?: string;
}
let stops: DbStopRow[] = [];
let error: string | null = null;
// Resolve active brand from cookie/URL (respects platform_admin "All brands" = null)
@@ -83,7 +97,7 @@ export default async function AdminStopsPage({ searchParams }: PageProps) {
}
// Transform stops for the client component
const stopsForClient = stops.map((s: any) => ({
const stopsForClient = stops.map((s) => ({
id: s.id,
city: s.city,
state: s.state,