- 新增 IndexedDB 存储用于记录节点延迟历史与游戏会话统计 - 重构游戏库状态管理,支持游戏加速时长跟踪与本地存储当前选中游戏 - 优化节点管理界面样式与交互,为删除操作添加危险按钮样式 - 修复游戏库视图中的类型安全与可选 ID 处理问题 - 更新主题配色方案与 CSS 变量,改进深色模式视觉效果 - 移除已弃用的类型定义文件,统一使用新的类型导出结构 - 新增 .editorconfig 与 .gitattributes 文件以统一代码风格与行尾设置 - 调整构建配置,将自动导入类型定义移至专用目录
160 lines
4.1 KiB
CSS
160 lines
4.1 KiB
CSS
:root {
|
|
font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
|
|
line-height: 1.5;
|
|
font-weight: 400;
|
|
|
|
font-synthesis: none;
|
|
text-rendering: optimizeLegibility;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
min-width: 320px;
|
|
min-height: 100vh;
|
|
background-color: var(--color-background);
|
|
color: var(--color-on-surface);
|
|
}
|
|
|
|
#app {
|
|
width: 100%;
|
|
height: 100vh;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Scrollbar customization */
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: var(--color-border);
|
|
border-radius: 4px;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: var(--color-secondary);
|
|
}
|
|
|
|
/*
|
|
Fix for Naive UI Primary Button transparency issue in Light Mode
|
|
caused by Tailwind Preflight or style conflicts.
|
|
*/
|
|
|
|
/* Green Theme (Default) */
|
|
html.theme-green .n-button.n-button--primary-type,
|
|
html:not([class*="theme-"]) .n-button.n-button--primary-type {
|
|
background-color: #3eaf7c !important;
|
|
color: #ffffff !important;
|
|
border: 1px solid #3eaf7c !important;
|
|
}
|
|
html.theme-green .n-button.n-button--primary-type:hover,
|
|
html:not([class*="theme-"]) .n-button.n-button--primary-type:hover {
|
|
background-color: #10b981 !important;
|
|
border-color: #10b981 !important;
|
|
}
|
|
|
|
/* Blue Theme */
|
|
html.theme-blue .n-button.n-button--primary-type {
|
|
background-color: #3b82f6 !important;
|
|
color: #ffffff !important;
|
|
border: 1px solid #3b82f6 !important;
|
|
}
|
|
html.theme-blue .n-button.n-button--primary-type:hover {
|
|
background-color: #2563eb !important;
|
|
border-color: #2563eb !important;
|
|
}
|
|
|
|
/* Purple Theme */
|
|
html.theme-purple .n-button.n-button--primary-type {
|
|
background-color: #8b5cf6 !important;
|
|
color: #ffffff !important;
|
|
border: 1px solid #8b5cf6 !important;
|
|
}
|
|
html.theme-purple .n-button.n-button--primary-type:hover {
|
|
background-color: #7c3aed !important;
|
|
border-color: #7c3aed !important;
|
|
}
|
|
|
|
/* Orange Theme */
|
|
html.theme-orange .n-button.n-button--primary-type {
|
|
background-color: #f97316 !important;
|
|
color: #ffffff !important;
|
|
border: 1px solid #f97316 !important;
|
|
}
|
|
html.theme-orange .n-button.n-button--primary-type:hover {
|
|
background-color: #ea580c !important;
|
|
border-color: #ea580c !important;
|
|
}
|
|
|
|
/* Red Theme */
|
|
html.theme-red .n-button.n-button--primary-type {
|
|
background-color: #ef4444 !important;
|
|
color: #ffffff !important;
|
|
border: 1px solid #ef4444 !important;
|
|
}
|
|
html.theme-red .n-button.n-button--primary-type:hover {
|
|
background-color: #dc2626 !important;
|
|
border-color: #dc2626 !important;
|
|
}
|
|
|
|
/* Fix for Error and Warning buttons transparency issue */
|
|
.n-button.n-button--error-type:not(.n-button--quaternary):not(
|
|
.n-button--tertiary
|
|
):not(.n-button--secondary):not(.n-button--ghost) {
|
|
background-color: rgb(var(--rgb-error)) !important;
|
|
color: #ffffff !important;
|
|
border: 1px solid rgb(var(--rgb-error)) !important;
|
|
}
|
|
.n-button.n-button--error-type:not(.n-button--quaternary):not(
|
|
.n-button--tertiary
|
|
):not(.n-button--secondary):not(.n-button--ghost):hover {
|
|
filter: brightness(0.9);
|
|
}
|
|
|
|
.n-button.n-button--warning-type:not(.n-button--quaternary):not(
|
|
.n-button--tertiary
|
|
):not(.n-button--secondary):not(.n-button--ghost) {
|
|
background-color: rgb(var(--rgb-warning)) !important;
|
|
color: #ffffff !important;
|
|
border: 1px solid rgb(var(--rgb-warning)) !important;
|
|
}
|
|
.n-button.n-button--warning-type:not(.n-button--quaternary):not(
|
|
.n-button--tertiary
|
|
):not(.n-button--secondary):not(.n-button--ghost):hover {
|
|
filter: brightness(0.9);
|
|
}
|
|
|
|
/* Electron Drag Region Support */
|
|
.app-drag-region {
|
|
-webkit-app-region: drag;
|
|
}
|
|
|
|
.no-drag {
|
|
-webkit-app-region: no-drag;
|
|
}
|
|
|
|
/* Ensure Naive UI modals and overlays are not draggable and thus clickable */
|
|
.n-modal-container,
|
|
.n-modal-mask,
|
|
.n-modal-body-wrapper,
|
|
.n-dialog,
|
|
.n-notification-container,
|
|
.n-message-container,
|
|
.n-dropdown-menu,
|
|
.n-popover {
|
|
-webkit-app-region: no-drag;
|
|
}
|
|
|
|
/* Disabled state for Primary Button */
|
|
.n-button.n-button--primary-type.n-button--disabled {
|
|
opacity: 0.6 !important;
|
|
cursor: not-allowed !important;
|
|
}
|