feat: 首页更新
This commit is contained in:
162
theme/Colors/index.ts
Normal file
162
theme/Colors/index.ts
Normal file
@@ -0,0 +1,162 @@
|
||||
/**
|
||||
* 主题颜色配置
|
||||
*
|
||||
* 可以通过 settingsStore 切换主题
|
||||
*/
|
||||
|
||||
const tintColorLight = '#10c8e3';
|
||||
const tintColorDark = '#ffd69f';
|
||||
const tintColorOrange = '#bd9534';
|
||||
|
||||
export default {
|
||||
light: {
|
||||
// 文本颜色
|
||||
text: '#000000',
|
||||
textSecondary: '#666666',
|
||||
textTertiary: '#999999',
|
||||
textInverse: '#FFFFFF',
|
||||
|
||||
// 背景颜色
|
||||
background: '#FFFFFF',
|
||||
backgroundSecondary: '#F5F5F5',
|
||||
backgroundTertiary: '#E5E5E5',
|
||||
|
||||
// 主题色
|
||||
tint: tintColorLight,
|
||||
primary: '#007AFF',
|
||||
secondary: '#5856D6',
|
||||
success: '#34C759',
|
||||
warning: '#FF9500',
|
||||
error: '#FF3B30',
|
||||
info: '#5AC8FA',
|
||||
|
||||
// 边框颜色
|
||||
border: '#E5E5E5',
|
||||
borderSecondary: '#D1D1D6',
|
||||
|
||||
// Tab 图标
|
||||
tabIconDefault: '#8E8E93',
|
||||
tabIconSelected: tintColorLight,
|
||||
|
||||
// 卡片
|
||||
card: '#FFFFFF',
|
||||
cardShadow: 'rgba(0, 0, 0, 0.1)',
|
||||
|
||||
// 输入框
|
||||
inputBackground: '#FFFFFF',
|
||||
inputBorder: '#D1D1D6',
|
||||
inputPlaceholder: '#C7C7CC',
|
||||
|
||||
// 按钮
|
||||
buttonPrimary: '#007AFF',
|
||||
buttonSecondary: '#5856D6',
|
||||
buttonDisabled: '#E5E5E5',
|
||||
buttonText: '#FFFFFF',
|
||||
|
||||
// 分隔线
|
||||
separator: '#E5E5E5',
|
||||
|
||||
// 覆盖层
|
||||
overlay: 'rgba(0, 0, 0, 0.5)',
|
||||
},
|
||||
orange: {
|
||||
// 文本颜色
|
||||
text: '#000000',
|
||||
textSecondary: '#666666',
|
||||
textTertiary: '#999999',
|
||||
textInverse: '#FFFFFF',
|
||||
|
||||
// 背景颜色
|
||||
background: '#FFFFFF',
|
||||
backgroundSecondary: '#F5F5F5',
|
||||
backgroundTertiary: '#E5E5E5',
|
||||
|
||||
// 主题色
|
||||
tint: tintColorOrange,
|
||||
primary: '#007AFF',
|
||||
secondary: '#5856D6',
|
||||
success: '#34C759',
|
||||
warning: '#FF9500',
|
||||
error: '#FF3B30',
|
||||
info: '#5AC8FA',
|
||||
|
||||
// 边框颜色
|
||||
border: '#E5E5E5',
|
||||
borderSecondary: '#D1D1D6',
|
||||
|
||||
// Tab 图标
|
||||
tabIconDefault: '#8E8E93',
|
||||
tabIconSelected: tintColorOrange,
|
||||
|
||||
// 卡片
|
||||
card: '#FFFFFF',
|
||||
cardShadow: 'rgba(0, 0, 0, 0.1)',
|
||||
|
||||
// 输入框
|
||||
inputBackground: '#FFFFFF',
|
||||
inputBorder: '#D1D1D6',
|
||||
inputPlaceholder: '#C7C7CC',
|
||||
|
||||
// 按钮
|
||||
buttonPrimary: '#007AFF',
|
||||
buttonSecondary: '#5856D6',
|
||||
buttonDisabled: '#E5E5E5',
|
||||
buttonText: '#FFFFFF',
|
||||
|
||||
// 分隔线
|
||||
separator: '#E5E5E5',
|
||||
|
||||
// 覆盖层
|
||||
overlay: 'rgba(0, 0, 0, 0.5)',
|
||||
},
|
||||
dark: {
|
||||
// 文本颜色
|
||||
text: '#FFFFFF',
|
||||
textSecondary: '#AEAEB2',
|
||||
textTertiary: '#8E8E93',
|
||||
textInverse: '#000000',
|
||||
|
||||
// 背景颜色
|
||||
background: '#000000',
|
||||
backgroundSecondary: '#1C1C1E',
|
||||
backgroundTertiary: '#2C2C2E',
|
||||
|
||||
// 主题色
|
||||
tint: tintColorDark,
|
||||
primary: '#0A84FF',
|
||||
secondary: '#5E5CE6',
|
||||
success: '#32D74B',
|
||||
warning: '#FF9F0A',
|
||||
error: '#FF453A',
|
||||
info: '#64D2FF',
|
||||
|
||||
// 边框颜色
|
||||
border: '#38383A',
|
||||
borderSecondary: '#48484A',
|
||||
|
||||
// Tab 图标
|
||||
tabIconDefault: '#8E8E93',
|
||||
tabIconSelected: tintColorDark,
|
||||
|
||||
// 卡片
|
||||
card: '#1C1C1E',
|
||||
cardShadow: 'rgba(0, 0, 0, 0.3)',
|
||||
|
||||
// 输入框
|
||||
inputBackground: '#1C1C1E',
|
||||
inputBorder: '#38383A',
|
||||
inputPlaceholder: '#636366',
|
||||
|
||||
// 按钮
|
||||
buttonPrimary: '#0A84FF',
|
||||
buttonSecondary: '#5E5CE6',
|
||||
buttonDisabled: '#38383A',
|
||||
buttonText: '#FFFFFF',
|
||||
|
||||
// 分隔线
|
||||
separator: '#38383A',
|
||||
|
||||
// 覆盖层
|
||||
overlay: 'rgba(0, 0, 0, 0.7)',
|
||||
},
|
||||
};
|
||||
@@ -1,11 +1,11 @@
|
||||
/**
|
||||
* 主题系统统一导出
|
||||
*
|
||||
*
|
||||
* 提供主题配置、工具函数和类型定义
|
||||
*/
|
||||
|
||||
// 导出颜色配置
|
||||
export { default as Colors } from '@/constants/Colors';
|
||||
export { default as Colors } from './Colors';
|
||||
|
||||
// 导出主题 Hooks
|
||||
export {
|
||||
@@ -23,6 +23,9 @@ export {
|
||||
View as ThemeView,
|
||||
} from '@/components/Themed';
|
||||
|
||||
// 导出主题类型
|
||||
export { ThemeEnum } from '@/constants/theme';
|
||||
|
||||
export type {
|
||||
ThemedTextProps,
|
||||
ThemedViewProps,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*/
|
||||
|
||||
import { StyleSheet, TextStyle, ViewStyle } from 'react-native';
|
||||
import Colors from '@/constants/Colors';
|
||||
import { Colors } from '@/theme';
|
||||
import { ThemeEnum } from '@/constants/theme';
|
||||
|
||||
/**
|
||||
@@ -53,7 +53,7 @@ export function createThemeStyles<T extends StyleSheet.NamedStyles<T>>(
|
||||
return {
|
||||
light: StyleSheet.create(createStyles(Colors.light)),
|
||||
dark: StyleSheet.create(createStyles(Colors.dark)),
|
||||
orange: StyleSheet.create(createStyles(Colors.light)),
|
||||
orange: StyleSheet.create(createStyles(Colors.orange)),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ export function createResponsiveThemeStyles<T extends StyleSheet.NamedStyles<T>>
|
||||
return {
|
||||
light: StyleSheet.create(lightStyles),
|
||||
dark: StyleSheet.create(darkStyles),
|
||||
orange: StyleSheet.create(lightStyles),
|
||||
orange: StyleSheet.create(orangeStyles),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* 提供主题相关的辅助函数
|
||||
*/
|
||||
|
||||
import Colors from '@/constants/Colors';
|
||||
import { Colors } from '@/theme';
|
||||
import { ThemeEnum } from '@/constants/theme';
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user