style: remove glass transparency from popup surfaces
This commit is contained in:
parent
7c30d8afee
commit
d8a9e15426
@ -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}
|
||||
|
||||
@ -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}
|
||||
|
||||
@ -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}
|
||||
|
||||
@ -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}
|
||||
|
||||
@ -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}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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: {
|
||||
|
||||
@ -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}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user