style: remove glass transparency from popup surfaces
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled

This commit is contained in:
Your Name 2026-02-23 23:04:49 +08:00
parent 7c30d8afee
commit d8a9e15426
8 changed files with 33 additions and 33 deletions

View File

@ -2811,7 +2811,7 @@ export function AdminSettingsClient() {
{/* 图片详情弹窗 */}
<Dialog open={!!selectedImage} onOpenChange={(open) => !open && setSelectedImage(null)}>
<DialogContent className="max-w-3xl max-h-[85vh] overflow-y-auto bg-background">
<DialogContent className="max-w-3xl max-h-[85vh] overflow-y-auto !bg-white !dark:bg-zinc-950">
<DialogHeader>
<DialogTitle className="flex items-center gap-2">
{selectedImage?.recordType === "video" ? "视频详情" : "图片详情"}
@ -2903,7 +2903,7 @@ export function AdminSettingsClient() {
<SelectTrigger className="h-8 w-[180px]">
<SelectValue placeholder="选择分类" />
</SelectTrigger>
<SelectContent>
<SelectContent className="!bg-white !dark:bg-zinc-950">
<SelectItem value="__none__">未分类</SelectItem>
{featuredCategoryOptions.map((category) => (
<SelectItem key={category} value={category}>
@ -4947,10 +4947,10 @@ export function AdminSettingsClient() {
<Plus className="mr-2 h-4 w-4" /> 添加视频
</Button>
</DialogTrigger>
<DialogContent className="max-w-2xl">
<DialogHeader>
<DialogTitle>{editingTutorialVideo ? "编辑视频" : "添加视频"}</DialogTitle>
</DialogHeader>
<DialogContent className="max-w-2xl !bg-white !dark:bg-zinc-950">
<DialogHeader>
<DialogTitle>{editingTutorialVideo ? "编辑视频" : "添加视频"}</DialogTitle>
</DialogHeader>
<div className="space-y-4">
<div className="space-y-2">
<Label>视频标题 *</Label>
@ -4972,7 +4972,7 @@ export function AdminSettingsClient() {
<SelectTrigger className="w-[140px]">
<SelectValue placeholder="压缩质量" />
</SelectTrigger>
<SelectContent>
<SelectContent className="!bg-white !dark:bg-zinc-950">
<SelectItem value="low">低质量 (小)</SelectItem>
<SelectItem value="medium">中等 (推荐)</SelectItem>
<SelectItem value="high">高质量 (大)</SelectItem>
@ -5328,11 +5328,11 @@ export function AdminSettingsClient() {
</div>
<Dialog open={showNavLinkDialog} onOpenChange={setShowNavLinkDialog}>
<DialogTrigger asChild>
<Button onClick={() => { resetNavLinkForm(); setShowNavLinkDialog(true); }}>
<Plus className="mr-2 h-4 w-4" /> 添加链接
</Button>
</DialogTrigger>
<DialogContent>
<Button onClick={() => { resetNavLinkForm(); setShowNavLinkDialog(true); }}>
<Plus className="mr-2 h-4 w-4" /> 添加链接
</Button>
</DialogTrigger>
<DialogContent className="!bg-white !dark:bg-zinc-950">
<DialogHeader>
<DialogTitle>{editingNavLink ? "编辑链接" : "添加链接"}</DialogTitle>
</DialogHeader>
@ -5879,11 +5879,11 @@ export function AdminSettingsClient() {
</div>
<Dialog open={showProviderDialog} onOpenChange={setShowProviderDialog}>
<DialogTrigger asChild>
<Button onClick={() => { resetProviderForm(); setShowProviderDialog(true); }}>
<Plus className="mr-2 h-4 w-4" /> 添加提供商
</Button>
</DialogTrigger>
<DialogContent>
<Button onClick={() => { resetProviderForm(); setShowProviderDialog(true); }}>
<Plus className="mr-2 h-4 w-4" /> 添加提供商
</Button>
</DialogTrigger>
<DialogContent className="!bg-white !dark:bg-zinc-950">
<DialogHeader>
<DialogTitle>{editingProvider ? "编辑提供商" : "添加提供商"}</DialogTitle>
</DialogHeader>
@ -5924,7 +5924,7 @@ export function AdminSettingsClient() {
>
<SelectTrigger><SelectValue /></SelectTrigger>
<SelectContent
className="max-h-72 overflow-y-auto overscroll-contain"
className="max-h-72 overflow-y-auto overscroll-contain !bg-white !dark:bg-zinc-950"
onWheelCapture={(event) => event.stopPropagation()}
>
{PROVIDER_TYPES.map((type) => (
@ -6041,7 +6041,7 @@ export function AdminSettingsClient() {
<Plus className="mr-2 h-4 w-4" /> 添加模型
</Button>
</DialogTrigger>
<DialogContent>
<DialogContent className="!bg-white !dark:bg-zinc-950">
<DialogHeader>
<DialogTitle>{editingModel ? "编辑模型" : "添加模型"}</DialogTitle>
</DialogHeader>
@ -6053,7 +6053,7 @@ export function AdminSettingsClient() {
onValueChange={(value) => setModelForm({ ...modelForm, providerId: value })}
>
<SelectTrigger><SelectValue placeholder="选择提供商" /></SelectTrigger>
<SelectContent>
<SelectContent className="!bg-white !dark:bg-zinc-950">
{providersData?.providers?.map((p) => (
<SelectItem key={p.id} value={p.id}>{p.name}</SelectItem>
))}
@ -6557,7 +6557,7 @@ export function AdminSettingsClient() {
<Plus className="mr-2 h-4 w-4" /> 添加配置
</Button>
</DialogTrigger>
<DialogContent className="bg-background">
<DialogContent className="!bg-white !dark:bg-zinc-950">
<DialogHeader>
<DialogTitle>{editingStorage ? "编辑配置" : "添加配置"}</DialogTitle>
</DialogHeader>
@ -6576,7 +6576,7 @@ export function AdminSettingsClient() {
onValueChange={(value) => setStorageForm({ ...storageForm, type: value as any })}
>
<SelectTrigger><SelectValue /></SelectTrigger>
<SelectContent>
<SelectContent className="!bg-white !dark:bg-zinc-950">
<SelectItem value="s3">S3 兼容</SelectItem>
<SelectItem value="local">本地存储</SelectItem>
</SelectContent>
@ -7816,7 +7816,7 @@ export function AdminSettingsClient() {
{/* 批量设置出图限额对话框 */}
<Dialog open={showBatchLimitDialog} onOpenChange={setShowBatchLimitDialog}>
<DialogContent className="sm:max-w-[500px] bg-background">
<DialogContent className="sm:max-w-[500px] !bg-white !dark:bg-zinc-950">
<DialogHeader>
<DialogTitle>批量设置出图限额</DialogTitle>
</DialogHeader>
@ -7834,7 +7834,7 @@ export function AdminSettingsClient() {
<SelectTrigger>
<SelectValue placeholder="选择设置范围" />
</SelectTrigger>
<SelectContent>
<SelectContent className="!bg-white !dark:bg-zinc-950">
<SelectItem value="all">所有用户</SelectItem>
<SelectItem value="department">按部门设置</SelectItem>
<SelectItem value="no_department">无部门用户</SelectItem>
@ -7853,7 +7853,7 @@ export function AdminSettingsClient() {
<SelectTrigger>
<SelectValue placeholder="选择部门" />
</SelectTrigger>
<SelectContent className="max-h-60 overflow-y-auto">
<SelectContent className="max-h-60 overflow-y-auto !bg-white !dark:bg-zinc-950">
{departmentsData?.departments?.map((dept) => (
<SelectItem key={dept} value={dept}>
{dept}

View File

@ -36,7 +36,7 @@ const AlertDialogContent = React.forwardRef<
<AlertDialogPrimitive.Content
ref={ref}
className={cn(
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background/90 p-6 shadow-lg backdrop-blur-md duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
className
)}
{...props}

View File

@ -47,7 +47,7 @@ const DropdownMenuSubContent = React.forwardRef<
<DropdownMenuPrimitive.SubContent
ref={ref}
className={cn(
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover/90 p-1 text-popover-foreground shadow-lg backdrop-blur-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
className
)}
{...props}
@ -65,7 +65,7 @@ const DropdownMenuContent = React.forwardRef<
ref={ref}
sideOffset={sideOffset}
className={cn(
"z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover/90 p-1 text-popover-foreground shadow-md backdrop-blur-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
"z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
className
)}
{...props}

View File

@ -18,7 +18,7 @@ const HoverCardContent = React.forwardRef<
align={align}
sideOffset={sideOffset}
className={cn(
"z-50 w-64 rounded-md border bg-popover/90 p-4 text-popover-foreground shadow-md backdrop-blur-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",
"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",
className
)}
{...props}

View File

@ -21,7 +21,7 @@ const PopoverContent = React.forwardRef<
align={align}
sideOffset={sideOffset}
className={cn(
"z-50 w-72 rounded-md border bg-popover/90 p-4 text-popover-foreground shadow-md backdrop-blur-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
className
)}
{...props}

View File

@ -75,7 +75,7 @@ const SelectContent = React.forwardRef<
<SelectPrimitive.Content
ref={ref}
className={cn(
"relative z-[10000] max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover/90 text-popover-foreground shadow-md backdrop-blur-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",
"relative z-[10000] max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",
position === "popper" &&
"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
className

View File

@ -31,7 +31,7 @@ const SheetOverlay = React.forwardRef<
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName
const sheetVariants = cva(
"fixed z-50 gap-4 bg-background/90 p-6 shadow-lg backdrop-blur-md transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
{
variants: {
side: {

View File

@ -20,7 +20,7 @@ const TooltipContent = React.forwardRef<
ref={ref}
sideOffset={sideOffset}
className={cn(
"z-[10000] overflow-hidden rounded-md border bg-popover/90 px-3 py-1.5 text-sm text-popover-foreground shadow-md backdrop-blur-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",
"z-[10000] overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",
className
)}
{...props}