Some checks failed
Deploy to Production / Build and Deploy (push) Has been cancelled
- Fix React bug #33580: remove Suspense boundaries co-located with Link components - Delete settings/loading.tsx and admin/loading.tsx (root cause of race condition) - Convert all admin navigation from Next.js Link to anchor tags - Move admin pages to dedicated (admin) route group - Add AdminHeader matching main header visual design - Add AdminSidebar with anchor-based navigation - Add /api/admin/models route handler (replaces server actions for GET) - Add /api/debug/client-error for server-side browser error reporting - Add useNoteRefreshOptional() to fix crash in AdminHeader - Hide Admin Dashboard menu for non-admin users - Change app icons from yellow to blue (#3A7CA5) matching brand primary - Fix admin search bar width to match main header Made-with: Cursor
25 lines
855 B
TypeScript
25 lines
855 B
TypeScript
import { AdminProvidersWrapper } from '@/components/admin-providers-wrapper'
|
|
import { detectUserLanguage } from '@/lib/i18n/detect-user-language'
|
|
import { loadTranslations } from '@/lib/i18n/load-translations'
|
|
|
|
// No <Suspense> here intentionally: combining a Suspense boundary with <Link>
|
|
// components inside the subtree triggers a React production-only bug (React
|
|
// issue #33580, Next.js issue #63388) causing Error #310 "too many re-renders".
|
|
export default async function AdminGroupLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode
|
|
}) {
|
|
const initialLanguage = await detectUserLanguage()
|
|
const initialTranslations = await loadTranslations(initialLanguage)
|
|
|
|
return (
|
|
<AdminProvidersWrapper
|
|
initialLanguage={initialLanguage}
|
|
initialTranslations={initialTranslations}
|
|
>
|
|
{children}
|
|
</AdminProvidersWrapper>
|
|
)
|
|
}
|