refactor(timestamp): migrate pageTheme constants to Timestamp feature

Remove config/pageTheme.ts and move DATE_FORMAT, ZONES, UnitType, ZoneType
to pages/Timestamp/constants.ts for better feature cohesion.
This commit is contained in:
雨霖铃
2026-05-23 12:57:51 +08:00
parent 6bac88fbc4
commit 8b2bca9eef
6 changed files with 12 additions and 62 deletions
-56
View File
@@ -1,56 +0,0 @@
export const DATE_FORMAT = 'YYYY/MM/DD HH:mm:ss';
export const ZONES = ['Asia/Shanghai', 'America/New_York', 'Europe/London'] as const;
export type UnitType = 'ms' | 's';
export type ZoneType = (typeof ZONES)[number];
export const THEME_COLORS = {
primary: '#1976d2',
primaryDark: '#1565c0',
primaryLight: '#42a5f5',
success: '#2e7d32',
successDark: '#1b5e20',
successLight: '#4caf50',
warning: '#e65100',
warningDark: '#bf360c',
warningLight: '#ff9800',
error: '#c62828',
errorDark: '#b71c1c',
errorLight: '#f44336',
purple: '#6a1b9a',
purpleDark: '#4a148c',
purpleLight: '#9c27b0',
indigo: '#303f9f',
indigoDark: '#1a237e',
indigoLight: '#7986cb',
white: '#FFFFFF',
black: '#000000',
} as const;
export const STATUS_COLORS = {
success: THEME_COLORS.success,
warning: THEME_COLORS.warning,
error: THEME_COLORS.error,
info: THEME_COLORS.primary,
} as const;
export const timestampPageStyles = {
primaryColor: THEME_COLORS.primary,
};
export const storageCleanerPageStyles = {
warningColor: THEME_COLORS.warning,
};
export const qrCodePageStyles = {
primaryColor: THEME_COLORS.success,
};
export const textStatisticsPageStyles = {
primaryColor: THEME_COLORS.purple,
};
export const base64ConverterPageStyles = {
primaryColor: THEME_COLORS.indigo,
};
+1 -1
View File
@@ -2,7 +2,7 @@ import React, { useCallback, useEffect, useRef, useState } from 'react';
import { Clock } from 'lucide-react'; import { Clock } from 'lucide-react';
import CopyButton from '@/components/CopyButton'; import CopyButton from '@/components/CopyButton';
import { useSnackbar } from '@/components/GlobalSnackbar'; import { useSnackbar } from '@/components/GlobalSnackbar';
import type { UnitType } from '@/config/pageTheme'; import type { UnitType } from './constants';
import { useLazyTranslation } from '@/utils/useLazyTranslation'; import { useLazyTranslation } from '@/utils/useLazyTranslation';
import { cn } from '@/lib/utils'; // 引入标准的 shadcn 工具函数 import { cn } from '@/lib/utils'; // 引入标准的 shadcn 工具函数
+2 -2
View File
@@ -1,8 +1,8 @@
import React, { useMemo } from 'react'; import React, { useMemo } from 'react';
import dayjs from '@/utils/dayjs'; import dayjs from '@/utils/dayjs';
import CopyButton from '@/components/CopyButton'; import CopyButton from '@/components/CopyButton';
import type { UnitType } from '@/config/pageTheme'; import type { UnitType } from './constants';
import { DATE_FORMAT } from '@/config/pageTheme'; // 彻底移除了非语义的 timestampPageStyles 依赖 import { DATE_FORMAT } from './constants';
import { useLazyTranslation } from '@/utils/useLazyTranslation'; import { useLazyTranslation } from '@/utils/useLazyTranslation';
import { cn } from '@/lib/utils'; // shadcn 核心类名合并工具 import { cn } from '@/lib/utils'; // shadcn 核心类名合并工具
+6
View File
@@ -0,0 +1,6 @@
export const DATE_FORMAT = 'YYYY/MM/DD HH:mm:ss';
export const ZONES = ['Asia/Shanghai', 'America/New_York', 'Europe/London'] as const;
export type UnitType = 'ms' | 's';
export type ZoneType = (typeof ZONES)[number];
+1 -1
View File
@@ -1,7 +1,7 @@
import { Clock } from 'lucide-react'; import { Clock } from 'lucide-react';
import PageHeader from '@/components/PageHeader'; import PageHeader from '@/components/PageHeader';
import SwitchButtonGroup from '@/components/SwitchButtonGroup'; import SwitchButtonGroup from '@/components/SwitchButtonGroup';
import { ZONES } from '@/config/pageTheme'; import { ZONES } from './constants';
import LiveClock from './LiveClock'; import LiveClock from './LiveClock';
import ResultView from './ResultView'; import ResultView from './ResultView';
import { useTimestampConverter } from './useTimestampConverter'; import { useTimestampConverter } from './useTimestampConverter';
+2 -2
View File
@@ -1,7 +1,7 @@
import { useCallback, useMemo, useState } from 'react'; import { useCallback, useMemo, useState } from 'react';
import dayjs from '@/utils/dayjs'; import dayjs from '@/utils/dayjs';
import type { UnitType, ZoneType } from '@/config/pageTheme'; import type { UnitType, ZoneType } from './constants';
import { DATE_FORMAT } from '@/config/pageTheme'; import { DATE_FORMAT } from './constants';
import { useLazyTranslation } from '@/utils/useLazyTranslation'; import { useLazyTranslation } from '@/utils/useLazyTranslation';
import { useContextMenuData } from '@/utils/useContextMenuData'; import { useContextMenuData } from '@/utils/useContextMenuData';