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>
20 lines
622 B
TypeScript
20 lines
622 B
TypeScript
'use server'
|
|
|
|
import { headers } from 'next/headers'
|
|
import { detectUserLanguage, parseAcceptLanguage } from '@/lib/i18n/detect-user-language'
|
|
import { SupportedLanguage } from '@/lib/i18n/load-translations'
|
|
|
|
/**
|
|
* Server action to detect user's preferred language
|
|
* Called on app load to set initial language
|
|
*/
|
|
export async function getInitialLanguage(): Promise<SupportedLanguage> {
|
|
try {
|
|
const headersList = await headers()
|
|
const browserLang = parseAcceptLanguage(headersList.get('accept-language'))
|
|
return await detectUserLanguage(browserLang)
|
|
} catch {
|
|
return await detectUserLanguage()
|
|
}
|
|
}
|