mirror of
https://github.com/oiov/wr.do.git
synced 2026-06-05 19:39:18 +08:00
🆕 新增功能: - 添加存储桶容量限制配置功能,支持按存储桶设置最大容量 - 新增存储桶使用情况API端点 (/api/storage/bucket-usage) - 实现Plan配额和存储桶配额的分层显示 🎨 界面优化: - 存储使用情况面板支持双层配额显示 - 上传错误提示改为右对齐显示 - Toast通知位置改为右下角 - 为存储桶配置添加帮助提示 🔧 功能改进: - 优化上传前容量检查逻辑 - 改进错误信息显示,使用中文提示 - 智能显示更严格的配额限制 - 完善国际化支持 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
58 lines
1.9 KiB
TypeScript
58 lines
1.9 KiB
TypeScript
import "@/styles/globals.css";
|
|
|
|
import { fontHeading, fontSans, fontSatoshi } from "@/assets/fonts";
|
|
import { SessionProvider } from "next-auth/react";
|
|
import { NextIntlClientProvider } from "next-intl";
|
|
import { getLocale, getMessages } from "next-intl/server";
|
|
import { ThemeProvider } from "next-themes";
|
|
import { ViewTransitions } from "next-view-transitions";
|
|
|
|
import { cn, constructMetadata } from "@/lib/utils";
|
|
import { Toaster } from "@/components/ui/sonner";
|
|
import ModalProvider from "@/components/modals/providers";
|
|
import GoogleAnalytics from "@/components/shared/GoogleAnalytics";
|
|
import UmamiAnalytics from "@/components/shared/UmamiAnalytics";
|
|
import { TailwindIndicator } from "@/components/tailwind-indicator";
|
|
|
|
interface RootLayoutProps {
|
|
children: React.ReactNode;
|
|
}
|
|
|
|
export const metadata = constructMetadata();
|
|
|
|
export default async function RootLayout({ children }: RootLayoutProps) {
|
|
const locale = await getLocale();
|
|
const messages = await getMessages();
|
|
return (
|
|
<ViewTransitions>
|
|
<html lang={locale} suppressHydrationWarning>
|
|
<body
|
|
className={cn(
|
|
"min-h-screen bg-background font-sans antialiased",
|
|
fontSans.variable,
|
|
fontHeading.variable,
|
|
fontSatoshi.variable,
|
|
)}
|
|
>
|
|
<NextIntlClientProvider messages={messages}>
|
|
<SessionProvider>
|
|
<ThemeProvider
|
|
attribute="class"
|
|
defaultTheme="light"
|
|
enableSystem
|
|
disableTransitionOnChange
|
|
>
|
|
<ModalProvider>{children}</ModalProvider>
|
|
<Toaster richColors closeButton position="bottom-right" />
|
|
<TailwindIndicator />
|
|
</ThemeProvider>
|
|
</SessionProvider>
|
|
</NextIntlClientProvider>
|
|
<GoogleAnalytics />
|
|
<UmamiAnalytics />
|
|
</body>
|
|
</html>
|
|
</ViewTransitions>
|
|
);
|
|
}
|