- Add error.tsx and loading.tsx boundaries for admin, parent, student, teacher routes - Add admin announcements edit, audit-logs overview, curriculum-map, invitation-codes, permissions, questions, roles routes - Add admin elective detail and components, files, course-plans, users, scheduling boundaries - Add messages group-compose route - Add parent course-plans, elective, grades report-card, practice routes - Add student course-plans, elective detail, error-book dialogs, grades report-card, learning study-path, leave, schedule boundaries - Add teacher attendance report, classes boundaries, course-plans boundaries, elective, exams analytics/edit-rich/all/create/new, grades report-card, homework boundaries, leave, lesson-plans calendar - Add auth loading, onboarding loading, api cron
20 lines
651 B
TypeScript
20 lines
651 B
TypeScript
import { AuthLayout } from "@/modules/auth/components/auth-layout"
|
||
import { getBrandConfig } from "@/modules/settings/data-access-brand"
|
||
|
||
/**
|
||
* 认证页面布局(audit-P2-6: 注入品牌配置)
|
||
*
|
||
* Server Component:在渲染前从 system_settings 表读取品牌配置,
|
||
* 失败时 AuthLayout 使用 DEFAULT_BRAND_CONFIG 默认值。
|
||
*/
|
||
export default async function Layout({ children }: { children: React.ReactNode }) {
|
||
let brand
|
||
try {
|
||
brand = await getBrandConfig()
|
||
} catch {
|
||
// 数据库不可用时使用默认品牌配置,不阻断认证页面渲染
|
||
}
|
||
|
||
return <AuthLayout brand={brand}>{children}</AuthLayout>
|
||
}
|