Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ src/
│ ├── foundation/ # theme(设计令牌) / glass(玻璃) / base / dark
│ ├── desktop/ # surface / folder-panel / home
│ ├── components/ # dock / dock-layer / folder-tree / folder-popup
│ └── widgets/ # clock / weather / activity
│ └── widgets/ # clock / weather / activity / rss
├── components/
│ ├── ui/ # shadcn 基础组件
│ ├── ai/ # AI 助手 UI(AIAssistant / AIChatPanel / 子组件)
Expand All @@ -51,7 +51,8 @@ src/
│ │ ├── timer/ # TimerWidget.tsx
│ │ ├── note/ # NoteWidget.tsx
│ │ ├── weather/ # WeatherWidget.tsx + weather.ts(数据与纯逻辑)
│ │ └── activity/ # ActivityWidget.tsx + activity.ts(数据与纯逻辑)
│ │ ├── activity/ # ActivityWidget.tsx + activity.ts(数据与纯逻辑)
│ │ └── rss/ # RssWidget.tsx + RssFeedPopup.tsx + rss.ts(数据与纯逻辑)
│ ├── shell/ # 页面外壳(NewTab / SidePanel / SidePanelHome)
│ ├── desktop/ # 桌面系统(DesktopWorkspace / HomeDesktop / DesktopGridView / DesktopItemViews)
│ ├── dock/ # Dock 栏与文件夹浮层(Dock / DockFolderLayer)
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
- **时钟** — 显示在搜索框上方。
- **天气** — 实时天气与逐时/逐天预报(展开弹窗)。
- **米哈游活动** — 游戏活动日历与甘特图,支持自定义外显游戏与紧急提醒。
- **RSS 订阅** — 订阅 RSS/Atom/JSON Feed 并按时间列出更新,默认订阅 DeepSeek 服务状态。
- **计数器** / **秒表** / **笔记** — 通用小工具。

### AI 助手
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
"ai": "^7.0.109",
"clsx": "^2.1.1",
"date-fns": "^4.4.0",
"feedsmith": "^3.0.1",
"lucide-react": "^1.17.0",
"marked": "^18.0.5",
"react": "^19.2.7",
Expand Down
67 changes: 67 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

68 changes: 68 additions & 0 deletions public/_locales/en/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -1886,5 +1886,73 @@
"migrationRelease": {
"message": "Release to home desktop",
"description": "迁移选择文件夹确认按钮"
},
"rssWidgetName": {
"message": "RSS Feed",
"description": "RSS 小部件名称"
},
"rssWidgetDesc": {
"message": "Subscribe to RSS/Atom feeds and list updates by time; DeepSeek status by default",
"description": "RSS 小部件描述"
},
"rssFeedTitle": {
"message": "Feed entries",
"description": "RSS 订阅弹窗标题"
},
"rssLoading": {
"message": "Loading...",
"description": "订阅加载中"
},
"rssLoadFailed": {
"message": "Failed to load feed",
"description": "订阅获取失败"
},
"rssEmpty": {
"message": "No updates",
"description": "订阅暂无条目"
},
"rssRefresh": {
"message": "Refresh",
"description": "刷新订阅"
},
"rssUrlPlaceholder": {
"message": "Feed URL (RSS/Atom/JSON Feed)",
"description": "订阅地址输入占位符"
},
"rssApplyUrl": {
"message": "Subscribe",
"description": "应用订阅地址按钮"
},
"rssResetUrl": {
"message": "Default",
"description": "恢复默认订阅地址按钮"
},
"rssEntryCount": {
"message": "{n} entries",
"description": "订阅条目总数"
},
"rssStaleContent": {
"message": "Refresh failed, content may be out of date",
"description": "展示兜底旧内容时的提示"
},
"rssFeedKind": {
"message": "Feed type",
"description": "订阅类型选择标签"
},
"rssFeedKindStatus": {
"message": "Status",
"description": "订阅类型:状态页"
},
"rssFeedKindList": {
"message": "List",
"description": "订阅类型:列表"
},
"rssFeedKindStatusHint": {
"message": "Tile shows the latest entry only",
"description": "状态类说明"
},
"rssFeedKindListHint": {
"message": "Tile lists entries by time",
"description": "列表类说明"
}
}
68 changes: 68 additions & 0 deletions public/_locales/zh_CN/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -942,5 +942,73 @@
"migrationRelease": {
"message": "释放到主桌面",
"description": "迁移选择文件夹确认按钮"
},
"rssWidgetName": {
"message": "RSS 订阅",
"description": "RSS 小部件名称"
},
"rssWidgetDesc": {
"message": "订阅 RSS/Atom 源并按时间列出更新,默认订阅 DeepSeek 服务状态",
"description": "RSS 小部件描述"
},
"rssFeedTitle": {
"message": "订阅内容",
"description": "RSS 订阅弹窗标题"
},
"rssLoading": {
"message": "加载中...",
"description": "订阅加载中"
},
"rssLoadFailed": {
"message": "订阅获取失败",
"description": "订阅获取失败"
},
"rssEmpty": {
"message": "暂无更新",
"description": "订阅暂无条目"
},
"rssRefresh": {
"message": "刷新",
"description": "刷新订阅"
},
"rssUrlPlaceholder": {
"message": "订阅地址(RSS/Atom/JSON Feed)",
"description": "订阅地址输入占位符"
},
"rssApplyUrl": {
"message": "订阅",
"description": "应用订阅地址按钮"
},
"rssResetUrl": {
"message": "默认",
"description": "恢复默认订阅地址按钮"
},
"rssEntryCount": {
"message": "共 {n} 条",
"description": "订阅条目总数"
},
"rssStaleContent": {
"message": "刷新失败,内容可能不是最新",
"description": "展示兜底旧内容时的提示"
},
"rssFeedKind": {
"message": "订阅类型",
"description": "订阅类型选择标签"
},
"rssFeedKindStatus": {
"message": "状态",
"description": "订阅类型:状态页"
},
"rssFeedKindList": {
"message": "列表",
"description": "订阅类型:列表"
},
"rssFeedKindStatusHint": {
"message": "磁贴只显示最新一条",
"description": "状态类说明"
},
"rssFeedKindListHint": {
"message": "磁贴按时间列出多条",
"description": "列表类说明"
}
}
27 changes: 27 additions & 0 deletions src/assets/styles/components/context-menu.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
* 右键菜单(通用浮层)
*
* 背景与边框由 `.xb-glass-popover` 提供(令牌混色 + backdrop-filter),
* 本文件只补菜单自身需要的交互态:悬停/按下时的浅色叠层。
*
* 悬停刻意不用 Tailwind 的 `bg-accent`:那是实色,在玻璃背景上会盖出一块
* 不透明白底,与周围的通透感割裂。这里改用与玻璃同源的"前景色低透明度"叠层,
* 亮/暗主题下都能自然融入。
*/
.ctx-menu-item {
/* 菜单项是可点击控件,恢复文本选择语义下的光标 */
cursor: pointer;
transition: background 0.12s;
}

.ctx-menu-item:hover:not(:disabled) {
background: color-mix(in oklch, var(--color-foreground) 10%, transparent);
}

.ctx-menu-item:active:not(:disabled) {
background: color-mix(in oklch, var(--color-foreground) 16%, transparent);
}

.ctx-menu-item:disabled {
cursor: default;
}
Loading
Loading