Files
prompt-optimizer/packages/ui/src/styles/theme.css
T
Joseph Hau fd44067c86 Fix streaming response UI issues in OutputPanel
- Fix loading indicator visibility during streaming
- Fix copy button not showing due to hideTitle attribute
- Prevent token count reset after stream completion
- Add resultTitle prop for custom panel titles
2025-03-13 19:18:38 +08:00

1272 lines
29 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
/* 全局过渡效果 */
html {
@apply min-h-screen;
transition: all 0.3s ease;
}
/* 全局背景设置 */
:root {
@apply bg-stone-100 text-black;
}
/* 暗色模式背景 */
:root.dark {
@apply bg-slate-950 text-slate-100;
}
/* 蓝色主题背景 */
:root.theme-blue {
@apply bg-blue-100 text-blue-950;
}
/* 绿色主题背景 */
:root.theme-green {
@apply bg-teal-950 text-teal-900;
}
/* 暗紫模式背景 */
:root.theme-purple {
@apply bg-gradient-to-br from-purple-900 to-purple-950 text-white;
}
/* 移除 body 的背景样式,改为继承 */
body {
min-height: 100vh;
margin: 0;
background: inherit;
color: inherit;
}
/* 全局过渡效果 */
html * {
transition: background-color 0.3s ease, color 0.3s ease,
border-color 0.3s ease, box-shadow 0.3s ease;
}
/* 定义通用主题类 */
@layer components {
/* ===== 布局组件 ===== */
.theme-mask {
@apply bg-black/60 backdrop-blur-sm;
}
/* 主题头部导航栏 */
.theme-header {
@apply sticky top-0 z-20
bg-white/90
theme-blue:bg-blue-200/90
backdrop-blur-sm
border-b border-gray-200
theme-blue:border-blue-300
shadow-sm transition-colors duration-300;
}
/* 主题卡片 */
.theme-card {
@apply p-4 rounded-lg bg-white
theme-blue:bg-blue-200
border border-gray-200
theme-blue:border-blue-400
shadow-sm;
}
/* ===== 文本组件 ===== */
/* 主题标题 */
.theme-title {
@apply text-gray-500
theme-blue:text-blue-950
font-semibold;
}
/* 主题文本 */
.theme-text {
@apply text-stone-600
theme-blue:text-blue-950;
}
/* 主题次要文本 */
.theme-text-secondary {
@apply text-stone-600/80
theme-blue:text-blue-800;
}
/* 主题标签 */
.theme-label {
@apply text-gray-700
theme-blue:text-blue-700
font-medium;
}
/* ===== 表单组件 ===== */
/* 主题输入框 */
.theme-input {
@apply w-full rounded-lg px-4 py-3
bg-stone-50
theme-blue:bg-blue-50
border border-stone-300
theme-blue:border-blue-200
text-stone-800
theme-blue:text-blue-900
placeholder-gray-400
theme-blue:placeholder-blue-400
focus:ring-2 focus:ring-stone-500/50
theme-blue:focus:ring-blue-500/50
focus:border-transparent outline-none transition duration-300;
}
/* ===== 按钮组件 ===== */
/* 主题按钮通用样式 被其它按钮样式引用 */
.theme-button {
@apply px-4 py-2 rounded-lg text-sm transition-colors;
}
/* 主题主要按钮 */
.theme-button-primary {
@apply theme-button bg-stone-200 hover:bg-stone-300
theme-blue:bg-blue-600 theme-blue:hover:bg-blue-500
text-stone-700 rounded-lg font-medium transition-colors
disabled:opacity-50 disabled:cursor-not-allowed
theme-blue:disabled:bg-blue-600/50;
}
/* 主题次要按钮 */
.theme-button-secondary {
@apply theme-button bg-stone-100 hover:bg-stone-200 text-stone-700
theme-blue:bg-blue-100
theme-blue:text-blue-700
theme-blue:hover:bg-blue-200;
}
.theme-prompt-version-selected {
@apply bg-stone-400/80 text-white;
}
.theme-prompt-version-unselected {
@apply bg-stone-100 hover:bg-stone-400/20 text-stone-400
transition duration-300;
}
/* 主题图标按钮 */
.theme-icon-button {
@apply flex items-center gap-1 px-3 py-3 h-9 rounded-lg transition-all duration-300
bg-stone-100
theme-blue:bg-blue-100
text-stone-700
theme-blue:text-blue-700
hover:bg-stone-200
theme-blue:hover:bg-blue-200;
}
/* ===== 状态组件 ===== */
/* 主题加载中 */
.theme-loading {
@apply text-stone-600
theme-blue:text-blue-600 animate-pulse;
}
/* 主题错误 */
.theme-error {
@apply text-red-600
theme-blue:text-red-600;
}
/* 主题成功 暂无引用*/
.theme-success {
@apply text-teal-600
theme-blue:text-teal-600;
}
/* ===== 滚动条 ===== */
/* 全局滚动条样式(WebKit浏览器) */
::-webkit-scrollbar {
width: 4px;
}
::-webkit-scrollbar-horizontal {
display: none;
}
::-webkit-scrollbar-track {
@apply bg-transparent;
}
::-webkit-scrollbar-thumb {
@apply bg-white/60 theme-blue:bg-blue-300 rounded;
}
::-webkit-scrollbar-thumb:hover {
@apply bg-white theme-blue:bg-blue-400;
}
/* 特定元素滚动条类(跨浏览器支持) */
.theme-scrollbar {
/* 非WebKit浏览器支持 */
scrollbar-width: thin;
scrollbar-color: rgba(255, 255, 255, 0.6) transparent;
}
/* ===== 下拉菜单 ===== */
.theme-dropdown {
@apply absolute z-50 min-w-[300px] w-max max-w-[90vw] mt-1 px-1
backdrop-blur-sm rounded-lg
bg-white/90
theme-blue:bg-blue-50/95
border border-white
theme-blue:border-blue-200/50
shadow-xl;
}
/* 下拉菜单按钮 */
.theme-select-button {
@apply w-full h-10 px-3 py-2 rounded-lg transition-all
bg-stone-50
theme-blue:bg-blue-100/30
border border-stone-300
theme-blue:border-blue-300/50
text-gray-900
theme-blue:text-blue-900
theme-blue:hover:border-blue-500/70
hover:ring-2 hover:ring-stone-500/50 hover:border-transparent
theme-blue:focus:ring-blue-500/50
outline-none duration-300;
}
/* 下拉菜单项 */
.theme-dropdown-item {
@apply px-3 py-2 mb-1 rounded-lg cursor-pointer transition-colors
text-stone-600
theme-blue:text-blue-950;
}
.theme-dropdown-item:last-child {
@apply mb-0;
}
/* 下拉菜单项激活 */
.theme-dropdown-item-active {
@apply bg-stone-300/70
theme-blue:bg-blue-200/90
text-stone-600
theme-blue:text-blue-800;
}
/* 下拉菜单项未激活 */
.theme-dropdown-item-inactive {
@apply border-transparent
theme-blue:border-blue-200/50
hover:bg-stone-300/40
theme-blue:hover:bg-blue-100/50
text-stone-700
theme-blue:text-blue-700;
}
.theme-dropdown-item-tag {
@apply bg-stone-500/80 text-white;
}
/* 下拉菜单分组 */
.theme-dropdown-section {
@apply p-2 rounded-xl mb-1
bg-stone-200/60
theme-blue:border-blue-200/50
theme-blue:bg-blue-100
text-purple-700
theme-blue:text-blue-700
cursor-pointer;
}
/* 下拉菜单按钮 */
.theme-dropdown-button {
@apply w-full px-3 py-2 text-sm rounded-lg
bg-stone-300/60
theme-blue:bg-blue-100
text-stone-600
theme-blue:text-blue-700
hover:bg-stone-300
theme-blue:hover:bg-blue-200
transition-colors flex items-center justify-center space-x-1;
}
/* 下拉菜单空状态 */
.theme-dropdown-empty {
@apply px-3 py-2 text-sm
text-gray-500
theme-blue:text-blue-500;
}
/* 占位符 */
.theme-placeholder {
@apply text-gray-400
theme-blue:text-blue-400;
}
/* ===== 模态框组件 ===== */
/* 模态框容器 */
.theme-modal {
@apply bg-white/80
theme-blue:bg-blue-100
backdrop-blur-sm rounded-xl shadow-xl
border border-gray-200
theme-blue:border-blue-400;
}
/* 模态框标题栏 */
.theme-modal-header {
@apply border-b border-gray-200
theme-blue:border-blue-200 p-4;
}
/* 模态框内容 */
.theme-modal-content {
@apply p-4;
}
/* 模态框底部 */
.theme-modal-footer {
@apply border-t border-gray-200
theme-blue:border-blue-200
p-4 flex justify-end space-x-3;
}
/* ===== 历史记录组件 ===== */
/* 历史容器 */
.theme-history {
@apply bg-white/90
theme-blue:bg-blue-100
backdrop-blur-sm rounded-xl shadow-xl
border border-l border-gray-200
theme-blue:border-blue-400;
}
/* 历史标题栏 */
.theme-history-header {
@apply border-b border-gray-200
theme-blue:border-blue-200
p-4 sm:p-6 flex items-center justify-between rounded-t-xl
theme-blue:bg-blue-50/95;
}
.theme-history-empty-button {
@apply px-2 py-1 rounded text-sm bg-red-300 hover:bg-red-500 transition-colors
text-red-900 hover:text-white;
}
/* ===== 卡片组件 ===== */
/* 历史记录卡片 */
.theme-history-card {
@apply p-3 bg-gray-50/80
theme-blue:bg-blue-200
rounded-xl border
border-gray-200
theme-blue:border-blue-400
overflow-hidden;
}
/* 历史记录卡片头部 */
.theme-history-card-header {
@apply p-3 border-b border-gray-200/50 /*卡片头部下边线*/
theme-blue:border-blue-200/50;
}
/* 历史提示词内容*/
.theme-history-card-content {
@apply p-4 sm:p-6 rounded-xl border bg-stone-200/40 border-stone-300/50 overflow-y-auto shadow-inner;
}
/* ===== 管理界面组件 ===== */
/* 管理界面容器 */
.theme-manager-container {
@apply bg-white/90
theme-blue:bg-blue-100/90
backdrop-blur-sm rounded-xl shadow-xl
border border-slate-200
theme-blue:border-blue-400;
}
/* 管理界面卡片 */
.theme-manager-card {
@apply bg-stone-50
theme-blue:bg-blue-200
rounded-xl shadow-sm hover:shadow-md transition-shadow
border border-gray-200
theme-blue:border-blue-400;
}
.theme-manager-card-optimize {
@apply bg-stone-300/80;
}
.theme-manager-card-iterate {
@apply bg-teal-300/80;
}
/* 管理界面标签 */
.theme-manager-tag {
@apply px-2 py-1 text-xs rounded-full
bg-stone-300/80
theme-blue:bg-blue-200
text-white
theme-blue:text-blue-800;
}
.theme-manager-tag-optimize {
@apply px-2 py-1 text-xs rounded-full bg-amber-500/50 text-white;
}
.theme-manager-tag-iterate {
@apply px-2 py-1 text-xs rounded-full bg-green-500/50 text-white;
}
/* 管理界面分割线 */
.theme-manager-divider {
@apply divide-stone-200;
}
/* 管理界面表单输入框 */
.theme-manager-input {
@apply w-full px-4 py-2 rounded-lg
bg-stone-50
theme-blue:bg-blue-50
border border-stone-300
theme-blue:border-blue-300
text-stone-800
theme-blue:text-blue-900
placeholder-gray-400
theme-blue:placeholder-blue-400
focus:ring-2 focus:ring-stone-500/50 focus:border-transparent outline-none transition duration-300;
}
/* 管理界面按钮 - 主要 (添加自定义模型) */
.theme-manager-button-primary {
@apply px-4 py-2 rounded-lg transition-colors
bg-stone-300 text-stone-700;
}
/* 管理界面按钮 - 次要 */
.theme-manager-button-secondary {
@apply px-4 py-2 rounded-lg transition-colors
bg-stone-300/60 hover:bg-stone-300 text-stone-700;
}
/* 管理界面按钮 - 测试连接 */
.theme-manager-button-test {
@apply px-4 py-2 rounded-lg transition-colors
bg-cyan-500/70
theme-blue:bg-blue-600
hover:bg-cyan-500
theme-blue:hover:bg-blue-500
text-white;
}
/* 管理界面按钮 - 编辑 */
.theme-manager-button-edit {
@apply px-4 py-2 rounded-lg transition-colors
bg-teal-500/70
theme-blue:bg-blue-600
hover:bg-teal-500
theme-blue:hover:bg-blue-500
text-white;
}
/* 管理界面按钮 - 成功(启用) */
.theme-manager-button-success {
@apply px-4 py-2 rounded-lg transition-colors
bg-green-500/70
theme-blue:bg-blue-600
hover:bg-green-500
theme-blue:hover:bg-blue-500
text-white;
}
/* 管理界面按钮 - 警告(禁用) */
.theme-manager-button-warning {
@apply px-4 py-2 rounded-lg transition-colors
bg-stone-500/70
theme-blue:bg-gray-500
hover:bg-stone-500
theme-blue:hover:bg-gray-400
text-white;
}
/* 管理界面按钮 - 危险(删除) */
.theme-manager-button-danger {
@apply px-4 py-2 rounded-lg transition-colors
bg-red-500/70
theme-blue:bg-red-600/80
hover:bg-red-500
theme-blue:hover:bg-red-500/80
text-white;
}
/* 管理界面文本 - 主要 */
.theme-manager-text {
@apply text-stone-600
theme-blue:text-blue-900;
}
/* 管理界面文本 - 次要 */
.theme-manager-text-secondary {
@apply text-stone-600
theme-blue:text-blue-700;
}
/* 管理界面文本 - 禁用 */
.theme-manager-text-disabled {
@apply text-stone-400
theme-blue:text-blue-400;
}
}
/* 主题变体 */
:root[data-theme="blue"] {
.theme-text {
@apply text-blue-950;
}
.theme-text-secondary {
@apply text-blue-800;
}
.theme-card,
.theme-modal,
.theme-history,
.theme-manager-container,
.theme-manager-card {
@apply bg-white border-blue-200;
}
.theme-modal-header,
.theme-history-header,
.theme-manager-divider {
@apply divide-blue-400/80;
}
.theme-manager-text {
@apply text-blue-950;
}
.theme-manager-text-secondary {
@apply text-blue-800;
}
.theme-manager-button-primary {
@apply bg-sky-500 hover:bg-sky-400 text-white;
}
.theme-manager-button-secondary {
@apply bg-sky-200 hover:bg-sky-300 text-sky-900;
}
.theme-manager-text-disabled {
@apply text-blue-500;
}
.theme-manager-input {
@apply bg-white border-blue-300 text-blue-950 placeholder-blue-400;
}
}
:root[data-theme="green"] {
/* 滚动条轨道 - 用于自定义组件 */
.theme-scrollbar-track {
@apply bg-teal-300;
}
/* 滚动条滑块 - 同时用于原生与自定义组件 */
.theme-scrollbar-thumb,
::-webkit-scrollbar-thumb {
@apply bg-teal-600;
}
/* 悬停状态 - 同时用于原生与自定义组件 */
.theme-scrollbar-thumb:hover,
::-webkit-scrollbar-thumb:hover {
@apply bg-teal-400;
}
.theme-title {
@apply text-teal-300;
}
.theme-text {
@apply text-teal-200;
}
.theme-label {
@apply text-teal-200;
}
.theme-text-secondary {
@apply text-teal-600;
}
.theme-header {
@apply bg-teal-800/90 border-teal-600;
}
.theme-icon-button {
@apply bg-teal-700 hover:bg-teal-600 text-teal-300;
}
.theme-button-primary {
@apply bg-teal-600 hover:bg-teal-500 text-teal-100 hover:text-white disabled:bg-teal-700/70 disabled:text-teal-400/90;
}
.theme-button-secondary {
@apply bg-teal-600 hover:bg-teal-500 text-teal-100 hover:text-white;
}
.theme-prompt-version-selected {
@apply bg-amber-300/80 text-white;
}
.theme-prompt-version-unselected {
@apply bg-amber-300/10 hover:bg-amber-300/50 text-white;
}
/* ===== 状态组件 ===== */
/* 主题加载中 */
.theme-loading {
@apply text-teal-300;
}
/* 主题错误 */
.theme-error {
@apply text-red-600;
}
/* 主题成功 暂无引用*/
.theme-success {
@apply text-teal-700;
}
/* ===== 下拉菜单 ===== */
.theme-dropdown {
@apply bg-teal-700/90 border-teal-700 backdrop-blur-sm;
}
.theme-dropdown-item {
@apply text-teal-950 focus:ring-teal-500/50;
}
.theme-dropdown-item-description {
@apply text-teal-500;
}
.theme-dropdown-item-active {
@apply bg-teal-900 text-teal-300;
}
.theme-dropdown-item-inactive {
@apply text-teal-300 hover:bg-teal-800 hover:text-teal-400;
}
.theme-dropdown-item-tag {
@apply bg-amber-300/80 text-teal-800;
}
.theme-dropdown-section {
@apply border-teal-200/50 bg-teal-200/60 text-teal-700;
}
.theme-dropdown-button {
@apply bg-teal-300 hover:bg-teal-200 text-teal-700;
}
/* 下拉菜单空状态 */
.theme-dropdown-empty {
@apply text-teal-500;
}
/* 占位符 */
.theme-placeholder {
@apply text-teal-400;
}
.theme-history {
@apply bg-teal-900/70 border-teal-700;
}
.theme-history-header {
@apply bg-teal-900/95 border-teal-700;
}
/* 历史提示词内容*/
.theme-history-card-content {
@apply bg-teal-950/20 border-teal-600/60;
}
.theme-card,
.theme-manager-container {
@apply bg-teal-900/60 border-teal-700;
}
.theme-manager-card {
@apply bg-teal-800 border-teal-700;
}
.theme-manager-card-optimize {
@apply bg-teal-700;
}
.theme-manager-card-iterate {
@apply bg-amber-500/20;
}
.theme-history-card {
@apply bg-teal-800/60 border-teal-700;
}
/* 历史记录卡片头部 */
.theme-history-card-header {
@apply border-teal-900/50; /*卡片头部下边线*/
}
.theme-modal {
@apply bg-teal-900/80 border-teal-600/60;
}
.theme-modal-header {
@apply border-teal-600/60;
}
.theme-modal-footer {
@apply border-teal-600/60;
}
.theme-manager-divider {
@apply divide-teal-600/60 shadow-sm;
}
.theme-input {
@apply bg-teal-800/50 border-teal-700 text-teal-300 placeholder-teal-400 focus:ring-teal-500/80;
}
.theme-select-button {
@apply bg-teal-700 border-teal-600 hover:ring-2 hover:ring-teal-500/80 text-teal-300;
}
.theme-manager-text {
@apply text-teal-300;
}
.theme-manager-text-secondary {
@apply text-teal-400;
}
.theme-manager-text-disabled {
@apply text-teal-500;
}
.theme-manager-tag {
@apply bg-teal-300 text-teal-800;
}
.theme-manager-tag-optimize {
@apply bg-green-400/40 text-teal-300;
}
.theme-manager-tag-iterate {
@apply bg-amber-400/40 text-amber-200;
}
.theme-manager-input {
@apply bg-teal-800/50 border-teal-700 text-teal-200 placeholder-teal-400 focus:ring-teal-400;
}
.theme-manager-button-primary {
@apply bg-teal-500 text-teal-50;
}
.theme-manager-button-secondary {
@apply bg-teal-700 hover:bg-teal-600 text-teal-300;
}
/* 管理界面按钮 - 测试连接 */
.theme-manager-button-test {
@apply bg-green-600 hover:bg-green-500;
}
/* 管理界面按钮 - 编辑 */
.theme-manager-button-edit {
@apply bg-teal-600 hover:bg-teal-500;
}
/* 管理界面按钮 - 成功(启用) */
.theme-manager-button-success {
@apply bg-teal-600 hover:bg-teal-500;
}
/* 管理界面按钮 - 警告(禁用) */
.theme-manager-button-warning {
@apply bg-slate-500 hover:bg-slate-400;
}
/* 管理界面按钮 - 危险(删除) */
.theme-manager-button-danger {
@apply bg-red-300/80 hover:bg-red-500/80
text-red-900 hover:text-white
transition-colors;
}
}
:root[data-theme="purple"] {
.theme-header {
@apply bg-purple-800/90 border-purple-700/60;
}
.theme-card {
@apply bg-purple-800/60 border-purple-700/30;
}
/* ===== 文本组件 ===== */
/* 主题标题 */
.theme-title {
@apply text-white;
}
/* 主题文本 */
.theme-text {
@apply text-white/90;
}
/* 主题次要文本 */
.theme-text-secondary {
@apply text-white/50;
}
/* 主题标签 */
.theme-label {
@apply text-white/90;
}
/* ===== 表单组件 ===== */
/* 主题输入框 */
.theme-input {
@apply bg-black/20 border-purple-600/50 text-white
placeholder-white/50 focus:ring-purple-300/50;
}
/* ===== 按钮组件 ===== */
/* 主题主要按钮 */
.theme-button-primary {
@apply bg-purple-600 hover:bg-purple-500 text-purple-200
disabled:bg-purple-600/50;
}
/* 主题次要按钮 */
.theme-button-secondary {
@apply bg-purple-400/60
text-purple-300
hover:bg-purple-500/80;
}
.theme-prompt-version-selected {
@apply bg-purple-400/60 text-purple-200;
}
.theme-prompt-version-unselected {
@apply bg-purple-500/40 hover:bg-purple-400/60 text-purple-200;
}
/* 主题图标按钮 */
.theme-icon-button {
@apply bg-purple-600/20 hover:bg-purple-600/30 text-purple-300;
}
/* ===== 状态组件 ===== */
/* 主题加载中 */
.theme-loading {
@apply text-purple-300;
}
/* 主题错误 */
.theme-error {
@apply text-red-400;
}
/* 主题成功 暂无引用*/
.theme-success {
@apply text-teal-400;
}
/* ===== 滚动条 ===== */
/* 全局滚动条样式(WebKit浏览器) */
::-webkit-scrollbar-thumb {
@apply bg-purple-500/50 rounded;
}
::-webkit-scrollbar-thumb:hover {
@apply bg-purple-400;
}
/* 特定元素滚动条类(跨浏览器支持) */
.theme-scrollbar {
/* 非WebKit浏览器支持 */
scrollbar-width: thin;
scrollbar-color: rgba(193, 107, 254, 0.5) transparent;
}
/* ===== 下拉菜单 ===== */
.theme-dropdown {
@apply bg-purple-900/95 border-purple-600/50;
}
/* 下拉菜单按钮 */
.theme-select-button {
@apply bg-black/20 border-purple-600/50
text-white
hover:ring-purple-300/50;
}
/* 下拉菜单项 */
.theme-dropdown-item {
@apply text-purple-200;
}
/* 下拉菜单项激活 */
.theme-dropdown-item-active {
@apply bg-purple-600/30 text-purple-200;
}
/* 下拉菜单项未激活 */
.theme-dropdown-item-inactive {
@apply border-purple-600/20 hover:bg-purple-800/50 text-gray-300;
}
.theme-dropdown-item-tag {
@apply bg-stone-500/80 text-white;
}
/* 下拉菜单分组 */
.theme-dropdown-section {
@apply border-purple-600/20 bg-purple-600/20 text-purple-300;
}
/* 下拉菜单按钮 */
.theme-dropdown-button {
@apply bg-purple-600/20 text-purple-300 hover:bg-purple-600/30;
}
/* 下拉菜单空状态 */
.theme-dropdown-empty {
@apply text-gray-400;
}
/* 占位符 */
.theme-placeholder {
@apply text-white/50;
}
/* ===== 模态框组件 ===== */
/* 模态框容器 */
.theme-modal {
@apply bg-purple-900/90 border-purple-700/70;
}
.theme-modal-header {
@apply border-purple-700/50;
}
.theme-modal-footer {
@apply border-purple-700/50;
}
/* ===== 历史记录组件 ===== */
/* 历史容器 */
.theme-history {
@apply bg-purple-900/90 border-purple-700/50;
}
/* 历史标题栏 */
.theme-history-header {
@apply bg-purple-900/95 border-purple-700/50;
}
/* 历史提示词内容*/
.theme-history-card-content {
@apply bg-purple-900/90 border-purple-600/50;
}
/* ===== 卡片组件 ===== */
/* 历史记录卡片 */
.theme-history-card {
@apply bg-purple-500/20 border-purple-600/50;
}
/* 历史记录卡片头部 */
.theme-history-card-header {
@apply border-purple-600/30; /*卡片头部下边线*/
}
/* ===== 管理界面组件 ===== */
/* 管理界面容器 */
.theme-manager-container {
@apply bg-purple-900/90 border-purple-700/50;
}
/* 管理界面卡片 */
.theme-manager-card {
@apply bg-purple-700/50 border-purple-600/50;
}
.theme-manager-card-optimize {
@apply bg-purple-300/80;
}
.theme-manager-card-iterate {
@apply bg-teal-300/80;
}
/* 管理界面标签 */
.theme-manager-tag {
@apply bg-purple-400/30 text-purple-300;
}
.theme-manager-tag-optimize {
@apply bg-amber-500/50 text-white;
}
.theme-manager-tag-iterate {
@apply bg-green-500/50 text-white;
}
/* 管理界面分割线 */
.theme-manager-divider {
@apply divide-purple-600/40;
}
/* 管理界面表单输入框 */
.theme-manager-input {
@apply bg-black/20 border-purple-600/70
text-white placeholder-white/30
focus:ring-2 focus:ring-purple-300/50 focus:border-transparent;
}
/* 管理界面按钮 - 主要 (添加自定义模型) */
.theme-manager-button-primary {
@apply bg-purple-400 text-white;
}
/* 管理界面按钮 - 次要 */
.theme-manager-button-secondary {
@apply bg-purple-400/60 hover:bg-purple-400 text-purple-200 hover:text-white;
}
/* 管理界面按钮 - 测试连接 */
.theme-manager-button-test {
@apply bg-sky-600/80 hover:bg-sky-500/80;
}
/* 管理界面按钮 - 编辑 */
.theme-manager-button-edit {
@apply bg-purple-600 hover:bg-purple-500 text-white;
}
/* 管理界面按钮 - 成功(启用) */
.theme-manager-button-success {
@apply bg-teal-600 hover:bg-teal-500 text-white;
}
/* 管理界面按钮 - 警告(禁用) */
.theme-manager-button-warning {
@apply bg-gray-500 hover:bg-gray-400/80 text-white;
}
/* 管理界面按钮 - 危险(删除) */
.theme-manager-button-danger {
@apply bg-red-700/60 hover:bg-red-600/60 text-white;
}
/* 管理界面文本 - 主要 */
.theme-manager-text {
@apply text-white/90;
}
/* 管理界面文本 - 次要 */
.theme-manager-text-secondary {
@apply text-white/70;
}
/* 管理界面文本 - 禁用 */
.theme-manager-text-disabled {
@apply text-white/40;
}
}
:root[data-theme="dark"] {
/* ===== 文本组件 ===== */
/* 主题标题 */
.theme-title {
@apply text-slate-100;
}
.theme-text {
@apply text-slate-100;
}
.theme-text-secondary {
@apply text-slate-300;
}
/* 主题标签 */
.theme-label {
@apply text-gray-300;
}
/* 主题头部导航栏 */
.theme-header {
@apply bg-slate-800/90 border-slate-800;
}
/* 主题卡片 */
.theme-card {
@apply bg-slate-900 border-slate-800;
}
.theme-input {
@apply bg-slate-800 border-slate-600
text-slate-100 placeholder-slate-500 focus:ring-purple-600/50;
}
.theme-select-button {
@apply bg-slate-800 border-gray-700/50 text-slate-100 hover:ring-purple-600/50;
}
.theme-prompt-version-selected {
@apply bg-stone-400/80 text-white;
}
.theme-prompt-version-unselected {
@apply bg-slate-500/40 hover:bg-stone-400/50 text-slate-50;
}
/* 主题图标按钮 */
.theme-icon-button {
@apply bg-gray-800 text-gray-300 hover:bg-gray-700;
}
/* ===== 状态组件 ===== */
/* 主题加载中 */
.theme-loading {
@apply text-purple-400;
}
/* 主题错误 */
.theme-error {
@apply text-red-400;
}
/* 主题成功 暂无引用*/
.theme-success {
@apply text-teal-400;
}
/* ===== 滚动条 ===== */
/* 全局滚动条样式(WebKit浏览器) */
::-webkit-scrollbar-thumb {
@apply bg-slate-700 rounded;
}
::-webkit-scrollbar-thumb:hover {
@apply bg-slate-600;
}
/* ===== 下拉菜单 ===== */
.theme-dropdown {
@apply bg-gray-800/95 border-gray-600/50;
}
/* 下拉菜单项 */
.theme-dropdown-item {
@apply text-slate-200;
}
/* 下拉菜单项激活 */
.theme-dropdown-item-active {
@apply bg-purple-800/50 text-purple-200;
}
/* 下拉菜单项未激活 */
.theme-dropdown-item-inactive {
@apply hover:bg-gray-700/50 text-gray-300;
}
.theme-dropdown-item-tag {
@apply bg-slate-400/80 text-white;
}
/* 下拉菜单分组 */
.theme-dropdown-section {
@apply bg-purple-800/30 border-gray-700/50 text-purple-300;
}
/* 下拉菜单按钮 */
.theme-dropdown-button {
@apply bg-purple-800/30 text-purple-300 hover:bg-purple-800/50;
}
/* 下拉菜单空状态 */
.theme-dropdown-empty {
@apply text-gray-400;
}
/* 占位符 */
.theme-placeholder {
@apply text-gray-500;
}
.theme-history {
@apply bg-slate-800/70 border-slate-700;
}
/* 历史标题栏 */
.theme-history-header {
@apply border-slate-700 bg-gray-900/95;
}
/* 历史提示词内容*/
.theme-history-card-content {
@apply bg-slate-900/40 border-slate-700/80;
}
.theme-modal {
@apply bg-slate-900/90 border-slate-800;
}
.theme-modal-header,
.theme-modal-footer {
@apply border-slate-700;
}
.theme-manager-container {
@apply bg-slate-800/70 border-slate-700;
}
.theme-manager-card {
@apply bg-slate-800 border-slate-700;
}
.theme-manager-card-optimize {
@apply bg-purple-800/60;
}
.theme-manager-card-iterate {
@apply bg-teal-800/60;
}
.theme-manager-divider {
@apply divide-slate-700;
}
.theme-manager-text {
@apply text-slate-100;
}
.theme-manager-text-secondary {
@apply text-slate-300;
}
.theme-manager-text-disabled {
@apply text-slate-500;
}
.theme-manager-input {
@apply bg-slate-900 border-slate-700 text-slate-100 placeholder-slate-500 focus:ring-purple-600/50;
}
.theme-manager-button-primary {
@apply bg-slate-600 text-white;
}
.theme-manager-button-secondary {
@apply bg-slate-700 hover:bg-slate-600/80 text-slate-300 transition-all duration-300;
}
.theme-button-primary {
@apply bg-slate-700 hover:bg-slate-600 text-white;
}
/* 主题次要按钮 */
.theme-button-secondary {
@apply bg-gray-800 hover:bg-gray-700 text-gray-300;
}
.theme-manager-button-test {
@apply bg-sky-700/80 hover:bg-sky-700;
}
.theme-manager-button-edit {
@apply bg-purple-700/80 hover:bg-purple-700;
}
.theme-manager-button-success {
@apply bg-teal-600/80 hover:bg-teal-600;
}
.theme-manager-button-warning {
@apply bg-gray-600 hover:bg-gray-500;
}
.theme-manager-button-danger {
@apply bg-red-800/80 hover:bg-red-700/80;
}
/* 管理界面标签 */
.theme-manager-tag {
@apply bg-slate-500/50 text-slate-200;
}
.theme-manager-tag-optimize {
@apply bg-amber-500/50 text-white;
}
.theme-manager-tag-iterate {
@apply bg-green-500/50 text-white;
}
/* 历史记录卡片 */
.theme-history-card {
@apply bg-slate-800 border-slate-700;
}
/* 历史记录卡片头部 */
.theme-history-card-header {
@apply border-slate-700/50 /*卡片头部下边线*/;
}
}