diff --git a/src/components/PresetDropdown.vue b/src/components/PresetDropdown.vue index 52e88d3..107c709 100644 --- a/src/components/PresetDropdown.vue +++ b/src/components/PresetDropdown.vue @@ -1,7 +1,7 @@ - - - - - 📋 预设管理 - - - 📁 文件夹 - - - - - - - - - - 新建预设 - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - + + + + - - - 所有类型 - - {{ type.icon }} {{ type.label }} - - - - - 所有预设 - 未分类 - - 📁 {{ f.label }} ({{ f.presetCount }}) - - - - - - - 📝 - - {{ searchQuery ? '未找到匹配的预设' : '暂无预设,点击上方按钮创建第一个预设' }} - + + + 所有类型 + + {{ type.icon }} {{ type.label }} + + - - - - - {{ getTypeIcon(preset.type) }} - - {{ preset.name }} - {{ getTypeLabel(preset.type) }} · {{ formatDate(preset.updatedAt) }} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{ preset.description }} - - - - {{ preset.content }} - - - - {{ tag }} - - - - - - - - - - 📁 - - {{ folderTree.length }} - 文件夹总数 - - - - 📋 - - {{ (store.extendedPresets || []).length }} - 预设总数 - - - - 📂 - - {{ (store.extendedPresets || []).filter(p => !p.folderId).length }} - 未分类预设 - - - - - - - 📁 - - 暂无文件夹 - 创建文件夹来组织您的预设 - 点击上方的"新建文件夹"按钮开始 - - - - - - - {{ item.expanded ? '▼' : '▶' }} + + + + + + + 新建预设 + + + + + + + + + - - 📁 - - {{ item.node.name }} - {{ item.node.presetCount }} 个预设 · {{ formatDate(item.node.updatedAt) }} - - - - - - - - - - - - - - - - - - - - {{ item.node.description }} + + + + + + + + + + + + - - - - - {{ editingPreset ? '编辑预设' : '创建预设' }} - × + + + + + {{ editingPreset ? '编辑预设' : '新建预设' }} + × - - - - 预设名称 * - + + + 名称 + - - - 预设类型 + + + 类型 - - {{ type.icon }} {{ type.label }} + + {{ t.icon }} {{ t.label }} - - - 所属文件夹 + + 文件夹 - 未分类 + (无 - 未分类) - 📁 {{ f.label }} + {{ f.label }} - - 预设内容 * - + + 内容 + - - 描述 - + + 描述 (选填) + - - 标签 - + + 标签 (选填,逗号分隔) + - - - - - - - {{ editingFolder ? '编辑文件夹' : '创建文件夹' }} - × + + + + + {{ editingFolder ? '编辑文件夹' : '新建文件夹' }} + × - - - - 文件夹名称 * - + + + 名称 + - - - 颜色 - - - - - 父文件夹 - - 根目录 - - 📁 {{ f.label }} - - - + + 父文件夹 + + (无 - 根文件夹) + + {{ f.label }} + + - - 描述 - + + 描述 (选填) + + + + + 颜色标记 + + + - - - + { diff --git a/src/components/PromptEditor.vue b/src/components/PromptEditor.vue index 72d185d..a6d39e3 100644 --- a/src/components/PromptEditor.vue +++ b/src/components/PromptEditor.vue @@ -631,7 +631,8 @@ function isRemoveDisabled(token: string): boolean { - + + 语言 {{ l }} @@ -686,6 +687,7 @@ function isRemoveDisabled(token: string): boolean { /> + @@ -972,12 +974,18 @@ function isRemoveDisabled(token: string): boolean { } .pe-toolbar { - display: flex; - align-items: center; - justify-content: space-between; padding: 1rem 1.5rem; background-color: var(--color-bg-secondary); border-bottom: 1px solid var(--color-border); +} + +.pe-toolbar-content { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + max-width: 1400px; + margin: 0 auto; gap: 1rem; flex-wrap: wrap; } @@ -1229,6 +1237,9 @@ function isRemoveDisabled(token: string): boolean { height: calc(100vh - 8rem); gap: 1px; background-color: var(--color-border); + width: 100%; + max-width: 1400px; + margin: 0 auto; } .pe-left-pane, .pe-right-pane { diff --git a/src/components/PromptManager.vue b/src/components/PromptManager.vue index 824e5de..6433338 100644 --- a/src/components/PromptManager.vue +++ b/src/components/PromptManager.vue @@ -75,7 +75,7 @@ function exportAll() { const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; - a.download = `prompt_dataset_${new Date().toISOString().slice(0,19)}.json`; + a.download = `prompt_dataset_${new Date().toISOString().slice(0, 19)}.json`; document.body.appendChild(a); a.click(); a.remove(); @@ -114,13 +114,8 @@ function resetDefault() { {{ l }} - + 导出 JSON @@ -136,13 +131,15 @@ function resetDefault() { 请选择一个分组 - + ⋮⋮ - + {{ t.hidden ? '显示' : '隐藏' }} 删除 @@ -174,63 +166,330 @@ function resetDefault() { - + \ No newline at end of file diff --git a/src/components/preset/FolderTreeItem.vue b/src/components/preset/FolderTreeItem.vue new file mode 100644 index 0000000..1a06136 --- /dev/null +++ b/src/components/preset/FolderTreeItem.vue @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + {{ folder.name }} + + + {{ folder.presetCount }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/preset/PresetList.vue b/src/components/preset/PresetList.vue new file mode 100644 index 0000000..0374667 --- /dev/null +++ b/src/components/preset/PresetList.vue @@ -0,0 +1,342 @@ + + + + + + 📭 + 暂无预设 + + + + + + + {{ getTypeIcon(preset.type) }} + + {{ preset.name }} + + + + + + + + + + + + + + + + + + + + + + + + + + + 编辑 + + + + + + + 删除 + + + + + + + + {{ preset.content }} + {{ preset.description }} + + + + + + + + + diff --git a/src/components/preset/PresetSidebar.vue b/src/components/preset/PresetSidebar.vue new file mode 100644 index 0000000..6bbd84c --- /dev/null +++ b/src/components/preset/PresetSidebar.vue @@ -0,0 +1,219 @@ + + + + + + 预设文件夹 + + + + + + + + + + + + + + 📋 + 所有预设 + {{ allCount }} + + + + 📂 + 未分类 + {{ uncategorizedCount }} + + + + + + 暂无文件夹 + + + + + + + + diff --git a/src/style.css b/src/style.css index 1a66ec4..2875238 100644 --- a/src/style.css +++ b/src/style.css @@ -24,26 +24,13 @@ a:hover { body { margin: 0; - display: flex; - place-items: center; min-width: 320px; min-height: 100vh; } -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -.card { - padding: 2em; -} - #app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - text-align: center; + width: 100%; + height: 100%; } @media (prefers-color-scheme: light) {
创建文件夹来组织您的预设
点击上方的"新建文件夹"按钮开始
暂无预设