layout.tsx 986 B

123456789101112131415161718192021222324252627282930313233343536
  1. import type { Metadata } from "next";
  2. import "./globals.css"; // Global styles
  3. import { ThemeProvider } from "@/components/ThemeProvider";
  4. import { LayoutProvider } from "@/components/LayoutProvider";
  5. import { AuthProvider } from "@/components/AuthProvider";
  6. export const metadata: Metadata = {
  7. title: "SEEC-Analysis 学生评价平台",
  8. description: "基于多维度指标的学生能力数据可视化与分析平台",
  9. icons: {
  10. icon: "/images/profile-avatar.png",
  11. },
  12. };
  13. export default function RootLayout({
  14. children,
  15. }: {
  16. children: React.ReactNode;
  17. }) {
  18. return (
  19. <html lang="en" suppressHydrationWarning>
  20. <body suppressHydrationWarning>
  21. <ThemeProvider
  22. attribute="class"
  23. defaultTheme="system"
  24. enableSystem
  25. disableTransitionOnChange
  26. >
  27. <AuthProvider>
  28. <LayoutProvider>{children}</LayoutProvider>
  29. </AuthProvider>
  30. </ThemeProvider>
  31. </body>
  32. </html>
  33. );
  34. }