diff --git a/.changeset/forty-items-report.md b/.changeset/forty-items-report.md new file mode 100644 index 00000000..a7b11165 --- /dev/null +++ b/.changeset/forty-items-report.md @@ -0,0 +1,7 @@ +--- +'@inkcre/ext-twitter': patch +--- + +Twitter 设置向导的步骤编号采用共同设计的直角轮廓,保持当前与已完成步骤的状态区分。 + +向导宽度同时受宿主容器约束,避免窄屏弹层的内边距使内容和关闭按钮被裁剪。 diff --git a/.changeset/i4-graph-read-errors.md b/.changeset/i4-graph-read-errors.md new file mode 100644 index 00000000..335831d3 --- /dev/null +++ b/.changeset/i4-graph-read-errors.md @@ -0,0 +1,5 @@ +--- +'@inkcre/core': patch +--- + +Block.find 传播数据库读取错误,避免 Graph 与 inspector 将读取失败误报为对象缺失。成功读取但没有匹配对象时仍返回 null。 diff --git a/.changeset/i4-graph.md b/.changeset/i4-graph.md new file mode 100644 index 00000000..c4f59d80 --- /dev/null +++ b/.changeset/i4-graph.md @@ -0,0 +1,5 @@ +--- +'@inkcre/client-web': patch +--- + +重组 Graph 上下文、按需视图选项、节点与关系操作,移除重复表达焦点状态的 Current 标签,补齐键盘聚焦、可读的方向弱化和原地址错误重试。 diff --git a/.changeset/i4-mail.md b/.changeset/i4-mail.md new file mode 100644 index 00000000..ac288e1d --- /dev/null +++ b/.changeset/i4-mail.md @@ -0,0 +1,5 @@ +--- +'@inkcre/ext-mail': patch +--- + +重组邮件阅读、信头、附件与内嵌内容,统一文件下载条目和事实摘要;在保留 HTML 隔离的前提下提供基础排印。 diff --git a/.changeset/i4-twitter.md b/.changeset/i4-twitter.md new file mode 100644 index 00000000..00eab29b --- /dev/null +++ b/.changeset/i4-twitter.md @@ -0,0 +1,5 @@ +--- +'@inkcre/ext-twitter': patch +--- + +重组 Twitter 配置步骤与已配置摘要,将应用设置按需展开,保留授权等待、失败草稿、来源调度与明确启动的操作边界。 diff --git a/.changeset/jolly-times-fry.md b/.changeset/jolly-times-fry.md new file mode 100644 index 00000000..7c209886 --- /dev/null +++ b/.changeset/jolly-times-fry.md @@ -0,0 +1,15 @@ +--- +'@inkcre/client-web': patch +'@inkcre/ext-mail': patch +'@inkcre/ext-twitter': patch +'@inkcre/ext-dev-utils': patch +'@inkcre/core': patch +--- + +迁移至正式 @inkcre/ui-web 2.0.0,统一 Vue 最低版本、Token 角色、按钮提交与加载态、JSON 草稿保存和日期确认行为;维护 Agent 从安装包读取同版本 DESIGN.md 与 Skill。 + +Peer 保存现在传播数据库错误,配置保存失败时保留草稿与弹窗,阻止无效或尚在验证中的内容提交,并在持久化期间禁止重复操作。 + +Host 与扩展共享 UI 运行时以继承 i18n、路由和表单上下文;Info-Base 浮层与 Mail 附件操作适应窄视口。 + +移除普通业务容器的旧圆角,按正文/标题/元数据职责使用字体角色,调整 Sources、Extensions 和 Job 详情的布局以适应容器宽度。打开的 Text、HTML 文本和 Tweet 内容不再沿用摘要截断。 diff --git a/.changeset/quiet-sources-read.md b/.changeset/quiet-sources-read.md new file mode 100644 index 00000000..4c967d68 --- /dev/null +++ b/.changeset/quiet-sources-read.md @@ -0,0 +1,13 @@ +--- +'@inkcre/client-web': patch +'@inkcre/core': patch +'@inkcre/ext-twitter': patch +--- + +来源列表集中展示名称、类型、ID 与当前采集入口;完整配置和删除集中到详情,创建来源与定时采集表单由明确动作打开。配置使用独立草稿,读取失败、schema 不可用、保存/删除等待和失败均有对应反馈,离开前保护未保存修改。 + +Source、SourceType 和来源页使用的 Job/Cron 数据库边界传播请求错误,避免把失败显示成空结果或删除成功。普通任务状态与例行保存采用中性表达,失败与超时继续强调。 + +Twitter 设置向导在来源切换读取失败时保留之前的来源与时间草稿,并显示错误,避免选项与实际采集目标不一致。 + +Web 注册同版本 UI Uno preset,让已有语义反馈工具类实际生效;来源创建与任务配置弹层的宽度受视口和宿主容器共同约束。 diff --git a/.changeset/quiet-ui-patch.md b/.changeset/quiet-ui-patch.md new file mode 100644 index 00000000..0cb51ee5 --- /dev/null +++ b/.changeset/quiet-ui-patch.md @@ -0,0 +1,10 @@ +--- +'@inkcre/client-web': patch +'@inkcre/ext-mail': patch +'@inkcre/ext-twitter': patch +'@inkcre/ext-dev-utils': patch +--- + +升级正式 @inkcre/ui-web 至 2.0.1,采用更新的设计指南、字体与中性色彩,并修复默认 Header 菜单图标不可见的问题。Web 与两个 Module Federation 扩展使用同一精确 UI 版本,不添加本地主题覆盖或图标 safelist 补丁。 + +侧栏宽度计入内边距与边框;移动端打开时覆盖主内容,避免裁切导航或将主内容挤成竖列。 diff --git a/.github/preview/extensions.json b/.github/preview/extensions.json index e207b88e..d9e48f73 100644 --- a/.github/preview/extensions.json +++ b/.github/preview/extensions.json @@ -5,6 +5,11 @@ "kind": "module_federation", "producer": "../../extensions/twitter/package.json", "artifact": "../../extensions/twitter/dist/client-web" + }, + { + "kind": "module_federation", + "producer": "../../extensions/mail/package.json", + "artifact": "../../extensions/mail/dist/client-web" } ] } diff --git a/AGENTS.md b/AGENTS.md index ff0afdb3..4e3045e7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,6 +14,10 @@ Reason in English. Communicate with humans in Chinese. - Physical-subtree hazards: the nearest local `AGENTS.md`. - Volatile work state: the active packet under `tasks/`. +UI 工作先读取 `apps/client-web/node_modules/@inkcre/ui-web/DESIGN.md` 与 `skills/ui-web/SKILL.md`,按所用组件进入同版本参考和迁移说明。扩展单独工作时使用其自身 node_modules 中的同一版本。包拥有设计与 API 规则,本仓库拥有业务流程和布局;纯后端任务无需加载这些 UI 文档。 + +当前 UI 2.0 迁移入口为 [task packet](tasks/ui-v2-migration/packet.md)。 + ## Working Protocol - Run `svc status . --json`, then use `svc lookup --keyword` and `svc lookup --path` only for guidance required by the current pressure. diff --git a/apps/client-web/package.json b/apps/client-web/package.json index 88013ef5..82f0b48f 100644 --- a/apps/client-web/package.json +++ b/apps/client-web/package.json @@ -11,26 +11,17 @@ "type-check": "vue-tsc --build" }, "dependencies": { - "@codemirror/autocomplete": "^6.20.0", - "@codemirror/commands": "^6.10.0", - "@codemirror/lang-json": "^6.0.2", - "@codemirror/lint": "^6.9.2", - "@codemirror/state": "^6.5.2", - "@codemirror/view": "^6.38.8", "@inkcre/core": "workspace:*", "@inkcre/extension-runtime-client-web": "https://github.com/InKCre/ext-reg/releases/download/runtime-client-web-v0.1.0/inkcre-extension-runtime-client-web-0.1.0.tgz", - "@inkcre/ui-web": "1.4.0", + "@inkcre/ui-web": "2.0.1", "@module-federation/runtime": "^0.21.4", "@supabase/postgrest-js": "^2.84.0", - "@vue-flow/background": "^1.3.2", "@vue-flow/core": "^1.48.1", "@vueuse/core": "^14.0.0", "dayjs": "^1.11.19", "jose": "^6.1.2", "pinia": "^3.0.3", - "vscode-json-languageservice": "^5.6.4", - "vscode-languageserver-textdocument": "^1.0.12", - "vue": "^3.5.18", + "vue": "^3.5.25", "vue-i18n": "^11.2.8", "vue-router": "^4.5.1", "zod": "^4.1.12", @@ -56,5 +47,10 @@ "vite": "^7.2.4", "vite-plugin-vue-devtools": "^8.0.0", "vue-tsc": "catalog:" + }, + "intent": { + "skills": [ + "@inkcre/ui-web" + ] } } diff --git a/apps/client-web/src/App.vue b/apps/client-web/src/App.vue index d58aa6c6..5cd6be21 100644 --- a/apps/client-web/src/App.vue +++ b/apps/client-web/src/App.vue @@ -38,6 +38,7 @@ const sidebarExpanded = ref(false) } .app-content { + position: relative; flex: 1; overflow: hidden; display: flex; @@ -47,7 +48,12 @@ const sidebarExpanded = ref(false) diff --git a/apps/client-web/src/components/common/AppSidePanel/AppSidePanel.md b/apps/client-web/src/components/common/AppSidePanel/AppSidePanel.md index 2aa75297..ec996799 100644 --- a/apps/client-web/src/components/common/AppSidePanel/AppSidePanel.md +++ b/apps/client-web/src/components/common/AppSidePanel/AppSidePanel.md @@ -1,39 +1,9 @@ # AppSidePanel -Application-specific sidebar panel component that displays the main navigation menu (Managing section). +应用导航由 Header 的 Menu 按钮控制,`expanded` 默认为 `false`。侧栏提供 Sources、Extensions、Settings 和 Info-Base 导航,切换路由时通过 `update:expanded(false)` 通知父组件关闭。 -## Features - -- Integrates SidePanel for expand/collapse functionality -- Displays Managing menu with Sources, Extensions, and Settings buttons -- Handles navigation internally (Sources, Extensions, Settings) -- Automatically expands on start view, collapses on other routes -- Manages its own expanded state - -## Usage +桌面端与页面并排显示,宽度包含内边距和边框。移动断点内覆盖 `.app-content`,避免压缩主内容;Header 保持可见,用户可再次激活 Menu 关闭侧栏。 ```vue - + ``` - -## Props - -| Prop | Type | Default | Description | -| ---------- | --------- | ------- | --------------------------------------------------- | -| `expanded` | `boolean` | `false` | Controls whether the panel is expanded or collapsed | - -## Emits - -| Event | Payload | Description | -| ----------------- | --------- | ------------------------------------------------------ | -| `update:expanded` | `boolean` | Emitted when the expanded state changes based on route | - -## Behavior - -- **On Start View (`/`)**: Panel expands by default -- **On Other Routes**: Panel collapses by default -- **Sources Button**: Navigates to `/sources` -- **Extensions Button**: Placeholder for future navigation -- **Settings Button**: Placeholder for future navigation diff --git a/apps/client-web/src/components/common/AppSidePanel/AppSidePanel.scss b/apps/client-web/src/components/common/AppSidePanel/AppSidePanel.scss index 334f9c28..62db1e4e 100644 --- a/apps/client-web/src/components/common/AppSidePanel/AppSidePanel.scss +++ b/apps/client-web/src/components/common/AppSidePanel/AppSidePanel.scss @@ -1,4 +1,5 @@ .app-side-panel { + box-sizing: border-box; width: 25%; min-width: 320px; max-width: 400px; @@ -10,9 +11,19 @@ gap: sys-var(space, md); background-color: sys-var(color, surface, base); + @include mobile { + position: absolute; + inset: 0; + width: 100%; + min-width: 0; + max-width: none; + z-index: 10; + border-left: 0; + } + &__content { background-color: sys-var(color, surface, subtle); - border: 1px solid sys-var(color, border, muted); + border: 1px solid sys-var(color, border, subtle); padding: sys-var(space, md); display: flex; flex-direction: column; diff --git a/apps/client-web/src/components/extension/extensionCard/extensionCard.scss b/apps/client-web/src/components/extension/extensionCard/extensionCard.scss index 45b64151..b0a792cd 100644 --- a/apps/client-web/src/components/extension/extensionCard/extensionCard.scss +++ b/apps/client-web/src/components/extension/extensionCard/extensionCard.scss @@ -7,10 +7,13 @@ background-color: sys-var(color, surface, base); box-sizing: border-box; width: 100%; - min-width: 280px; + min-width: 0; + overflow-wrap: anywhere; &__header { display: flex; + flex-wrap: wrap; + gap: sys-var(space, sm); justify-content: space-between; align-items: center; } @@ -20,7 +23,7 @@ } &__version { - @include apply-font(label-lg, mono); + @include apply-font(label-lg, $mono: true); color: sys-var(color, text, subtle); } @@ -31,6 +34,7 @@ &__actions { display: flex; + flex-wrap: wrap; gap: sys-var(space, sm); } @@ -42,7 +46,7 @@ &__error { @include apply-font(body-sm); - color: sys-var(color, danger, base); + color: sys-var(color, feedback, error); margin: 0; } } @@ -55,6 +59,7 @@ &__actions { display: flex; + flex-wrap: wrap; gap: sys-var(space, sm); justify-content: flex-end; margin-top: sys-var(space, md); diff --git a/apps/client-web/src/components/extension/extensionCard/extensionCard.vue b/apps/client-web/src/components/extension/extensionCard/extensionCard.vue index ae5aab33..91beb137 100644 --- a/apps/client-web/src/components/extension/extensionCard/extensionCard.vue +++ b/apps/client-web/src/components/extension/extensionCard/extensionCard.vue @@ -1,7 +1,14 @@