All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 1m25s
- Add DeepSeek, OpenRouter, Mistral, Z.AI, LM Studio as AI providers with editable model names via Combobox in admin settings - Fix OpenRouter broken by normalizeProvider bug in config.ts - Convert agent-created notes from Markdown to HTML (TipTap rich text) - Add Notification model + in-app notifications for agent results - Agent notification click opens the created note directly - Add note count display on notebook and inbox headers - Fix checklist toggle in card view (persist state via localCheckItems) - Add checklist creation option in tabs/list view (dropdown on + button) - Fix image description ENOENT error with HTTP fallback - Improve UI contrast across all themes (input, border, checkbox visibility) - Add font family setting (Inter vs System Default) in Appearance settings - Fix CSS font-sans variable conflict (removed dead Geist references) - Update README with new features and 8 providers Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
28 lines
1.0 KiB
TypeScript
28 lines
1.0 KiB
TypeScript
import { AdminProvidersWrapper } from '@/components/admin-providers-wrapper'
|
|
import { headers } from 'next/headers'
|
|
import { detectUserLanguage, parseAcceptLanguage } 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 headersList = await headers()
|
|
const browserLang = parseAcceptLanguage(headersList.get('accept-language'))
|
|
const initialLanguage = await detectUserLanguage(browserLang)
|
|
const initialTranslations = await loadTranslations(initialLanguage)
|
|
|
|
return (
|
|
<AdminProvidersWrapper
|
|
initialLanguage={initialLanguage}
|
|
initialTranslations={initialTranslations}
|
|
>
|
|
{children}
|
|
</AdminProvidersWrapper>
|
|
)
|
|
}
|