功能: - 网站收藏管理(添加/编辑/删除/收藏) - 分类管理(支持自定义图标和颜色) - 搜索功能 - 点击统计 - 现代暗色主题 UI 技术栈: - 后端: Python Flask + MySQL - 前端: React + Vite + Tailwind CSS - 数据库: MySQL (192.168.8.160) - 端口: 后端 5003, 前端 5173
63 lines
1.6 KiB
JavaScript
63 lines
1.6 KiB
JavaScript
import postcss from 'postcss'
|
|
import isPlainObject from './isPlainObject'
|
|
|
|
export default function transformThemeValue(themeSection) {
|
|
if (['fontSize', 'outline'].includes(themeSection)) {
|
|
return (value) => {
|
|
if (typeof value === 'function') value = value({})
|
|
if (Array.isArray(value)) value = value[0]
|
|
|
|
return value
|
|
}
|
|
}
|
|
|
|
if (themeSection === 'fontFamily') {
|
|
return (value) => {
|
|
if (typeof value === 'function') value = value({})
|
|
let families = Array.isArray(value) && isPlainObject(value[1]) ? value[0] : value
|
|
return Array.isArray(families) ? families.join(', ') : families
|
|
}
|
|
}
|
|
|
|
if (
|
|
[
|
|
'boxShadow',
|
|
'transitionProperty',
|
|
'transitionDuration',
|
|
'transitionDelay',
|
|
'transitionTimingFunction',
|
|
'backgroundImage',
|
|
'backgroundSize',
|
|
'backgroundColor',
|
|
'cursor',
|
|
'animation',
|
|
].includes(themeSection)
|
|
) {
|
|
return (value) => {
|
|
if (typeof value === 'function') value = value({})
|
|
if (Array.isArray(value)) value = value.join(', ')
|
|
|
|
return value
|
|
}
|
|
}
|
|
|
|
// For backwards compatibility reasons, before we switched to underscores
|
|
// instead of commas for arbitrary values.
|
|
if (['gridTemplateColumns', 'gridTemplateRows', 'objectPosition'].includes(themeSection)) {
|
|
return (value) => {
|
|
if (typeof value === 'function') value = value({})
|
|
if (typeof value === 'string') value = postcss.list.comma(value).join(' ')
|
|
|
|
return value
|
|
}
|
|
}
|
|
|
|
return (value, opts = {}) => {
|
|
if (typeof value === 'function') {
|
|
value = value(opts)
|
|
}
|
|
|
|
return value
|
|
}
|
|
}
|