mirror of
https://gitee.com/mirrors/AllinSSL.git
synced 2026-03-18 12:08:49 +08:00
【同步】前端项目源码
【修复】工作流兼容问题
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
import type { ThemeTemplate, PresetConfig } from '../../types'
|
||||
import './style.css'
|
||||
|
||||
// 预设变量,用于继承预设主题
|
||||
const presets: PresetConfig = {
|
||||
Modal: {
|
||||
preset: 'card',
|
||||
},
|
||||
}
|
||||
|
||||
// 默认亮色主题
|
||||
const defaultLight: ThemeTemplate = {
|
||||
name: 'defaultLight', // 主题标识
|
||||
type: 'light', // 主题类型,可选值为 light、dark,用于继承预设主题
|
||||
title: '默认亮色主题', // 主题名称
|
||||
themeOverrides: {
|
||||
common: {
|
||||
borderRadius: '0.6rem', // 圆角
|
||||
},
|
||||
}, // 主题变量
|
||||
presetsOverrides: presets, // 预设变量
|
||||
}
|
||||
|
||||
// 默认暗色主题
|
||||
const defaultDark: ThemeTemplate = {
|
||||
name: 'defaultDark',
|
||||
type: 'dark',
|
||||
title: '默认暗色主题',
|
||||
themeOverrides: {
|
||||
common: {
|
||||
// baseColor: '#F1F1F1', // 基础色
|
||||
primaryColor: '#4caf50', // 主色
|
||||
primaryColorHover: '#20a53a', // 主色悬停
|
||||
primaryColorPressed: '#157f3a', // 主色按下
|
||||
primaryColorSuppl: '#4caf50', // 主色补充
|
||||
borderRadius: '0.6rem', // 圆角
|
||||
},
|
||||
|
||||
Popover: {
|
||||
// color: '#ffffff', // 弹出层背景色
|
||||
},
|
||||
Button: {
|
||||
textColorPrimary: '#ffffff', // 主按钮文本色
|
||||
textColorHoverPrimary: '#ffffff', // 主按钮文本色悬停
|
||||
textColorPressedPrimary: '#ffffff', // 主按钮文本色按下
|
||||
textColorFocusPrimary: '#ffffff', // 主按钮文本色聚焦
|
||||
},
|
||||
Radio: {
|
||||
buttonTextColorActive: '#ffffff', // 单选框文本色
|
||||
},
|
||||
},
|
||||
presetsOverrides: presets, // 预设变量
|
||||
}
|
||||
|
||||
export { defaultLight, defaultDark }
|
||||
@@ -0,0 +1,53 @@
|
||||
/* Light Theme */
|
||||
:root[class='defaultLight'] {
|
||||
/* Empty light theme styles */
|
||||
--background-color: #121212;
|
||||
--text-color: #f1f1f1;
|
||||
--bt-popover-color: #ffffff;
|
||||
}
|
||||
|
||||
/* Dark Theme */
|
||||
:root[class='defaultDark'] {
|
||||
/* Empty dark theme styles */
|
||||
--bg-color: #121212;
|
||||
--bt-popover-color: #48484e;
|
||||
}
|
||||
|
||||
/* 创建动画 */
|
||||
@keyframes fadeToLight {
|
||||
from {
|
||||
opacity: 0.8;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fadeToDark {
|
||||
from {
|
||||
opacity: 0.8;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
/* 应用动画 */
|
||||
:root {
|
||||
--background-color: #ffffff;
|
||||
--text-color: #333333;
|
||||
}
|
||||
|
||||
:root.animate-to-light {
|
||||
animation: fadeToLight 0.5s ease forwards;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root.animate-to-dark {
|
||||
animation: fadeToDark 0.5s ease forwards;
|
||||
overflow: hidden;
|
||||
}
|
||||
42
frontend/packages/vue/naive-ui/src/theme/model/index.tsx
Normal file
42
frontend/packages/vue/naive-ui/src/theme/model/index.tsx
Normal file
@@ -0,0 +1,42 @@
|
||||
// 导出主题表,需要自己定义
|
||||
|
||||
import type { ThemeJsonProps } from '../types'
|
||||
|
||||
const cssModules = import.meta.glob('../model/*/*.css', {
|
||||
eager: false,
|
||||
import: 'default',
|
||||
// as: 'url', // 使用 url 加载器,将 CSS 文件作为独立的资源加载
|
||||
})
|
||||
|
||||
const themes: ThemeJsonProps = {
|
||||
defaultLight: {
|
||||
name: 'defaultLight', // 主题标识
|
||||
type: 'light', // 主题类型,可选值为 light、dark,用于继承预设主题
|
||||
title: '默认亮色主题', // 主题名称
|
||||
import: async () => (await import('./default/index')).defaultLight, // 主题导入函数,用于动态导入主题文件
|
||||
styleContent: async () => (await cssModules['./default/style.css']()) as string, // 主题样式导入函数,用于动态导入主题样式文件
|
||||
},
|
||||
defaultDark: {
|
||||
name: 'defaultDark',
|
||||
type: 'dark',
|
||||
title: '默认暗色主题',
|
||||
import: async () => (await import('./default/index')).defaultDark,
|
||||
styleContent: async () => (await cssModules['./default/style.css']()) as string, // 主题样式导入函数,用于动态导入主题样式文件
|
||||
},
|
||||
// baotaLight: {
|
||||
// name: 'baotaLight',
|
||||
// type: 'light',
|
||||
// title: '宝塔主题',
|
||||
// import: async () => (await import('./baota/index')).baotaLight,
|
||||
// styleContent: async () => (await cssModules['./baota/style.css']()) as string, // 主题样式导入函数,用于动态导入主题样式文件
|
||||
// },
|
||||
// darkGold: {
|
||||
// name: 'darkGold',
|
||||
// type: 'dark',
|
||||
// title: '暗金主题',
|
||||
// import: async () => (await import('./dark-gold/index')).goldDark,
|
||||
// styleContent: async () => (await cssModules['./dark-gold/style.css']()) as string, // 主题样式导入函数,用于动态导入主题样式文件
|
||||
// },
|
||||
}
|
||||
|
||||
export default themes
|
||||
52
frontend/packages/vue/naive-ui/src/theme/model/ssl/index.tsx
Normal file
52
frontend/packages/vue/naive-ui/src/theme/model/ssl/index.tsx
Normal file
@@ -0,0 +1,52 @@
|
||||
import type { ThemeTemplate, PresetConfig } from '../../types'
|
||||
import './style.css'
|
||||
|
||||
// 预设变量,用于继承预设主题
|
||||
const presets: PresetConfig = {
|
||||
Modal: {
|
||||
preset: 'card',
|
||||
},
|
||||
}
|
||||
|
||||
// 默认亮色主题
|
||||
const blueLight: ThemeTemplate = {
|
||||
name: 'blueLight', // 主题标识
|
||||
type: 'light', // 主题类型,可选值为 light、dark,用于继承预设主题
|
||||
title: '蓝色主题', // 主题名称
|
||||
themeOverrides: {
|
||||
common: {},
|
||||
}, // 主题变量
|
||||
presetsOverrides: presets, // 预设变量
|
||||
}
|
||||
|
||||
// 默认暗色主题
|
||||
const blueDark: ThemeTemplate = {
|
||||
name: 'blueDark',
|
||||
type: 'dark',
|
||||
title: '蓝色主题',
|
||||
themeOverrides: {
|
||||
common: {
|
||||
// baseColor: '#F1F1F1', // 基础色
|
||||
primaryColor: '#4caf50', // 主色
|
||||
primaryColorHover: '#20a53a', // 主色悬停
|
||||
primaryColorPressed: '#157f3a', // 主色按下
|
||||
primaryColorSuppl: '#4caf50', // 主色补充
|
||||
},
|
||||
|
||||
Popover: {
|
||||
// color: '#ffffff', // 弹出层背景色
|
||||
},
|
||||
Button: {
|
||||
textColorPrimary: '#ffffff', // 主按钮文本色
|
||||
textColorHoverPrimary: '#ffffff', // 主按钮文本色悬停
|
||||
textColorPressedPrimary: '#ffffff', // 主按钮文本色按下
|
||||
textColorFocusPrimary: '#ffffff', // 主按钮文本色聚焦
|
||||
},
|
||||
Radio: {
|
||||
buttonTextColorActive: '#ffffff', // 单选框文本色
|
||||
},
|
||||
},
|
||||
presetsOverrides: presets, // 预设变量
|
||||
}
|
||||
|
||||
export { blueLight, blueDark }
|
||||
69
frontend/packages/vue/naive-ui/src/theme/model/ssl/style.css
Normal file
69
frontend/packages/vue/naive-ui/src/theme/model/ssl/style.css
Normal file
@@ -0,0 +1,69 @@
|
||||
/* Light Theme */
|
||||
:root[class='defaultLight'] {
|
||||
/* Empty light theme styles */
|
||||
--background-color: #121212;
|
||||
--text-color: #f1f1f1;
|
||||
--bt-popover-color: #ffffff;
|
||||
}
|
||||
|
||||
/* Dark Theme */
|
||||
:root[class='defaultDark'] {
|
||||
/* Empty dark theme styles */
|
||||
--bg-color: #121212;
|
||||
--bt-popover-color: #48484e;
|
||||
}
|
||||
|
||||
/* 创建动画 */
|
||||
@keyframes fadeToLight {
|
||||
from {
|
||||
opacity: 0.8;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fadeToDark {
|
||||
from {
|
||||
opacity: 0.8;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
/* 应用动画 */
|
||||
:root {
|
||||
--background-color: #ffffff;
|
||||
--text-color: #333333;
|
||||
}
|
||||
|
||||
:root.animate-to-light {
|
||||
animation: fadeToLight 0.5s ease forwards;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root.animate-to-dark {
|
||||
animation: fadeToDark 0.5s ease forwards;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.text-info {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.text-success {
|
||||
color: #4caf50;
|
||||
}
|
||||
|
||||
.text-warning {
|
||||
color: #ff9800;
|
||||
}
|
||||
|
||||
.text-error {
|
||||
color: #f44336;
|
||||
}
|
||||
Reference in New Issue
Block a user