From 0c608308d1eaf5ffb2de86878805cb2a07944d0d Mon Sep 17 00:00:00 2001 From: maigamo <13341529504@163.com> Date: Mon, 23 Jun 2025 11:31:55 +0800 Subject: [PATCH] update 1.0.2 update 1.0.2 --- manifest.json | 10 - src/styles.css | 71 +++- styles.css | 884 ------------------------------------------------- 3 files changed, 58 insertions(+), 907 deletions(-) delete mode 100644 manifest.json delete mode 100644 styles.css diff --git a/manifest.json b/manifest.json deleted file mode 100644 index 66d9647..0000000 --- a/manifest.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "id": "daily-task-auto-generator", - "name": "Daily Task Auto Generator", - "version": "1.0.1", - "minAppVersion": "1.8.0", - "description": "Automatically generate daily tasks with custom templates, statistics and multi-language support", - "author": "maigamo", - "authorUrl": "https://github.com/maigamo", - "isDesktopOnly": false -} diff --git a/src/styles.css b/src/styles.css index 043b047..9695c46 100644 --- a/src/styles.css +++ b/src/styles.css @@ -132,19 +132,6 @@ width: 20% !important; } -/* 自定义通知样式 */ -.daily-task-success-notice { - background-color: rgba(0, 255, 127, 0.2) !important; -} - -.daily-task-warning-notice { - background-color: rgba(255, 165, 0, 0.2) !important; -} - -.daily-task-error-notice { - background-color: rgba(255, 69, 0, 0.2) !important; -} - /* 输入框样式 */ .daily-task-input { width: 100%; @@ -180,4 +167,62 @@ display: flex; width: 100%; position: relative; +} + +/* 通知样式 - 使用与Obsidian一致的原生样式 */ +.notice-success, .notice-warning, .notice-error { + margin-top: 8px; + padding: 8px 10px; + border-radius: 4px; + font-size: 14px; + line-height: 1.4; + display: flex; + align-items: center; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); + animation: fadeInUp 0.3s ease forwards; +} + +/* 成功通知 - 绿色 */ +.notice-success { + background-color: var(--background-modifier-success); + color: var(--text-normal); + border-left: 3px solid var(--color-green); +} + +/* 警告通知 - 黄色 */ +.notice-warning { + background-color: var(--background-modifier-warning); + color: var(--text-normal); + border-left: 3px solid var(--color-yellow); +} + +/* 错误通知 - 红色 */ +.notice-error { + background-color: var(--background-modifier-error); + color: var(--text-normal); + border-left: 3px solid var(--color-red); +} + +/* 通知动画 */ +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +/* 移动设备上的通知样式优化 */ +@media screen and (max-width: 768px) { + .notice-success, .notice-warning, .notice-error { + width: calc(100% - 20px); + max-width: 100%; + margin: 8px auto; + padding: 8px 12px; + border-radius: 4px; + font-size: 13px; + } } \ No newline at end of file diff --git a/styles.css b/styles.css deleted file mode 100644 index 4e7a726..0000000 --- a/styles.css +++ /dev/null @@ -1,884 +0,0 @@ -/* 基础样式 */ -.daily-task-setting-tab { - padding: 10px 30px; - transition: all 0.3s ease; - max-width: 800px; - margin: 0 auto; -} - -/* 设置页面标题 */ -.daily-task-setting-tab h2 { - margin-bottom: 20px; - padding-bottom: 10px; -} - -.daily-task-setting-tab h3 { - margin-top: 30px; - margin-bottom: 15px; - padding-bottom: 5px; - border-bottom: 1px solid var(--background-modifier-border); -} - -/* 三选滑块 */ -.mode-toggle-container { - display: flex; - border: 1px solid var(--background-modifier-border); - border-radius: 6px; - overflow: hidden; - margin: 10px 0; - position: relative; - min-width: 450px; /* 增加最小宽度以确保中文显示完整 */ - width: 100%; - max-width: 100%; -} - -.mode-toggle-option { - flex: 1; - text-align: center; - padding: 8px 12px; - cursor: pointer; - z-index: 1; - transition: all 0.3s ease; - white-space: nowrap; - min-width: 130px; /* 增加最小宽度以确保中文显示完整 */ - font-size: 0.9em; -} - -.mode-toggle-option:hover { - background-color: var(--background-modifier-hover); -} - -.mode-toggle-option.active { - color: var(--text-on-accent); - font-weight: bold; -} - -.mode-toggle-slider { - position: absolute; - height: 100%; - width: 33.33%; - background-color: var(--interactive-accent); - border-radius: 5px; - transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); -} - -/* 设置项动画 */ -.setting-item { - padding: 16px 0; /* 增加垂直间距 */ - margin-bottom: 8px; - border-bottom: 1px solid var(--background-modifier-border-subtle); -} - -.setting-item:last-child { - border-bottom: none; -} - -/* 设置项标题和描述间距 */ -.setting-item-info { - padding-right: 20px; /* 增加右侧空间 */ -} - -.setting-item-description { - margin-top: 6px; -} - -/* 设置控件布局 */ -.setting-item-control { - margin-top: 10px; /* 增加控件与描述间距 */ -} - -/* 输入框样式优化 */ -.setting-item-control input[type="text"] { - min-width: 300px; - width: 100%; - max-width: 100%; - padding: 8px 10px; - border-radius: 4px; -} - -/* 按钮基本样式 */ -button { - display: flex; - align-items: center; - justify-content: center; - white-space: nowrap; - text-align: center; -} - -/* 保存按钮 - Obsidian紫色 */ -.save-button { - background-color: var(--interactive-accent) !important; - color: var(--text-on-accent) !important; - font-weight: 500; -} - -/* 危险操作按钮 - 红色 */ -.danger-button { - background-color: #e53935 !important; - color: white !important; - font-weight: 500; -} - -/* 添加任务按钮 */ -.add-task-button { - display: inline-flex !important; - align-items: center; - justify-content: center; - gap: 8px; - color: var(--text-on-accent); - background-color: var(--interactive-accent); - padding: 8px 16px; - border-radius: 4px; - cursor: pointer; - transition: all 0.3s ease; - font-weight: 500; - margin-top: 20px; /* 增加顶部间距 */ - text-align: center; -} - -.add-task-button:hover { - transform: scale(1.05); - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); -} - -.add-task-button:active { - transform: scale(0.95); -} - -.add-task-button.loading { - position: relative; - padding-left: 35px; -} - -.add-task-button.loading:before { - content: ''; - position: absolute; - left: 12px; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - border: 2px solid rgba(255, 255, 255, 0.3); - border-top-color: white; - border-radius: 50%; - animation: spin 1s linear infinite; -} - -.add-task-button.disabled { - opacity: 0.5; - cursor: not-allowed; -} - -@keyframes spin { - to { transform: rotate(360deg); } -} - -/* 通知动画 */ -.notice { - opacity: 0; - transform: translateY(20px); - animation: fadeInUpNotice 0.3s forwards; -} - -@keyframes fadeInUpNotice { - to { - opacity: 1; - transform: translateY(0); - } -} - -/* 不同类型的通知样式 */ -.daily-task-success-notice { - background-color: rgba(46, 160, 67, 0.9) !important; - color: white !important; - border-left: 4px solid #2ea043 !important; - display: flex !important; - align-items: center !important; - padding-left: 12px !important; -} - -.daily-task-success-notice::before { - content: '✓'; - display: inline-block; - width: 20px; - height: 20px; - line-height: 20px; - text-align: center; - margin-right: 8px; - font-weight: bold; - background-color: rgba(255, 255, 255, 0.2); - border-radius: 50%; -} - -.daily-task-warning-notice { - background-color: rgba(209, 154, 10, 0.9) !important; - color: white !important; - border-left: 4px solid #d19a0a !important; - display: flex !important; - align-items: center !important; - padding-left: 12px !important; -} - -.daily-task-warning-notice::before { - content: '⚠'; - display: inline-block; - width: 20px; - height: 20px; - line-height: 20px; - text-align: center; - margin-right: 8px; - font-weight: bold; - background-color: rgba(255, 255, 255, 0.2); - border-radius: 50%; -} - -.daily-task-error-notice { - background-color: rgba(203, 36, 49, 0.9) !important; - color: white !important; - border-left: 4px solid #cb2431 !important; - display: flex !important; - align-items: center !important; - padding-left: 12px !important; -} - -.daily-task-error-notice::before { - content: '✗'; - display: inline-block; - width: 20px; - height: 20px; - line-height: 20px; - text-align: center; - margin-right: 8px; - font-weight: bold; - background-color: rgba(255, 255, 255, 0.2); - border-radius: 50%; -} - -/* 模板预览容器 */ -.template-preview { - background-color: var(--background-primary); - border: 1px solid var(--background-modifier-border); - border-radius: 5px; - padding: 15px; - margin-top: 10px; - max-height: 200px; - overflow-y: auto; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); - display: none; -} - -.template-preview.visible { - display: block; -} - -/* 模板编辑区域 */ -.template-editor { - height: 150px; - width: 100%; - font-family: var(--font-monospace); - border: 1px solid var(--background-modifier-border); - border-radius: 5px; - padding: 10px; - transition: border 0.3s ease; - resize: vertical; - min-height: 100px; - max-height: 300px; - box-sizing: border-box; - margin-bottom: 8px; /* 增加底部间距 */ -} - -.template-editor:focus { - border-color: var(--interactive-accent); - box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2); -} - -/* 模板设置容器样式 */ -.template-setting { - display: flex; - flex-direction: column; - width: 100%; - margin-bottom: 30px; /* 增加模板组之间的间距 */ -} - -.template-setting .setting-item-control { - width: 100%; -} - -/* 模板容器宽度 */ -.template-setting > div { - width: 100%; -} - -/* 元素悬停效果 */ -.clickable-icon, button, .setting-item-control > *:not(.disabled) { - transition: transform 0.2s ease, opacity 0.2s ease; -} - -.clickable-icon:hover, button:hover, .setting-item-control > *:not(.disabled):hover { - transform: translateY(-2px); -} - -.clickable-icon:active, button:active, .setting-item-control > *:not(.disabled):active { - transform: translateY(0); -} - -/* 禁用动画 */ -.daily-task-no-animations * { - animation: none !important; - transition: none !important; - transform: none !important; - box-shadow: none !important; -} - -/* 模板预览头部样式 */ -.template-preview-header { - display: flex; - justify-content: center !important; - align-items: center; - gap: 12px; - margin-top: 10px; - margin-bottom: 8px; -} - -.template-preview-header button { - font-size: 12px; - padding: 6px 10px; - display: flex; - align-items: center; - justify-content: center; - gap: 6px; - min-width: 100px; - border-radius: 4px; - text-align: center; -} - -.template-preview-header .svg-icon { - width: 16px; - height: 16px; -} - -/* 图标样式 */ -.svg-icon { - display: inline-block; - width: 16px; - height: 16px; - margin-right: 4px; - color: currentColor; -} - -/* 移动端适配 */ -@media (max-width: 768px) { - .daily-task-setting-tab { - padding: 10px 15px; - } - - .mode-toggle-container { - min-width: unset; - width: 100%; - } - - .mode-toggle-option { - min-width: unset; - padding: 8px 4px; - font-size: 0.8em; - } - - .setting-item { - padding: 12px 0; - } - - .setting-item-control input[type="text"] { - min-width: unset; - width: 100%; - } - - .setting-item-control { - display: flex; - flex-direction: column; - align-items: flex-start; - width: 100%; - margin-top: 8px; - } - - /* 按钮在移动端垂直排列 */ - .template-preview-header { - flex-direction: column; - align-items: flex-end; - gap: 8px; - } - - .template-preview-header button { - width: 100%; - } -} - -/* 任务统计样式 */ -.daily-task-statistics { - margin-top: 10px; - margin-bottom: 20px; - padding: 15px; - border-radius: 8px; - background-color: rgba(var(--interactive-accent-rgb), 0.1); - border-left: 4px solid var(--interactive-accent); -} - -.daily-task-statistics h3 { - margin-top: 0; - display: flex; - align-items: center; - font-size: 1.1em; - color: var(--text-accent); -} - -.daily-task-statistics h4 { - margin-top: 12px; - margin-bottom: 8px; - font-size: 0.95em; - color: var(--text-accent); -} - -/* 提示建议样式 */ -.daily-task-suggestions { - padding: 10px 15px; - border-radius: 6px; - background-color: rgba(var(--background-modifier-success-rgb), 0.1); - margin-top: 10px; -} - -/* 任务统计开关样式 */ -.task-statistics-toggle { - position: relative; - transition: all 0.3s ease; -} - -.task-statistics-toggle:hover { - transform: scale(1.05); -} - -.task-statistics-toggle.is-enabled { - background-color: var(--interactive-accent) !important; -} - -/* 自定义滚动条样式 */ -.daily-task-setting-tab ::-webkit-scrollbar { - width: 8px; /* 设置滚动条宽度 */ -} - -.daily-task-setting-tab ::-webkit-scrollbar-track { - background: var(--background-secondary); /* 设置轨道背景 */ - border-radius: 4px; -} - -.daily-task-setting-tab ::-webkit-scrollbar-thumb { - background: var(--interactive-accent); /* 设置滑块颜色 */ - border-radius: 4px; - opacity: 0.7; - transition: background 0.2s ease; -} - -.daily-task-setting-tab ::-webkit-scrollbar-thumb:hover { - background: var(--interactive-accent-hover); /* 滑块悬停颜色 */ - opacity: 1; -} - -/* 应用滚动条样式到所有可滚动元素 */ -.daily-task-slim-scrollbar { - scrollbar-width: thin; -} - -.daily-task-slim-scrollbar::-webkit-scrollbar { - width: 8px; -} - -.daily-task-slim-scrollbar::-webkit-scrollbar-track { - background: var(--background-secondary); - border-radius: 4px; -} - -.daily-task-slim-scrollbar::-webkit-scrollbar-thumb { - background: var(--interactive-accent); - border-radius: 4px; -} - -.daily-task-slim-scrollbar::-webkit-scrollbar-thumb:hover { - background: var(--interactive-accent-hover); -} - -/* 设置组件样式 */ -.daily-task-settings-section { - margin-top: 24px; - margin-bottom: 24px; - padding: 12px 0; - border-top: 1px solid var(--background-modifier-border); -} - -.daily-task-button { - margin-top: 6px; - margin-bottom: 6px; -} - -.daily-task-preview-button, .daily-task-reset-button { - display: inline-block; - text-align: center !important; - width: 100%; -} - -.daily-task-editor { - height: 200px; - margin-top: 12px; - margin-bottom: 12px; -} - -.daily-task-vertical-stack { - display: flex; - flex-direction: column; -} - -.daily-task-text-right { - text-align: right; -} - -.daily-task-text-center { - text-align: center !important; -} - -.daily-task-slim-scrollbar .CodeMirror-vscrollbar { - width: 20% !important; -} - -/* 自定义通知样式 */ -.daily-task-success-notice { - background-color: rgba(0, 255, 127, 0.2) !important; -} - -.daily-task-warning-notice { - background-color: rgba(255, 165, 0, 0.2) !important; -} - -.daily-task-error-notice { - background-color: rgba(255, 69, 0, 0.2) !important; -} - -/* 输入框样式 */ -.daily-task-input { - width: 100%; - border-radius: 4px; - padding: 8px 35px 8px 10px; - transition: all 0.3s ease; -} - -/* 保存指示器样式 */ -.daily-task-save-indicator { - position: absolute; - right: 10px; - top: 50%; - transform: translateY(-50%); - opacity: 0; - transition: opacity 0.3s ease; -} - -/* 成功图标样式 */ -.daily-task-success-icon { - color: #4CAF50; - width: 18px; - height: 18px; -} - -/* 设置页面顶部间距 */ -.daily-task-setting-top-space { - margin-top: 30px; -} - -/* 输入容器样式 */ -.daily-task-input-container { - display: flex; - width: 100%; - position: relative; -} - -/* 模式切换容器样式 */ -.mode-toggle-container { - position: relative; - display: flex; - justify-content: space-between; - background-color: var(--background-secondary); - border-radius: 20px; - padding: 4px; - overflow: hidden; - width: 20%; - margin-left: auto; -} - -/* 模式选项样式 */ -.mode-toggle-option { - flex: 1; - text-align: center; - padding: 5px 0; - cursor: pointer; - z-index: 2; - transition: color 0.3s ease; - font-size: 0.75em; - border-radius: 16px; -} - -/* 活跃模式选项样式 */ -.mode-toggle-option.active { - color: var(--text-on-accent); -} - -/* 滑块样式 */ -.mode-toggle-slider { - position: absolute; - width: 33.33%; - height: 80%; - background-color: var(--interactive-accent); - border-radius: 16px; - top: 10%; - left: 0; - transition: left 0.3s ease; - z-index: 1; -} - -/* 模板编辑器样式 */ -.template-editor { - height: 200px !important; - border: 1px solid var(--background-modifier-border-hover) !important; - border-radius: 4px !important; - padding: 12px !important; - line-height: 1.5 !important; - font-size: 14px !important; - font-family: var(--font-monospace) !important; - transition: all 0.2s ease !important; - box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1) !important; - background-color: var(--background-primary) !important; - color: var(--text-normal) !important; - resize: vertical !important; -} - -.template-editor:focus { - border: 1px solid var(--interactive-accent) !important; - box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2), inset 0 1px 3px rgba(0, 0, 0, 0.1) !important; - outline: none !important; -} - -/* 预览面板样式 */ -.template-preview { - margin-top: 15px; - padding: 15px; - border: 1px dashed var(--background-modifier-border); - border-radius: 8px; - background-color: var(--background-secondary); - display: none; - max-height: 200px; - overflow: auto; - box-shadow: inset 0 0 5px rgba(0,0,0,0.1); -} - -.template-preview.visible { - display: block; -} - -/* 模板预览标题样式 */ -.template-preview-header { - display: flex; - justify-content: space-between; - margin-top: 15px; - margin-bottom: 10px; - width: 100%; -} - -/* 按钮通用样式 */ -.daily-task-button-common { - text-align: center; - display: flex; - align-items: center; - justify-content: center; - border-radius: 4px; - box-shadow: 0 2px 5px rgba(0,0,0,0.1); - transition: all 0.2s ease; -} - -/* 按钮尺寸 */ -.daily-task-button-md { - width: 130px; -} - -.daily-task-button-lg { - width: 150px; -} - -/* 危险按钮样式 */ -.danger-button { - background-color: var(--background-modifier-error) !important; - color: var(--text-on-accent) !important; -} - -/* 加载状态按钮 */ -.loading { - opacity: 0.7; - cursor: wait; -} - -/* 模板设置描述样式 */ -.template-description { - font-size: 0.85em; - opacity: 0.8; - margin-bottom: 15px; -} - -/* 模板变量说明样式 */ -.template-variables { - font-size: 0.85em; - margin-bottom: 10px; -} - -/* 按钮容器样式 */ -.button-container { - display: flex; - justify-content: flex-end; - margin-top: 20px; - margin-bottom: 10px; -} - -/* 添加设置页面元素样式类 */ -.setting-top-spacing { - margin-top: 30px; -} - -.input-container { - display: flex; - width: 100%; - position: relative; -} - -.full-width-input { - width: 100%; - border-radius: 4px; - padding: 8px 35px 8px 10px; - transition: all 0.3s ease; -} - -.save-indicator { - position: absolute; - right: 10px; - top: 50%; - transform: translateY(-50%); - opacity: 0; - transition: opacity 0.3s ease; -} - -.save-indicator-visible { - opacity: 1; -} - -.success-icon { - color: #4CAF50; - width: 18px; - height: 18px; -} - -.toggles-container { - width: 20%; - margin-left: auto; -} - -.toggle-icon { - margin-right: 8px; - color: var(--text-accent); -} - -.template-description { - font-size: 0.85em; - opacity: 0.8; - margin-bottom: 15px; -} - -.template-variables { - font-size: 0.85em; - margin-bottom: 10px; -} - -.template-container { - width: 100%; -} - -.template-textarea { - height: 200px; - border: 1px solid var(--background-modifier-border-hover); - border-radius: 4px; - padding: 12px; - line-height: 1.5; - font-size: 14px; - font-family: var(--font-monospace); - transition: all 0.2s ease; - box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); - background-color: var(--background-primary); - color: var(--text-normal); - resize: vertical; -} - -.template-textarea-focused { - border: 1px solid var(--interactive-accent); - box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2), inset 0 1px 3px rgba(0, 0, 0, 0.1); - outline: none; -} - -.preview-header { - display: flex; - justify-content: center; - margin-top: 15px; - gap: 10px; -} - -.preview-element { - margin-top: 15px; - padding: 15px; - border: 1px dashed var(--background-modifier-border); - border-radius: 4px; - background-color: var(--background-secondary); -} - -.button-center { - text-align: center; - display: flex; - align-items: center; - justify-content: center; -} - -.button-width-normal { - width: 120px; -} - -.reset-container { - display: flex; - justify-content: flex-end; - margin-top: 20px; - margin-bottom: 10px; -} - -.add-task-container { - display: flex; - justify-content: flex-end; - margin-top: 20px; -} - -.success-button { - background-color: #4CAF50 !important; - color: white !important; -} - -/* 滑块位置类 */ -.slider-position-0 { left: 0%; } -.slider-position-1 { left: 33.33%; } -.slider-position-2 { left: 66.66%; } - -/* 显示/隐藏控制 */ -.hidden-element { display: none; } -.visible-element { display: block; } - -/* 保存指示器状态 */ -.save-indicator-visible { opacity: 1; } -.save-indicator-hidden { opacity: 0; } - -/* 容器宽度 */ -.full-width-container { width: 100%; } \ No newline at end of file