98 lines
2.1 KiB
TypeScript
98 lines
2.1 KiB
TypeScript
// src/views/Company/components/CompanyOverview/BasicInfoTab/config.ts
|
||
// Tab 配置 + 黑金主题配置
|
||
|
||
import { IconType } from "react-icons";
|
||
import {
|
||
FaShareAlt,
|
||
FaUserTie,
|
||
FaSitemap,
|
||
FaInfoCircle,
|
||
} from "react-icons/fa";
|
||
|
||
// 主题类型定义
|
||
export interface Theme {
|
||
bg: string;
|
||
cardBg: string;
|
||
tableBg: string;
|
||
tableHoverBg: string;
|
||
gold: string;
|
||
goldLight: string;
|
||
textPrimary: string;
|
||
textSecondary: string;
|
||
border: string;
|
||
tabSelected: {
|
||
bg: string;
|
||
color: string;
|
||
};
|
||
tabUnselected: {
|
||
color: string;
|
||
};
|
||
}
|
||
|
||
// 黑金主题配置
|
||
// 注:文字颜色使用更亮的金色(#F4D03F)以提高对比度
|
||
export const THEME: Theme = {
|
||
bg: "gray.900",
|
||
cardBg: "gray.800",
|
||
tableBg: "gray.700",
|
||
tableHoverBg: "gray.600",
|
||
gold: "#F4D03F", // 亮黄金色(用于文字,对比度更好)
|
||
goldLight: "#F0D78C", // 浅金色(用于次要文字)
|
||
textPrimary: "white",
|
||
textSecondary: "gray.400",
|
||
border: "rgba(212, 175, 55, 0.3)", // 边框保持原色
|
||
tabSelected: {
|
||
bg: "#D4AF37", // 选中背景保持深金色
|
||
color: "gray.900",
|
||
},
|
||
tabUnselected: {
|
||
color: "#F4D03F", // 未选中使用亮金色
|
||
},
|
||
};
|
||
|
||
// Tab 配置类型
|
||
export interface TabConfig {
|
||
key: string;
|
||
name: string;
|
||
icon: IconType;
|
||
enabled: boolean;
|
||
}
|
||
|
||
// Tab 配置
|
||
export const TAB_CONFIG: TabConfig[] = [
|
||
{
|
||
key: "shareholder",
|
||
name: "股权结构",
|
||
icon: FaShareAlt,
|
||
enabled: true,
|
||
},
|
||
{
|
||
key: "management",
|
||
name: "管理团队",
|
||
icon: FaUserTie,
|
||
enabled: true,
|
||
},
|
||
{
|
||
key: "branches",
|
||
name: "分支机构",
|
||
icon: FaSitemap,
|
||
enabled: true,
|
||
},
|
||
{
|
||
key: "business",
|
||
name: "工商信息",
|
||
icon: FaInfoCircle,
|
||
enabled: true,
|
||
},
|
||
];
|
||
|
||
// 获取启用的 Tab 列表
|
||
export const getEnabledTabs = (enabledKeys?: string[]): TabConfig[] => {
|
||
if (!enabledKeys || enabledKeys.length === 0) {
|
||
return TAB_CONFIG.filter((tab) => tab.enabled);
|
||
}
|
||
return TAB_CONFIG.filter(
|
||
(tab) => tab.enabled && enabledKeys.includes(tab.key)
|
||
);
|
||
};
|