feat(admin): 站点外观 - 支持 Tab 分类与主题渐变按钮配置
This commit is contained in:
@@ -1,18 +1,20 @@
|
||||
import type { ThemeConfig } from "antd";
|
||||
import { theme as antdTheme } from "antd";
|
||||
import { getSkinAntOverrides } from "@/lib/skin-themes";
|
||||
|
||||
/** Isolated Ant Design theme for the admin console. Does not read product skins. */
|
||||
export function getIsolatedAdminAntTheme(dark: boolean): ThemeConfig {
|
||||
/** 后台保留独立密度与表面,主操作颜色继承站点皮肤。 */
|
||||
export function getIsolatedAdminAntTheme(dark: boolean, skinID: unknown = "classic"): ThemeConfig {
|
||||
const skin = getSkinAntOverrides(skinID, dark ? "dark" : "light");
|
||||
const text = dark ? "#f5f5f5" : "#111111";
|
||||
const textSecondary = dark ? "#c4c4c4" : "#525252";
|
||||
const canvas = dark ? "#0f0f0f" : "#f5f5f5";
|
||||
const surface = dark ? "#181818" : "#ffffff";
|
||||
const surfaceMuted = dark ? "#222222" : "#f6f6f6";
|
||||
const border = dark ? "rgba(245, 245, 245, 0.12)" : "rgba(17, 17, 17, 0.12)";
|
||||
const primary = dark ? "#f5f5f5" : "#111111";
|
||||
const primaryFg = dark ? "#0f0f0f" : "#ffffff";
|
||||
const hover = dark ? "#ffffff" : "#2a2a2a";
|
||||
const active = dark ? "#d4d4d4" : "#404040";
|
||||
const primary = skin.primary || (dark ? "#f5f5f5" : "#171717");
|
||||
const primaryFg = skin.primaryForeground || (dark ? "#171717" : "#ffffff");
|
||||
const hover = skin.primaryHover || (dark ? "#ffffff" : "#303030");
|
||||
const active = skin.primaryActive || (dark ? "#e5e5e5" : "#404040");
|
||||
const danger = dark ? "#f87171" : "#dc2626";
|
||||
const success = dark ? "#4ade80" : "#15803d";
|
||||
const warning = dark ? "#fbbf24" : "#b45309";
|
||||
@@ -34,6 +36,7 @@ export function getIsolatedAdminAntTheme(dark: boolean): ThemeConfig {
|
||||
controlHeightSM: 28,
|
||||
controlHeightLG: 36,
|
||||
lineWidth: 1,
|
||||
controlOutlineWidth: 0,
|
||||
colorPrimary: primary,
|
||||
colorPrimaryHover: hover,
|
||||
colorPrimaryActive: active,
|
||||
@@ -65,7 +68,11 @@ export function getIsolatedAdminAntTheme(dark: boolean): ThemeConfig {
|
||||
paddingInline: 12,
|
||||
paddingInlineSM: 8,
|
||||
primaryShadow: "none",
|
||||
defaultShadow: "none",
|
||||
dangerShadow: "none",
|
||||
colorPrimary: primary,
|
||||
colorPrimaryHover: hover,
|
||||
colorPrimaryActive: active,
|
||||
defaultBg: surface,
|
||||
defaultColor: text,
|
||||
defaultBorderColor: border,
|
||||
@@ -89,10 +96,14 @@ export function getIsolatedAdminAntTheme(dark: boolean): ThemeConfig {
|
||||
},
|
||||
Select: {
|
||||
borderRadius: 6,
|
||||
activeOutlineColor: "transparent",
|
||||
optionPadding: "7px 10px",
|
||||
optionSelectedBg: surfaceMuted,
|
||||
optionActiveBg: surfaceMuted,
|
||||
},
|
||||
DatePicker: {
|
||||
activeShadow: "none",
|
||||
},
|
||||
Switch: {
|
||||
colorPrimary: switchOn,
|
||||
colorPrimaryHover: switchOn,
|
||||
|
||||
@@ -195,7 +195,6 @@
|
||||
top: 50%;
|
||||
left: calc(var(--admin-sidebar-width) - 11px);
|
||||
z-index: 4;
|
||||
display: grid;
|
||||
width: 22px;
|
||||
height: 36px;
|
||||
place-items: center;
|
||||
|
||||
Reference in New Issue
Block a user