@vibe-forge/client 0.11.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/cli.cjs +6 -11
  2. package/dist/assets/{arc-De_WjPJ3.js → arc-CbOXL0l9.js} +1 -1
  3. package/dist/assets/{blockDiagram-c4efeb88-C4aR2zTE.js → blockDiagram-c4efeb88-CqxINvsS.js} +1 -1
  4. package/dist/assets/{c4Diagram-c83219d4-BZH3rq_m.js → c4Diagram-c83219d4-BKazU0hb.js} +1 -1
  5. package/dist/assets/channel-Dnopc5A6.js +1 -0
  6. package/dist/assets/{classDiagram-beda092f-BzJgBrIK.js → classDiagram-beda092f-fAFX5BpB.js} +1 -1
  7. package/dist/assets/{classDiagram-v2-2358418a-5ZtXcnT3.js → classDiagram-v2-2358418a-w1VkNGJj.js} +1 -1
  8. package/dist/assets/clone-sQthahUA.js +1 -0
  9. package/dist/assets/{createText-1719965b-DUVvEtmR.js → createText-1719965b-CEinakVP.js} +1 -1
  10. package/dist/assets/{cssMode-GoTNjuXX.js → cssMode-DPqRki4y.js} +1 -1
  11. package/dist/assets/{edges-96097737-Dd7m4Cvs.js → edges-96097737-Cb0F1_3K.js} +1 -1
  12. package/dist/assets/{erDiagram-0228fc6a-DxqFlG_f.js → erDiagram-0228fc6a-C-N2fx-J.js} +1 -1
  13. package/dist/assets/{flowDb-c6c81e3f-DU0C5kCI.js → flowDb-c6c81e3f-D1Xz_8Gf.js} +1 -1
  14. package/dist/assets/{flowDiagram-50d868cf-Di1uDa_X.js → flowDiagram-50d868cf-DyPSZyAj.js} +1 -1
  15. package/dist/assets/flowDiagram-v2-4f6560a1-OazrdWQO.js +1 -0
  16. package/dist/assets/{flowchart-elk-definition-6af322e1-CwG8aty5.js → flowchart-elk-definition-6af322e1-Dr1DDXwE.js} +1 -1
  17. package/dist/assets/{freemarker2-j39cqTlI.js → freemarker2-C3DvPFaK.js} +1 -1
  18. package/dist/assets/{ganttDiagram-a2739b55-baO_lzL-.js → ganttDiagram-a2739b55-DmvY1GRj.js} +1 -1
  19. package/dist/assets/{gitGraphDiagram-82fe8481-COoHjYMf.js → gitGraphDiagram-82fe8481-CoXfPYYi.js} +1 -1
  20. package/dist/assets/{graph-KxESr4M5.js → graph-BkDQy7Qt.js} +1 -1
  21. package/dist/assets/{handlebars-BgjdZO8G.js → handlebars-BcTFdqjl.js} +1 -1
  22. package/dist/assets/{html-Ba7tYObe.js → html-Dg-O6XFr.js} +1 -1
  23. package/dist/assets/{htmlMode-Bztvbig1.js → htmlMode-B_wqYWvn.js} +1 -1
  24. package/dist/assets/{index-5325376f-BMTAx2mL.js → index-5325376f-kxPTR3_e.js} +1 -1
  25. package/dist/assets/index-o93dlo92.css +32 -0
  26. package/dist/assets/{index-Pm_kLJvG.js → index-wkhI4dr6.js} +350 -329
  27. package/dist/assets/{infoDiagram-8eee0895-CC74qbHY.js → infoDiagram-8eee0895-BEvqkwPI.js} +1 -1
  28. package/dist/assets/{javascript-C1e1cllX.js → javascript-DhlOH8_z.js} +1 -1
  29. package/dist/assets/{journeyDiagram-c64418c1-C4MyOdE6.js → journeyDiagram-c64418c1-gKtLYmmp.js} +1 -1
  30. package/dist/assets/{jsonMode-BC98AlvF.js → jsonMode-DxTbF9OD.js} +1 -1
  31. package/dist/assets/{layout-CxAyTlr7.js → layout-CDaZEk6E.js} +1 -1
  32. package/dist/assets/{line-DhaUfI71.js → line-DNRQu8iq.js} +1 -1
  33. package/dist/assets/{linear-MYukzldK.js → linear-Cph9Z6_j.js} +1 -1
  34. package/dist/assets/{liquid-DahfJEYl.js → liquid-ByZ6JgRG.js} +1 -1
  35. package/dist/assets/{lspLanguageFeatures-BWDJcswW.js → lspLanguageFeatures-DzvhkgnM.js} +1 -1
  36. package/dist/assets/{mdx-BELlF_FD.js → mdx-D8RGHTl6.js} +1 -1
  37. package/dist/assets/{mermaid.core-BrQnSGSY.js → mermaid.core-BgcryF__.js} +4 -4
  38. package/dist/assets/{mindmap-definition-8da855dc-B0FoxTiy.js → mindmap-definition-8da855dc-WrxK0FcB.js} +1 -1
  39. package/dist/assets/{pieDiagram-a8764435-Ddr2cjSL.js → pieDiagram-a8764435-VsZBsiQy.js} +1 -1
  40. package/dist/assets/{python--C9if_AD.js → python-CXVtk_cg.js} +1 -1
  41. package/dist/assets/{quadrantDiagram-1e28029f-BlEs7Mrl.js → quadrantDiagram-1e28029f-BVlgwOvU.js} +1 -1
  42. package/dist/assets/{razor-B9U9JxKn.js → razor-0tind7h2.js} +1 -1
  43. package/dist/assets/{requirementDiagram-08caed73-kEFOAu2v.js → requirementDiagram-08caed73-CpPMPoYp.js} +1 -1
  44. package/dist/assets/{sankeyDiagram-a04cb91d-BBghez8I.js → sankeyDiagram-a04cb91d-Cm5nnRmc.js} +1 -1
  45. package/dist/assets/{sequenceDiagram-c5b8d532-CJqgzdUE.js → sequenceDiagram-c5b8d532-DpMlJvJB.js} +1 -1
  46. package/dist/assets/{stateDiagram-1ecb1508-BER4XEI6.js → stateDiagram-1ecb1508-DU1zc7vq.js} +1 -1
  47. package/dist/assets/{stateDiagram-v2-c2b004d7-EBV2vSks.js → stateDiagram-v2-c2b004d7-D-0RgmAp.js} +1 -1
  48. package/dist/assets/{styles-b4e223ce-k0eswZsE.js → styles-b4e223ce-BSO-yNWV.js} +1 -1
  49. package/dist/assets/{styles-ca3715f6-Ckr7GA-0.js → styles-ca3715f6-CHnsn2Ro.js} +1 -1
  50. package/dist/assets/{styles-d45a18b0-C1bpSwV3.js → styles-d45a18b0-B-rVGjEq.js} +1 -1
  51. package/dist/assets/{svgDrawCommon-b86b1483-CDtKpGvy.js → svgDrawCommon-b86b1483-CA3Pl89f.js} +1 -1
  52. package/dist/assets/{timeline-definition-faaaa080-BeGR-vua.js → timeline-definition-faaaa080-BcihLR6s.js} +1 -1
  53. package/dist/assets/{tsMode-D_gJXIy3.js → tsMode-D9GGa5Ur.js} +1 -1
  54. package/dist/assets/{typescript-BoKcNXkN.js → typescript-BT9CK_EL.js} +1 -1
  55. package/dist/assets/{xml-DZvURlJ-.js → xml-DNO75J-T.js} +1 -1
  56. package/dist/assets/{xychartDiagram-f5964ef8-DxfeLuYV.js → xychartDiagram-f5964ef8-DJTwe32X.js} +1 -1
  57. package/dist/assets/{yaml-CTC8PAGY.js → yaml-7CVzhiP2.js} +1 -1
  58. package/dist/index.html +2 -2
  59. package/package.json +13 -10
  60. package/src/api/git.ts +12 -0
  61. package/src/api/sessions.ts +131 -4
  62. package/src/api/types.ts +2 -1
  63. package/src/api.ts +13 -0
  64. package/src/components/ArchiveView.scss +143 -54
  65. package/src/components/ArchiveView.tsx +181 -167
  66. package/src/components/CodeBlock.scss +5 -0
  67. package/src/components/ConfigView.scss +142 -31
  68. package/src/components/ConfigView.tsx +161 -86
  69. package/src/components/MarkdownContent.tsx +7 -0
  70. package/src/components/NavRail.scss +248 -0
  71. package/src/components/NavRail.tsx +80 -107
  72. package/src/components/NavRailCompact.tsx +107 -0
  73. package/src/components/NavRailCompactMoreSheet.tsx +141 -0
  74. package/src/components/ShortcutTooltip.tsx +4 -2
  75. package/src/components/Sidebar.scss +51 -0
  76. package/src/components/Sidebar.tsx +43 -16
  77. package/src/components/automation-view/RuleFormPanel.scss +40 -13
  78. package/src/components/automation-view/RuleSidebar.scss +73 -47
  79. package/src/components/automation-view/RuleSidebar.tsx +9 -13
  80. package/src/components/automation-view/RunHistoryPanel.scss +141 -13
  81. package/src/components/automation-view/RunHistoryPanel.tsx +203 -161
  82. package/src/components/automation-view/TaskList.scss +44 -13
  83. package/src/components/automation-view/TriggerList.scss +46 -14
  84. package/src/components/automation-view/index.scss +82 -10
  85. package/src/components/automation-view/index.tsx +108 -55
  86. package/src/components/benchmark-view/BenchmarkCasePanel.scss +36 -16
  87. package/src/components/benchmark-view/BenchmarkSidebar.scss +44 -22
  88. package/src/components/benchmark-view/BenchmarkSidebar.tsx +0 -6
  89. package/src/components/benchmark-view/BenchmarkView.scss +63 -20
  90. package/src/components/benchmark-view/index.tsx +71 -34
  91. package/src/components/chat/AGENTS.md +14 -2
  92. package/src/components/chat/ChatComposerCard.scss +77 -0
  93. package/src/components/chat/ChatComposerCard.tsx +59 -0
  94. package/src/components/chat/ChatHeader.scss +187 -0
  95. package/src/components/chat/ChatHeader.tsx +209 -57
  96. package/src/components/chat/ChatHistoryView.tsx +279 -52
  97. package/src/components/chat/ChatTimelineView.scss +94 -1
  98. package/src/components/chat/ChatTimelineView.tsx +42 -0
  99. package/src/components/chat/CurrentTodoList.scss +210 -200
  100. package/src/components/chat/CurrentTodoList.tsx +116 -48
  101. package/src/components/chat/NewSessionGuide.scss +139 -1
  102. package/src/components/chat/NewSessionGuide.tsx +57 -100
  103. package/src/components/chat/NewSessionGuideCompactPanel.tsx +130 -0
  104. package/src/components/chat/NewSessionGuideGrid.tsx +141 -0
  105. package/src/components/chat/QueuedMessagesCard.scss +195 -0
  106. package/src/components/chat/QueuedMessagesCard.tsx +170 -0
  107. package/src/components/chat/git-controls/BranchSwitcherDropdown.tsx +61 -56
  108. package/src/components/chat/git-controls/BranchSwitcherResults.tsx +167 -0
  109. package/src/components/chat/git-controls/BranchTreeEntries.tsx +99 -0
  110. package/src/components/chat/git-controls/ChatGitControls.scss +437 -5
  111. package/src/components/chat/git-controls/ChatGitControls.tsx +136 -109
  112. package/src/components/chat/git-controls/DraftGitControls.tsx +91 -0
  113. package/src/components/chat/git-controls/GitOperationsDropdown.tsx +10 -2
  114. package/src/components/chat/git-controls/GitWorktreeDropdown.tsx +301 -28
  115. package/src/components/chat/git-controls/git-branch-tree.ts +148 -0
  116. package/src/components/chat/git-controls/use-chat-draft-git-controls.ts +168 -0
  117. package/src/components/chat/git-controls/use-chat-git-controls.ts +76 -3
  118. package/src/components/chat/messages/MessageContextMenu.tsx +3 -1
  119. package/src/components/chat/messages/MessageItem.scss +78 -4
  120. package/src/components/chat/messages/MessageItem.tsx +47 -3
  121. package/src/components/chat/sender/@components/adapter-select/AdapterSelectControl.scss +23 -0
  122. package/src/components/chat/sender/@components/reference-actions/ReferenceActionsControl.scss +17 -0
  123. package/src/components/chat/sender/@components/reference-actions/ReferencePermissionActionsPopover.tsx +4 -1
  124. package/src/components/chat/sender/@components/sender-attachments/SenderAttachments.scss +167 -30
  125. package/src/components/chat/sender/@components/sender-attachments/SenderAttachments.tsx +95 -23
  126. package/src/components/chat/sender/@components/sender-body/SenderBody.tsx +10 -0
  127. package/src/components/chat/sender/@components/sender-interaction-panel/SenderInteractionPanel.scss +161 -45
  128. package/src/components/chat/sender/@components/sender-interaction-panel/SenderInteractionPanel.tsx +310 -71
  129. package/src/components/chat/sender/@components/sender-monaco-editor/SenderMonacoEditor.tsx +18 -0
  130. package/src/components/chat/sender/@components/sender-monaco-editor/use-sender-monaco-editor.ts +86 -9
  131. package/src/components/chat/sender/@components/sender-monaco-editor/use-sender-monaco-theme.ts +52 -3
  132. package/src/components/chat/sender/@components/sender-submit-action/SenderSubmitAction.scss +110 -1
  133. package/src/components/chat/sender/@components/sender-submit-action/SenderSubmitAction.tsx +137 -17
  134. package/src/components/chat/sender/@components/sender-toolbar/SenderSelectBase.scss +21 -0
  135. package/src/components/chat/sender/@components/sender-toolbar/SenderSelectShared.scss +21 -0
  136. package/src/components/chat/sender/@components/sender-toolbar/SenderToolbar.scss +63 -0
  137. package/src/components/chat/sender/@components/sender-toolbar/SenderToolbar.tsx +12 -6
  138. package/src/components/chat/sender/@core/build-sender-controller-result.ts +6 -0
  139. package/src/components/chat/sender/@core/build-sender-toolbar.ts +25 -2
  140. package/src/components/chat/sender/@core/create-sender-toolbar-handlers.ts +9 -2
  141. package/src/components/chat/sender/@core/get-sender-runtime-state.ts +1 -1
  142. package/src/components/chat/sender/@core/interaction-request.ts +2 -2
  143. package/src/components/chat/sender/@core/sender-toolbar-bindings.ts +28 -4
  144. package/src/components/chat/sender/@hooks/use-model-select-browser.tsx +4 -2
  145. package/src/components/chat/sender/@hooks/use-sender-controller.ts +56 -11
  146. package/src/components/chat/sender/@hooks/use-sender-keydown.ts +64 -0
  147. package/src/components/chat/sender/@hooks/use-sender-shortcuts.ts +16 -1
  148. package/src/components/chat/sender/@hooks/use-sender-submit.ts +16 -8
  149. package/src/components/chat/sender/@types/sender-props.ts +20 -3
  150. package/src/components/chat/sender/@types/sender-toolbar-types.ts +12 -1
  151. package/src/components/chat/sender/Sender.scss +4 -1
  152. package/src/components/chat/sender/Sender.tsx +3 -12
  153. package/src/components/chat/session-timeline-panel/EventList.scss +88 -0
  154. package/src/components/chat/session-timeline-panel/EventList.tsx +99 -47
  155. package/src/components/chat/session-timeline-panel/gantt.ts +23 -7
  156. package/src/components/chat/session-timeline-panel/git-graph.ts +6 -1
  157. package/src/components/chat/session-timeline-panel/index.scss +14 -1
  158. package/src/components/chat/session-timeline-panel/index.tsx +86 -10
  159. package/src/components/chat/session-timeline-panel/types.ts +4 -0
  160. package/src/components/chat/status-bar/ChatStatusBar.scss +27 -0
  161. package/src/components/chat/status-bar/ChatStatusBar.tsx +39 -0
  162. package/src/components/chat/terminal/ChatTerminalView.tsx +6 -0
  163. package/src/components/chat/tools/core/ToolCallBox.scss +19 -0
  164. package/src/components/chat/tools/core/ToolGroup.scss +32 -0
  165. package/src/components/chat/tools/task/components/TaskToolCard.scss +59 -1
  166. package/src/components/config/ConfigEditors.scss +20 -6
  167. package/src/components/config/ConfigFieldRow.scss +57 -17
  168. package/src/components/config/ConfigSectionForm.scss +10 -4
  169. package/src/components/config/ConfigSectionPanel.tsx +18 -11
  170. package/src/components/config/configSchema.ts +1 -0
  171. package/src/components/config/record-editors/RecordEditors.scss +42 -9
  172. package/src/components/dock-panel/DockPanel.scss +6 -2
  173. package/src/components/dock-panel/DockPanel.tsx +12 -16
  174. package/src/components/knowledge-base/KnowledgeBaseView.scss +180 -6
  175. package/src/components/knowledge-base/KnowledgeBaseView.tsx +98 -26
  176. package/src/components/knowledge-base/components/ActionButton.scss +4 -0
  177. package/src/components/knowledge-base/components/EmptyState.scss +5 -8
  178. package/src/components/knowledge-base/components/EntitiesTab.tsx +8 -2
  179. package/src/components/knowledge-base/components/EntityItem.scss +10 -3
  180. package/src/components/knowledge-base/components/FilterBar.scss +13 -2
  181. package/src/components/knowledge-base/components/FlowsTab.tsx +8 -2
  182. package/src/components/knowledge-base/components/KnowledgeBaseHeader.scss +2 -23
  183. package/src/components/knowledge-base/components/KnowledgeBaseHeader.tsx +0 -5
  184. package/src/components/knowledge-base/components/KnowledgeList.scss +15 -6
  185. package/src/components/knowledge-base/components/LoadingState.scss +4 -0
  186. package/src/components/knowledge-base/components/RuleItem.scss +86 -0
  187. package/src/components/knowledge-base/components/RuleItem.tsx +2 -0
  188. package/src/components/knowledge-base/components/RulesTab.tsx +8 -2
  189. package/src/components/knowledge-base/components/SectionHeader.scss +3 -18
  190. package/src/components/knowledge-base/components/SectionHeader.tsx +3 -7
  191. package/src/components/knowledge-base/components/SkillsTab.tsx +8 -3
  192. package/src/components/knowledge-base/components/SpecItem.scss +16 -7
  193. package/src/components/layout/@hooks/use-mobile-sidebar-modal.ts +190 -0
  194. package/src/components/layout/AppShell.scss +106 -6
  195. package/src/components/layout/AppShell.tsx +118 -10
  196. package/src/components/layout/PageShell.scss +41 -0
  197. package/src/components/layout/PageShell.tsx +32 -0
  198. package/src/components/layout/mobile-sidebar-constants.ts +1 -0
  199. package/src/components/nav-rail-compact-config.ts +114 -0
  200. package/src/components/nav-rail-items.tsx +181 -0
  201. package/src/components/sidebar/SessionContextMenu.tsx +3 -1
  202. package/src/components/sidebar/SessionItem.scss +62 -0
  203. package/src/components/sidebar/SessionItem.tsx +97 -52
  204. package/src/components/sidebar/SessionList.tsx +6 -0
  205. package/src/components/sidebar/SidebarHeader.scss +49 -0
  206. package/src/components/sidebar/SidebarHeader.tsx +27 -5
  207. package/src/components/sidebar/SidebarHeaderBatchActions.tsx +8 -4
  208. package/src/components/sidebar/SidebarHeaderSearchActions.tsx +6 -3
  209. package/src/components/sidebar/SidebarUtilityFooter.tsx +69 -0
  210. package/src/components/workspace/ContextFilePicker.tsx +12 -4
  211. package/src/hooks/chat/chat-session-workspace-draft.ts +25 -0
  212. package/src/hooks/chat/session-view-cache.ts +4 -1
  213. package/src/hooks/chat/use-chat-adapter.ts +5 -1
  214. package/src/hooks/chat/use-chat-model-adapter-selection.tsx +5 -1
  215. package/src/hooks/chat/use-chat-scroll.ts +24 -7
  216. package/src/hooks/chat/use-chat-session-actions.ts +118 -6
  217. package/src/hooks/chat/use-chat-session-messages.ts +20 -1
  218. package/src/hooks/chat/use-chat-session.ts +2 -0
  219. package/src/hooks/use-responsive-layout.ts +115 -0
  220. package/src/main.tsx +8 -0
  221. package/src/resources/adapters.ts +15 -0
  222. package/src/resources/locales/en.json +84 -1
  223. package/src/resources/locales/zh.json +84 -1
  224. package/src/routes/ChatRoute.scss +152 -9
  225. package/src/routes/ChatRoute.tsx +31 -34
  226. package/src/store/index.ts +2 -0
  227. package/dist/assets/channel-BvERb8WU.js +0 -1
  228. package/dist/assets/clone-B9_0v-6Y.js +0 -1
  229. package/dist/assets/flowDiagram-v2-4f6560a1-LpS8Kb00.js +0 -1
  230. package/dist/assets/index-C1oh0w9H.css +0 -32
  231. package/src/components/chat/ThinkingStatus.scss +0 -70
  232. package/src/components/chat/ThinkingStatus.tsx +0 -13
package/src/api.ts CHANGED
@@ -26,8 +26,11 @@ export {
26
26
  commitSessionGitChanges,
27
27
  createSessionGitBranch,
28
28
  getSessionGitState,
29
+ getWorkspaceGitState,
29
30
  listSessionGitBranches,
30
31
  listSessionGitWorktrees,
32
+ listWorkspaceGitBranches,
33
+ listWorkspaceGitWorktrees,
31
34
  pushSessionGitBranch,
32
35
  syncSessionGitBranch
33
36
  } from './api/git'
@@ -42,12 +45,21 @@ export { createProject, listProjects } from './api/projects'
42
45
  // 会话与消息 API
43
46
  export {
44
47
  branchSessionFromMessage,
48
+ createQueuedMessage,
45
49
  createSession,
50
+ createSessionManagedWorktree,
51
+ deleteQueuedMessage,
46
52
  deleteSession,
47
53
  forkSession,
48
54
  getSessionMessages,
55
+ getSessionWorkspace,
56
+ listSessionWorkspaceTree,
49
57
  listSessions,
58
+ moveQueuedMessage,
59
+ reorderQueuedMessages,
50
60
  respondSessionInteraction,
61
+ transferSessionWorkspaceToLocal,
62
+ updateQueuedMessage,
51
63
  updateSession,
52
64
  updateSessionTitle
53
65
  } from './api/sessions'
@@ -72,3 +84,4 @@ export type {
72
84
  GitWorktreeSummary
73
85
  } from '@vibe-forge/types'
74
86
  export type { BenchmarkCase, BenchmarkCategory, BenchmarkResult, BenchmarkRunSummary } from '@vibe-forge/types'
87
+ export type { SessionWorkspace } from '@vibe-forge/types'
@@ -1,44 +1,19 @@
1
1
  .archive-view {
2
- padding: 24px;
3
- height: 100%;
4
- overflow: auto;
5
- display: flex;
6
- flex-direction: column;
7
- }
8
-
9
- .archive-view__header {
10
- margin-bottom: 16px;
11
- display: flex;
12
- align-items: center;
13
- justify-content: space-between;
14
- }
15
-
16
- .archive-view__title {
17
- display: flex;
18
- align-items: center;
19
- }
20
-
21
- .archive-view__title-icon {
22
- display: flex;
23
- align-items: center;
24
- font-size: 24px;
25
- color: var(--sub-text-color);
26
- }
27
-
28
- .archive-view__title-text {
29
- font-size: 18px;
30
- margin: 0;
2
+ .page-shell__header {
3
+ gap: 6px;
4
+ }
31
5
  }
32
6
 
33
7
  .archive-view__batch-info {
34
- font-size: 13px;
35
8
  color: var(--sub-text-color);
36
- margin-right: 8px;
9
+ font-size: 11px;
10
+ white-space: nowrap;
37
11
  }
38
12
 
39
13
  .archive-view__icon-button {
40
- width: 32px;
41
- height: 32px;
14
+ width: 28px;
15
+ min-width: 28px;
16
+ height: 28px;
42
17
  display: flex;
43
18
  align-items: center;
44
19
  justify-content: center;
@@ -52,47 +27,79 @@
52
27
  justify-content: center;
53
28
  }
54
29
 
55
- .archive-view__filter-bar {
56
- margin-bottom: 16px;
30
+ .archive-view__toolbar {
57
31
  display: flex;
58
32
  align-items: center;
59
33
  gap: 8px;
60
34
  }
61
35
 
36
+ .archive-view__toolbar-actions {
37
+ flex-shrink: 0;
38
+ }
39
+
62
40
  .archive-view__select-all {
63
- width: 24px;
64
- height: 24px;
41
+ width: 28px;
42
+ height: 28px;
65
43
  display: flex;
66
44
  align-items: center;
67
45
  justify-content: center;
68
46
  flex-shrink: 0;
47
+ border: 1px solid var(--border-color);
48
+ border-radius: 6px;
49
+ background: var(--bg-color);
69
50
  }
70
51
 
71
52
  .archive-view__search-input {
72
53
  flex: 1;
54
+ min-width: 0;
55
+
56
+ .ant-input-affix-wrapper {
57
+ height: 30px;
58
+ border-radius: 6px;
59
+ background: var(--bg-color);
60
+ padding: 0 8px;
61
+ font-size: 12px;
62
+ }
73
63
  }
74
64
 
75
65
  .archive-view__search-icon {
76
- font-size: 18px;
77
- color: var(--placeholder-color);
66
+ font-size: 14px;
67
+ color: var(--sub-text-color);
78
68
  }
79
69
 
80
70
  .archive-view__list {
81
71
  flex: 1;
72
+ min-height: 0;
73
+ overflow: auto;
74
+ margin: 0 var(--subpage-content-card-gap) var(--subpage-content-card-gap);
75
+ padding: 0 12px 12px;
76
+ border-radius: var(--subpage-content-card-radius);
77
+ background: var(--subpage-content-card-bg);
78
+
79
+ .ant-list-items {
80
+ display: flex;
81
+ flex-direction: column;
82
+ gap: 6px;
83
+ }
84
+
85
+ .ant-empty {
86
+ margin-top: 64px;
87
+ }
82
88
  }
83
89
 
84
90
  .archive-view__item {
85
- padding: 8px 0;
86
- border-bottom: 1px solid var(--border-color);
91
+ padding: 0 !important;
92
+ border-block-end: none !important;
87
93
  background: transparent;
88
94
  cursor: default;
89
95
  }
90
96
 
91
- .archive-view__item--selected {
92
- background: var(--tag-hover-bg);
97
+ .archive-view__item--selected .archive-view__item-row {
98
+ border-color: rgba(37, 99, 235, .32);
99
+ background: var(--primary-soft-bg);
93
100
  }
94
101
 
95
- .archive-view__item--batch {
102
+ .archive-view__item--batch .archive-view__item-row {
96
103
  cursor: pointer;
97
104
  }
98
105
 
@@ -100,7 +107,17 @@
100
107
  display: flex;
101
108
  align-items: center;
102
109
  width: 100%;
103
- gap: 8px;
110
+ gap: 6px;
111
+ padding: 8px;
112
+ border: 1px solid var(--border-color);
113
+ border-radius: 8px;
114
+ background: var(--bg-color);
115
+ transition: border-color .2s ease, background-color .2s ease;
116
+ }
117
+
118
+ .archive-view__item-row:hover {
119
+ border-color: var(--sidebar-hover-bg, #e5e5e5);
120
+ background: var(--sidebar-hover-bg, #e5e5e5);
104
121
  }
105
122
 
106
123
  .archive-view__item-select {
@@ -113,20 +130,32 @@
113
130
  }
114
131
 
115
132
  .archive-view__item-icon {
116
- font-size: 20px;
117
- color: var(--placeholder-color);
133
+ font-size: 16px;
134
+ color: var(--sub-text-color);
118
135
  flex-shrink: 0;
119
136
  }
120
137
 
121
138
  .archive-view__item-main {
122
139
  flex: 1;
123
140
  min-width: 0;
141
+ display: flex;
142
+ flex-direction: column;
143
+ align-items: flex-start;
144
+ gap: 4px;
145
+ }
146
+
147
+ .archive-view__item-meta {
124
148
  display: flex;
125
149
  align-items: center;
126
- gap: 12px;
150
+ gap: 6px;
151
+ width: 100%;
152
+ min-width: 0;
153
+ flex-wrap: wrap;
127
154
  }
128
155
 
129
156
  .archive-view__item-title {
157
+ font-size: 12px;
158
+ line-height: 1.35;
130
159
  font-weight: 500;
131
160
  overflow: hidden;
132
161
  text-overflow: ellipsis;
@@ -136,33 +165,93 @@
136
165
 
137
166
  .archive-view__item-tags {
138
167
  display: flex;
139
- gap: 4px;
168
+ gap: 3px;
140
169
  flex-shrink: 0;
141
170
  }
142
171
 
143
172
  .archive-view__item-tag {
144
- font-size: 11px;
173
+ font-size: 9px;
174
+ line-height: 13px;
175
+ padding-inline: 3px;
145
176
  border-radius: 2px;
146
177
  margin: 0;
147
178
  }
148
179
 
180
+ .archive-view__item-tag-count {
181
+ font-size: 10px;
182
+ line-height: 1;
183
+ color: var(--sub-text-color);
184
+ }
185
+
149
186
  .archive-view__item-time {
150
- font-size: 12px;
151
- color: var(--placeholder-color);
187
+ font-size: 10px;
188
+ line-height: 1;
189
+ color: var(--sub-text-color);
152
190
  flex-shrink: 0;
191
+ margin-left: auto;
192
+ max-width: 64px;
193
+ overflow: hidden;
194
+ transition: opacity .2s ease, max-width .2s ease, margin-left .2s ease;
153
195
  }
154
196
 
155
197
  .archive-view__item-actions {
156
198
  display: flex;
157
199
  gap: 4px;
158
200
  flex-shrink: 0;
201
+ max-width: 0;
202
+ overflow: hidden;
203
+ opacity: 0;
204
+ pointer-events: none;
205
+ transition: opacity .2s ease, max-width .24s ease;
206
+ }
207
+
208
+ .archive-view__item-row:hover .archive-view__item-actions {
209
+ max-width: 72px;
210
+ opacity: 1;
211
+ pointer-events: auto;
212
+ }
213
+
214
+ .archive-view__item-row:hover .archive-view__item-time {
215
+ opacity: 0;
216
+ max-width: 0;
217
+ margin-left: 0;
159
218
  }
160
219
 
161
220
  .archive-view__item-action-button {
162
- width: 24px;
163
- height: 24px;
221
+ width: 20px;
222
+ min-width: 20px;
223
+ height: 20px;
164
224
  display: flex;
165
225
  align-items: center;
166
226
  justify-content: center;
167
227
  padding: 0;
168
228
  }
229
+
230
+ @media (max-width: 960px) {
231
+ .archive-view__toolbar {
232
+ gap: 6px;
233
+ }
234
+
235
+ .archive-view__toolbar-actions {
236
+ display: inline-flex;
237
+ align-items: center;
238
+ }
239
+
240
+ .archive-view__item-actions {
241
+ max-width: 48px;
242
+ opacity: 1;
243
+ pointer-events: auto;
244
+ }
245
+
246
+ .archive-view__item-row:hover .archive-view__item-time {
247
+ opacity: 1;
248
+ max-width: none;
249
+ margin-left: 0;
250
+ }
251
+
252
+ .archive-view__item-action-button {
253
+ width: 24px;
254
+ min-width: 24px;
255
+ height: 24px;
256
+ }
257
+ }