cc98-cli 0.4.0 → 0.5.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.
- package/CHANGELOG.md +14 -0
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +49 -3
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/storage/settings-store.d.ts +12 -0
- package/dist/storage/settings-store.d.ts.map +1 -0
- package/dist/storage/settings-store.js +46 -0
- package/dist/storage/settings-store.js.map +1 -0
- package/dist/tui/ansi.d.ts.map +1 -1
- package/dist/tui/ansi.js +5 -1
- package/dist/tui/ansi.js.map +1 -1
- package/dist/tui/app.js +1 -1
- package/dist/tui/app.js.map +1 -1
- package/dist/tui/components/content.d.ts +2 -0
- package/dist/tui/components/content.d.ts.map +1 -1
- package/dist/tui/components/content.js +47 -9
- package/dist/tui/components/content.js.map +1 -1
- package/dist/tui/components/status.d.ts +3 -0
- package/dist/tui/components/status.d.ts.map +1 -1
- package/dist/tui/components/status.js +21 -8
- package/dist/tui/components/status.js.map +1 -1
- package/dist/tui/components/utils.d.ts.map +1 -1
- package/dist/tui/components/utils.js +33 -12
- package/dist/tui/components/utils.js.map +1 -1
- package/dist/tui/controller.d.ts +36 -1
- package/dist/tui/controller.d.ts.map +1 -1
- package/dist/tui/controller.js +802 -124
- package/dist/tui/controller.js.map +1 -1
- package/dist/tui/emoji-art.d.ts +11 -0
- package/dist/tui/emoji-art.d.ts.map +1 -0
- package/dist/tui/emoji-art.js +371 -0
- package/dist/tui/emoji-art.js.map +1 -0
- package/dist/tui/emoji-renderer.d.ts +16 -0
- package/dist/tui/emoji-renderer.d.ts.map +1 -0
- package/dist/tui/emoji-renderer.js +110 -0
- package/dist/tui/emoji-renderer.js.map +1 -0
- package/dist/tui/image-renderer.d.ts +46 -0
- package/dist/tui/image-renderer.d.ts.map +1 -0
- package/dist/tui/image-renderer.js +259 -0
- package/dist/tui/image-renderer.js.map +1 -0
- package/dist/tui/keybindings.d.ts +24 -0
- package/dist/tui/keybindings.d.ts.map +1 -0
- package/dist/tui/keybindings.js +207 -0
- package/dist/tui/keybindings.js.map +1 -0
- package/dist/tui/navigation.d.ts.map +1 -1
- package/dist/tui/navigation.js +4 -0
- package/dist/tui/navigation.js.map +1 -1
- package/dist/tui/renderer.d.ts.map +1 -1
- package/dist/tui/renderer.js +181 -11
- package/dist/tui/renderer.js.map +1 -1
- package/dist/tui/state/store.d.ts.map +1 -1
- package/dist/tui/state/store.js +13 -2
- package/dist/tui/state/store.js.map +1 -1
- package/dist/tui/state/types.d.ts +24 -0
- package/dist/tui/state/types.d.ts.map +1 -1
- package/dist/tui/terminal-capabilities.d.ts +24 -0
- package/dist/tui/terminal-capabilities.d.ts.map +1 -0
- package/dist/tui/terminal-capabilities.js +55 -0
- package/dist/tui/terminal-capabilities.js.map +1 -0
- package/dist/tui/terminal.js +1 -1
- package/dist/tui/terminal.js.map +1 -1
- package/dist/tui/topic-reader.d.ts +9 -1
- package/dist/tui/topic-reader.d.ts.map +1 -1
- package/dist/tui/topic-reader.js +30 -14
- package/dist/tui/topic-reader.js.map +1 -1
- package/dist/tui/ubb-renderer.d.ts +5 -1
- package/dist/tui/ubb-renderer.d.ts.map +1 -1
- package/dist/tui/ubb-renderer.js +71 -25
- package/dist/tui/ubb-renderer.js.map +1 -1
- package/dist/update.d.ts +4 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +71 -11
- package/dist/update.js.map +1 -1
- package/dist/version.d.ts +2 -2
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +10 -2
- package/dist/version.js.map +1 -1
- package/package.json +2 -1
- package/dist/tui/components/layout.d.ts +0 -3
- package/dist/tui/components/layout.d.ts.map +0 -1
- package/dist/tui/components/layout.js +0 -453
- package/dist/tui/components/layout.js.map +0 -1
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
// 快捷键绑定系统
|
|
2
|
+
import { readFile, writeFile, mkdir } from "node:fs/promises";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { homedir } from "node:os";
|
|
5
|
+
// 默认快捷键映射
|
|
6
|
+
export const DEFAULT_KEYBINDINGS = {
|
|
7
|
+
// 导航
|
|
8
|
+
moveUp: ["k", "\x1b[A"],
|
|
9
|
+
moveDown: ["j", "\x1b[B"],
|
|
10
|
+
moveLeft: ["h", "\x1b[D"],
|
|
11
|
+
moveRight: ["l", "\x1b[C"],
|
|
12
|
+
confirm: ["\r"],
|
|
13
|
+
back: ["h", "\x1b[D", "\x1b"],
|
|
14
|
+
// 全局
|
|
15
|
+
search: ["/"],
|
|
16
|
+
refresh: ["r"],
|
|
17
|
+
menu: ["o"],
|
|
18
|
+
help: ["?"],
|
|
19
|
+
quit: ["q", "\u0003"],
|
|
20
|
+
// 帖子阅读
|
|
21
|
+
topicScrollUp: ["k", "\x1b[A"],
|
|
22
|
+
topicScrollDown: ["j", "\x1b[B"],
|
|
23
|
+
topicNextPage: ["}"],
|
|
24
|
+
topicPrevPage: ["{"],
|
|
25
|
+
topicNextFloor: ["]"],
|
|
26
|
+
topicPrevFloor: ["["],
|
|
27
|
+
topicJumpPage: ["g"],
|
|
28
|
+
topicJumpFloor: ["G"],
|
|
29
|
+
topicJumpLast: ["G"],
|
|
30
|
+
topicFavorite: ["s"],
|
|
31
|
+
topicLike: ["l"],
|
|
32
|
+
topicDislike: ["d"],
|
|
33
|
+
topicUser: ["u"],
|
|
34
|
+
topicVote: ["v"],
|
|
35
|
+
topicReaction: ["a"],
|
|
36
|
+
topicOpenImage: ["o"],
|
|
37
|
+
topicCopyLink: ["c"],
|
|
38
|
+
topicRefresh: ["r"],
|
|
39
|
+
// 列表
|
|
40
|
+
listNext: ["j", "\x1b[B"],
|
|
41
|
+
listPrev: ["k", "\x1b[A"],
|
|
42
|
+
listOpen: ["l", "\x1b[C", "\r"],
|
|
43
|
+
listBack: ["h", "\x1b[D"],
|
|
44
|
+
listRefresh: ["r"],
|
|
45
|
+
// 搜索
|
|
46
|
+
searchToggleMode: ["\t"],
|
|
47
|
+
searchNext: ["j", "\x1b[B"],
|
|
48
|
+
searchPrev: ["k", "\x1b[A"],
|
|
49
|
+
searchExecute: ["\r"],
|
|
50
|
+
searchClose: ["\x1b", "/"],
|
|
51
|
+
// 菜单
|
|
52
|
+
menuNext: ["j", "\x1b[B"],
|
|
53
|
+
menuPrev: ["k", "\x1b[A"],
|
|
54
|
+
menuExecute: ["\r", "l"],
|
|
55
|
+
menuClose: ["\x1b", "o"],
|
|
56
|
+
// 输入
|
|
57
|
+
inputConfirm: ["\r"],
|
|
58
|
+
inputCancel: ["\x1b"],
|
|
59
|
+
inputBackspace: ["\x7f"]
|
|
60
|
+
};
|
|
61
|
+
// 快捷键管理器
|
|
62
|
+
export class KeybindingManager {
|
|
63
|
+
config;
|
|
64
|
+
configPath;
|
|
65
|
+
loaded = false;
|
|
66
|
+
constructor() {
|
|
67
|
+
this.config = { ...DEFAULT_KEYBINDINGS };
|
|
68
|
+
this.configPath = join(homedir(), ".cc98-cli", "keybindings.json");
|
|
69
|
+
}
|
|
70
|
+
// 加载配置文件
|
|
71
|
+
async load() {
|
|
72
|
+
try {
|
|
73
|
+
const content = await readFile(this.configPath, "utf-8");
|
|
74
|
+
const userConfig = JSON.parse(content);
|
|
75
|
+
this.config = this.mergeConfig(DEFAULT_KEYBINDINGS, userConfig);
|
|
76
|
+
this.loaded = true;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// 文件不存在或解析失败,使用默认配置
|
|
80
|
+
this.config = { ...DEFAULT_KEYBINDINGS };
|
|
81
|
+
this.loaded = true;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// 保存配置文件
|
|
85
|
+
async save() {
|
|
86
|
+
try {
|
|
87
|
+
const dir = join(homedir(), ".cc98-cli");
|
|
88
|
+
await mkdir(dir, { recursive: true });
|
|
89
|
+
await writeFile(this.configPath, JSON.stringify(this.config, null, 2), "utf-8");
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
throw new Error(`保存快捷键配置失败: ${error instanceof Error ? error.message : String(error)}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// 合并配置(用户配置覆盖默认配置)
|
|
96
|
+
mergeConfig(defaults, user) {
|
|
97
|
+
const merged = { ...defaults };
|
|
98
|
+
for (const [action, keys] of Object.entries(user)) {
|
|
99
|
+
if (action in defaults) {
|
|
100
|
+
merged[action] = keys;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return merged;
|
|
104
|
+
}
|
|
105
|
+
// 获取动作的快捷键
|
|
106
|
+
getKeys(action) {
|
|
107
|
+
return this.config[action] ?? [];
|
|
108
|
+
}
|
|
109
|
+
// 检查按键是否匹配动作
|
|
110
|
+
matches(key, action) {
|
|
111
|
+
const keys = this.getKeys(action);
|
|
112
|
+
return keys.includes(key);
|
|
113
|
+
}
|
|
114
|
+
// 获取所有配置
|
|
115
|
+
getConfig() {
|
|
116
|
+
return { ...this.config };
|
|
117
|
+
}
|
|
118
|
+
// 更新动作的快捷键
|
|
119
|
+
updateAction(action, keys) {
|
|
120
|
+
this.config[action] = keys;
|
|
121
|
+
}
|
|
122
|
+
// 重置为默认配置
|
|
123
|
+
resetToDefault() {
|
|
124
|
+
this.config = { ...DEFAULT_KEYBINDINGS };
|
|
125
|
+
}
|
|
126
|
+
// 获取动作的描述
|
|
127
|
+
getActionDescription(action) {
|
|
128
|
+
const descriptions = {
|
|
129
|
+
moveUp: "上移",
|
|
130
|
+
moveDown: "下移",
|
|
131
|
+
moveLeft: "左移/返回",
|
|
132
|
+
moveRight: "右移/进入",
|
|
133
|
+
confirm: "确认",
|
|
134
|
+
back: "返回/取消",
|
|
135
|
+
search: "搜索",
|
|
136
|
+
refresh: "刷新",
|
|
137
|
+
menu: "菜单",
|
|
138
|
+
help: "帮助",
|
|
139
|
+
quit: "退出",
|
|
140
|
+
topicScrollUp: "帖子上滚",
|
|
141
|
+
topicScrollDown: "帖子下滚",
|
|
142
|
+
topicNextPage: "下一页",
|
|
143
|
+
topicPrevPage: "上一页",
|
|
144
|
+
topicNextFloor: "下一层",
|
|
145
|
+
topicPrevFloor: "上一层",
|
|
146
|
+
topicJumpPage: "跳页",
|
|
147
|
+
topicJumpFloor: "跳楼",
|
|
148
|
+
topicJumpLast: "最后一页",
|
|
149
|
+
topicFavorite: "收藏",
|
|
150
|
+
topicLike: "点赞",
|
|
151
|
+
topicDislike: "踩",
|
|
152
|
+
topicUser: "查看用户",
|
|
153
|
+
topicVote: "查看投票",
|
|
154
|
+
topicReaction: "查看评价",
|
|
155
|
+
topicOpenImage: "打开图片",
|
|
156
|
+
topicCopyLink: "复制图片/链接",
|
|
157
|
+
topicRefresh: "刷新帖子",
|
|
158
|
+
listNext: "列表下移",
|
|
159
|
+
listPrev: "列表上移",
|
|
160
|
+
listOpen: "打开",
|
|
161
|
+
listBack: "返回",
|
|
162
|
+
listRefresh: "刷新列表",
|
|
163
|
+
searchToggleMode: "切换搜索模式",
|
|
164
|
+
searchNext: "搜索结果下移",
|
|
165
|
+
searchPrev: "搜索结果上移",
|
|
166
|
+
searchExecute: "执行搜索",
|
|
167
|
+
searchClose: "关闭搜索",
|
|
168
|
+
menuNext: "菜单下移",
|
|
169
|
+
menuPrev: "菜单上移",
|
|
170
|
+
menuExecute: "执行菜单项",
|
|
171
|
+
menuClose: "关闭菜单",
|
|
172
|
+
inputConfirm: "确认输入",
|
|
173
|
+
inputCancel: "取消输入",
|
|
174
|
+
inputBackspace: "退格"
|
|
175
|
+
};
|
|
176
|
+
return descriptions[action] ?? action;
|
|
177
|
+
}
|
|
178
|
+
// 格式化按键显示
|
|
179
|
+
formatKey(key) {
|
|
180
|
+
const specialKeys = {
|
|
181
|
+
"\r": "Enter",
|
|
182
|
+
"\x1b": "Esc",
|
|
183
|
+
"\t": "Tab",
|
|
184
|
+
"\x7f": "Backspace",
|
|
185
|
+
"\u0003": "Ctrl+C",
|
|
186
|
+
"\x1b[A": "↑",
|
|
187
|
+
"\x1b[B": "↓",
|
|
188
|
+
"\x1b[C": "→",
|
|
189
|
+
"\x1b[D": "←"
|
|
190
|
+
};
|
|
191
|
+
return specialKeys[key] ?? key;
|
|
192
|
+
}
|
|
193
|
+
// 格式化动作的快捷键显示
|
|
194
|
+
formatActionKeys(action) {
|
|
195
|
+
const keys = this.getKeys(action);
|
|
196
|
+
return keys.map(k => this.formatKey(k)).join("/");
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
// 单例实例
|
|
200
|
+
let instance = null;
|
|
201
|
+
export function getKeybindingManager() {
|
|
202
|
+
if (!instance) {
|
|
203
|
+
instance = new KeybindingManager();
|
|
204
|
+
}
|
|
205
|
+
return instance;
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=keybindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keybindings.js","sourceRoot":"","sources":["../../src/tui/keybindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/tui/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE7D,eAAO,MAAM,QAAQ,EAAE,SAAS,OAAO,EAUtC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/tui/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE7D,eAAO,MAAM,QAAQ,EAAE,SAAS,OAAO,EAUtC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAU/C,CAAC"}
|
package/dist/tui/navigation.js
CHANGED
|
@@ -11,8 +11,12 @@ export const navItems = [
|
|
|
11
11
|
];
|
|
12
12
|
export const settingsItems = [
|
|
13
13
|
{ title: "切换账号", meta: "account", detail: "选择或管理登录账号" },
|
|
14
|
+
{ title: "自动签到", meta: "auto-signin", detail: "启动后为所有账号执行每日签到" },
|
|
14
15
|
{ title: "检查更新", meta: "update", detail: "检查 CC98-CLI 新版本" },
|
|
15
16
|
{ title: "缓存管理", meta: "cache", detail: "查看和清理本地缓存" },
|
|
17
|
+
{ title: "CC98 像素 Logo", meta: "pixel-logo", detail: "查看终端像素化的 CC98 标识" },
|
|
18
|
+
{ title: "表情包预览", meta: "emoji-preview", detail: "按分类查看 365 个终端像素表情" },
|
|
19
|
+
{ title: "快捷键设置", meta: "keybindings", detail: "自定义快捷键绑定" },
|
|
16
20
|
{ title: "快捷键帮助", meta: "help", detail: "查看所有可用快捷键" },
|
|
17
21
|
{ title: "退出登录", meta: "logout", detail: "清除本地登录信息" }
|
|
18
22
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tui/navigation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IACxC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7C,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;IACvC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3C,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAC9C,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7C,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IACvC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE;IACvD,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE;IAC5D,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE;IACrD,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;IACrD,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE;CACtD,CAAC"}
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tui/navigation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IACxC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7C,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;IACvC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3C,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAC9C,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7C,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IACvC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE;IACvD,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE;IAChE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE;IAC5D,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE;IACrD,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE;IACzE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,mBAAmB,EAAE;IACtE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE;IAC3D,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;IACrD,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE;CACtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/tui/renderer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/tui/renderer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAyBnE,wBAAgB,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAuIrF"}
|
package/dist/tui/renderer.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { ansi, bg, fg, stripAnsi } from "./ansi.js";
|
|
1
|
+
import { ansi, bg, fg, moveTo, stripAnsi } from "./ansi.js";
|
|
2
2
|
import { Header, Overview, Sidebar, Content, StatusBar, fit, blank } from "./components/index.js";
|
|
3
3
|
import { navItems } from "./navigation.js";
|
|
4
4
|
import { currentTopicLine, currentTopicPost, lineKindLabel } from "./topic-reader.js";
|
|
5
|
+
import { getKeybindingManager } from "./keybindings.js";
|
|
5
6
|
import { BOX_ROUNDED } from "./borders.js";
|
|
7
|
+
import { EMOJI_CATEGORIES, getEmojiArt, renderEmojiCode } from "./emoji-renderer.js";
|
|
8
|
+
import { getImageDimensionsSync, renderLocalImageSync } from "./image-renderer.js";
|
|
9
|
+
import { detectTerminalCapabilities, supportsInlineImages } from "./terminal-capabilities.js";
|
|
6
10
|
const cc98Blue = fg(0, 130, 202);
|
|
7
11
|
const cc98BlueSoft = fg(94, 180, 232);
|
|
8
12
|
const white = fg(245, 250, 255);
|
|
@@ -16,6 +20,8 @@ const overview = new Overview();
|
|
|
16
20
|
const sidebar = new Sidebar();
|
|
17
21
|
const content = new Content();
|
|
18
22
|
const statusBar = new StatusBar();
|
|
23
|
+
const keybindings = getKeybindingManager();
|
|
24
|
+
const imagePreviewMarker = "\x00cc98-image-preview\x00";
|
|
19
25
|
export function draw(state, size) {
|
|
20
26
|
const width = Math.max(60, size.columns);
|
|
21
27
|
const height = Math.max(20, size.rows);
|
|
@@ -71,9 +77,16 @@ export function draw(state, size) {
|
|
|
71
77
|
ansi.reset);
|
|
72
78
|
}
|
|
73
79
|
const sidebarLines = sidebar.render(state, sidebarWidth, bodyHeight);
|
|
74
|
-
const mainLines = content.render(state, mainWidth, bodyHeight);
|
|
80
|
+
const mainLines = content.render(state, mainWidth - 2, bodyHeight);
|
|
75
81
|
const rightLines = rightWidth > 0 ? drawRight(state, rightWidth, bodyHeight) : [];
|
|
82
|
+
const overlays = [];
|
|
83
|
+
const bodyStartRow = 5;
|
|
84
|
+
const rightContentColumn = sidebarWidth + mainWidth;
|
|
76
85
|
for (let row = 0; row < bodyHeight; row += 1) {
|
|
86
|
+
const rawRightLine = rightLines[row] ?? "";
|
|
87
|
+
const imagePreview = rawRightLine.startsWith(imagePreviewMarker)
|
|
88
|
+
? rawRightLine.slice(imagePreviewMarker.length)
|
|
89
|
+
: undefined;
|
|
77
90
|
const parts = [
|
|
78
91
|
line + box.vertical + ansi.reset,
|
|
79
92
|
fit(sidebarLines[row] ?? "", sidebarWidth - 2),
|
|
@@ -81,7 +94,10 @@ export function draw(state, size) {
|
|
|
81
94
|
fit(mainLines[row] ?? "", mainWidth - 2)
|
|
82
95
|
];
|
|
83
96
|
if (rightWidth > 0) {
|
|
84
|
-
|
|
97
|
+
if (imagePreview !== undefined) {
|
|
98
|
+
overlays.push(`${moveTo(bodyStartRow + row, rightContentColumn)}${imagePreview}`);
|
|
99
|
+
}
|
|
100
|
+
parts.push(line + box.vertical + ansi.reset, fit(imagePreview === undefined ? rawRightLine : "", rightWidth - 2), line + box.vertical + ansi.reset);
|
|
85
101
|
}
|
|
86
102
|
else {
|
|
87
103
|
parts.push(line + box.vertical + ansi.reset);
|
|
@@ -121,17 +137,41 @@ export function draw(state, size) {
|
|
|
121
137
|
output = drawSearchModal(lines, state, width, height);
|
|
122
138
|
if (state.modal === "user")
|
|
123
139
|
output = drawUserDetailModal(lines, state, width, height);
|
|
140
|
+
if (state.modal === null && overlays.length > 0) {
|
|
141
|
+
output += overlays.join("") + moveTo(height, 1);
|
|
142
|
+
}
|
|
124
143
|
return output;
|
|
125
144
|
}
|
|
126
145
|
function drawRight(state, width, height) {
|
|
127
146
|
if (state.mode === "topic" && state.topic) {
|
|
128
|
-
return drawTopicRight(state.topic, state.
|
|
147
|
+
return drawTopicRight(state.topic, state.topic.cursorLine, width, height);
|
|
148
|
+
}
|
|
149
|
+
// 新版本更新通知(首次显示)
|
|
150
|
+
if (state.updateAvailable?.isNew) {
|
|
151
|
+
return drawUpdateRight(state.updateAvailable, width, height);
|
|
129
152
|
}
|
|
130
153
|
if (state.focus === "nav") {
|
|
131
154
|
return drawNavRight(state, width, height);
|
|
132
155
|
}
|
|
133
156
|
return drawItemRight(state, width, height);
|
|
134
157
|
}
|
|
158
|
+
function drawUpdateRight(update, width, height) {
|
|
159
|
+
const rows = [];
|
|
160
|
+
const updateFg = fg(255, 200, 50);
|
|
161
|
+
rows.push(`${updateFg}${ansi.bold} ⬆ 新版本可用${ansi.reset}`);
|
|
162
|
+
rows.push(`${cc98Blue}${ansi.bold} ${update.tagName}${ansi.reset}`);
|
|
163
|
+
rows.push(`${line}${"─".repeat(Math.max(0, width - 1))}${ansi.reset}`);
|
|
164
|
+
// 显示更新内容(截取前几行)
|
|
165
|
+
const bodyLines = update.body.split("\n").filter(l => l.trim()).slice(0, 6);
|
|
166
|
+
for (const lineText of bodyLines) {
|
|
167
|
+
if (rows.length >= height - 3)
|
|
168
|
+
break;
|
|
169
|
+
rows.push(`${muted} ${lineText.slice(0, width - 4)}${ansi.reset}`);
|
|
170
|
+
}
|
|
171
|
+
rows.push("");
|
|
172
|
+
rows.push(`${muted} Esc 关闭 任意键隐藏${ansi.reset}`);
|
|
173
|
+
return rows.concat(blank(height - rows.length, width)).slice(0, height);
|
|
174
|
+
}
|
|
135
175
|
function drawNavRight(state, width, height) {
|
|
136
176
|
const rows = [];
|
|
137
177
|
const nav = navItems[state.navIndex];
|
|
@@ -154,6 +194,15 @@ function drawItemRight(state, width, height) {
|
|
|
154
194
|
if (!selected) {
|
|
155
195
|
return blank(height, width);
|
|
156
196
|
}
|
|
197
|
+
if (selected.meta?.startsWith("emoji:")) {
|
|
198
|
+
return drawEmojiRight(selected.meta.slice("emoji:".length), width, height);
|
|
199
|
+
}
|
|
200
|
+
if (selected.meta?.startsWith("emoji-category:")) {
|
|
201
|
+
return drawEmojiCategoryRight(selected.meta.slice("emoji-category:".length), width, height);
|
|
202
|
+
}
|
|
203
|
+
if (selected.meta?.startsWith("emoji-batch:")) {
|
|
204
|
+
return drawEmojiBatchRight(selected.meta.slice("emoji-batch:".length), width, height);
|
|
205
|
+
}
|
|
157
206
|
const rows = [];
|
|
158
207
|
rows.push(`${cc98Blue}${ansi.bold} ${selected.title}${ansi.reset}`);
|
|
159
208
|
rows.push(`${line}${"─".repeat(Math.max(0, width - 1))}${ansi.reset}`);
|
|
@@ -175,6 +224,62 @@ function drawItemRight(state, width, height) {
|
|
|
175
224
|
}
|
|
176
225
|
return rows.concat(blank(height - rows.length, width)).slice(0, height);
|
|
177
226
|
}
|
|
227
|
+
function drawEmojiRight(code, width, height) {
|
|
228
|
+
const art = getEmojiArt(code);
|
|
229
|
+
const rendered = renderEmojiCode(code);
|
|
230
|
+
if (!art || !rendered) {
|
|
231
|
+
return [`${danger} 未找到 [${code}]${ansi.reset}`].concat(blank(height - 1, width)).slice(0, height);
|
|
232
|
+
}
|
|
233
|
+
const category = EMOJI_CATEGORIES.find((item) => item.codes.includes(code));
|
|
234
|
+
const rows = [];
|
|
235
|
+
rows.push(`${cc98Blue}${ansi.bold} [${code}]${ansi.reset}`);
|
|
236
|
+
rows.push(`${line}${"─".repeat(Math.max(0, width - 1))}${ansi.reset}`);
|
|
237
|
+
rows.push(`${muted} 分类: ${category?.label ?? "未知"}${ansi.reset}`);
|
|
238
|
+
rows.push(`${muted} 尺寸: ${art.width}x${art.height}px${ansi.reset}`);
|
|
239
|
+
rows.push(`${muted} 颜色: ${art.palette.length}${ansi.reset}`);
|
|
240
|
+
rows.push("");
|
|
241
|
+
rows.push(...rendered.split("\n"));
|
|
242
|
+
rows.push("");
|
|
243
|
+
rows.push(`${muted}Enter 放大预览${ansi.reset}`);
|
|
244
|
+
return rows.concat(blank(height - rows.length, width)).slice(0, height);
|
|
245
|
+
}
|
|
246
|
+
function drawEmojiCategoryRight(id, width, height) {
|
|
247
|
+
const category = EMOJI_CATEGORIES.find((item) => item.id === id);
|
|
248
|
+
if (!category) {
|
|
249
|
+
return blank(height, width);
|
|
250
|
+
}
|
|
251
|
+
const rows = [
|
|
252
|
+
`${cc98Blue}${ansi.bold} ${category.label}${ansi.reset}`,
|
|
253
|
+
`${line}${"─".repeat(Math.max(0, width - 1))}${ansi.reset}`,
|
|
254
|
+
`${muted} 来源: Assets/Emoji/${category.source}${ansi.reset}`,
|
|
255
|
+
`${muted} 数量: ${category.codes.length}${ansi.reset}`,
|
|
256
|
+
`${muted} 范围: ${category.codes[0]} - ${category.codes.at(-1)}${ansi.reset}`,
|
|
257
|
+
"",
|
|
258
|
+
`${muted}继续向下选择具体表情${ansi.reset}`
|
|
259
|
+
];
|
|
260
|
+
return rows.concat(blank(height - rows.length, width)).slice(0, height);
|
|
261
|
+
}
|
|
262
|
+
function drawEmojiBatchRight(value, width, height) {
|
|
263
|
+
const [id, batchValue] = value.split(":");
|
|
264
|
+
const batchNumber = Number(batchValue);
|
|
265
|
+
const category = EMOJI_CATEGORIES.find((item) => item.id === id);
|
|
266
|
+
if (!category || !Number.isFinite(batchNumber) || batchNumber < 1) {
|
|
267
|
+
return blank(height, width);
|
|
268
|
+
}
|
|
269
|
+
const start = (batchNumber - 1) * 20;
|
|
270
|
+
const codes = category.codes.slice(start, start + 20);
|
|
271
|
+
const rows = [
|
|
272
|
+
`${cc98Blue}${ansi.bold} ${category.label} 第 ${batchNumber} 批${ansi.reset}`,
|
|
273
|
+
`${line}${"─".repeat(Math.max(0, width - 1))}${ansi.reset}`,
|
|
274
|
+
`${muted} 数量: ${codes.length}${ansi.reset}`,
|
|
275
|
+
`${muted} 范围: ${codes[0] ?? "-"} - ${codes.at(-1) ?? "-"}${ansi.reset}`,
|
|
276
|
+
"",
|
|
277
|
+
...codes.map((code) => `${muted}[${code}]${ansi.reset}`),
|
|
278
|
+
"",
|
|
279
|
+
`${muted}继续向下逐个验收${ansi.reset}`
|
|
280
|
+
];
|
|
281
|
+
return rows.concat(blank(height - rows.length, width)).slice(0, height);
|
|
282
|
+
}
|
|
178
283
|
function drawTopicRight(topic, scroll, width, height) {
|
|
179
284
|
const rows = [];
|
|
180
285
|
const post = currentTopicPost(topic, scroll);
|
|
@@ -199,25 +304,90 @@ function drawTopicRight(topic, scroll, width, height) {
|
|
|
199
304
|
if (post.linkCount > 0)
|
|
200
305
|
rows.push(`${muted} 链接: ${post.linkCount}${ansi.reset}`);
|
|
201
306
|
}
|
|
307
|
+
if (topicLine?.kind === "image" && topicLine.imageUrl && rows.length < height - 4) {
|
|
308
|
+
rows.push(`${line}${"─".repeat(Math.max(0, width - 1))}${ansi.reset}`);
|
|
309
|
+
rows.push(...drawImagePreview(topic, topicLine.imageUrl, width, Math.max(0, height - rows.length - 4)));
|
|
310
|
+
}
|
|
202
311
|
rows.push(`${line}${"─".repeat(Math.max(0, width - 1))}${ansi.reset}`);
|
|
203
312
|
rows.push(`${muted} 当前: ${scroll + 1}/${topic.lines.length}${ansi.reset}`);
|
|
204
313
|
rows.push(`${muted} 已加载: ${topic.loaded} 楼${ansi.reset}`);
|
|
205
314
|
return rows.concat(blank(height - rows.length, width)).slice(0, height);
|
|
206
315
|
}
|
|
316
|
+
function drawImagePreview(topic, imageUrl, width, height) {
|
|
317
|
+
const rows = [];
|
|
318
|
+
const cachedPath = topic.imageCache.get(imageUrl);
|
|
319
|
+
rows.push(`${cc98Blue}${ansi.bold} 图片预览${ansi.reset}`);
|
|
320
|
+
if (height <= 1) {
|
|
321
|
+
return rows;
|
|
322
|
+
}
|
|
323
|
+
if (topic.imageErrors.has(imageUrl)) {
|
|
324
|
+
rows.push(`${danger} 下载失败${ansi.reset}`);
|
|
325
|
+
rows.push(`${muted} o 打开 c 复制图片${ansi.reset}`);
|
|
326
|
+
return rows.slice(0, height);
|
|
327
|
+
}
|
|
328
|
+
if (!cachedPath) {
|
|
329
|
+
rows.push(`${muted}${topic.imageLoading.has(imageUrl) ? " 加载中..." : " 等待缓存..."}${ansi.reset}`);
|
|
330
|
+
rows.push(`${muted} o 打开 c 复制图片${ansi.reset}`);
|
|
331
|
+
return rows.slice(0, height);
|
|
332
|
+
}
|
|
333
|
+
if (!supportsInlineImages()) {
|
|
334
|
+
const capabilities = detectTerminalCapabilities();
|
|
335
|
+
rows.push(`${muted} 当前终端未检测到图片协议${ansi.reset}`);
|
|
336
|
+
rows.push(`${muted} TERM=${capabilities.term || "-"}${ansi.reset}`);
|
|
337
|
+
rows.push(`${muted} o 打开 c 复制图片${ansi.reset}`);
|
|
338
|
+
return rows.slice(0, height);
|
|
339
|
+
}
|
|
340
|
+
const previewSize = estimateRightPreviewSize(cachedPath, width, Math.max(1, height - 2));
|
|
341
|
+
const rendered = renderLocalImageSync(cachedPath, {
|
|
342
|
+
maxWidth: previewSize.cols,
|
|
343
|
+
maxHeight: previewSize.rows
|
|
344
|
+
});
|
|
345
|
+
if (!rendered) {
|
|
346
|
+
rows.push(`${muted} 当前协议无法渲染此图片${ansi.reset}`);
|
|
347
|
+
rows.push(`${muted} o 打开 c 复制图片${ansi.reset}`);
|
|
348
|
+
return rows.slice(0, height);
|
|
349
|
+
}
|
|
350
|
+
rows.push(`${imagePreviewMarker}${rendered.escapeSequence}`);
|
|
351
|
+
rows.push(...blank(Math.max(0, previewSize.rows - 1), width));
|
|
352
|
+
rows.push(`${muted} o 打开 c 复制图片${ansi.reset}`);
|
|
353
|
+
return rows.slice(0, height);
|
|
354
|
+
}
|
|
355
|
+
function estimateRightPreviewSize(filePath, width, maxRows) {
|
|
356
|
+
const maxCols = Math.max(8, width - 2);
|
|
357
|
+
const clampedMaxRows = Math.max(4, Math.min(20, maxRows));
|
|
358
|
+
const fallback = { cols: Math.min(maxCols, 32), rows: Math.min(clampedMaxRows, 12) };
|
|
359
|
+
const dimensions = getImageDimensionsSync(filePath);
|
|
360
|
+
if (!dimensions || dimensions.width <= 0 || dimensions.height <= 0) {
|
|
361
|
+
return fallback;
|
|
362
|
+
}
|
|
363
|
+
const cellWidthPx = 8;
|
|
364
|
+
const cellHeightPx = 18;
|
|
365
|
+
const naturalCols = Math.max(1, Math.ceil(dimensions.width / cellWidthPx));
|
|
366
|
+
const naturalRows = Math.max(1, Math.ceil(dimensions.height / cellHeightPx));
|
|
367
|
+
const scale = Math.min(1, maxCols / naturalCols, clampedMaxRows / naturalRows);
|
|
368
|
+
return {
|
|
369
|
+
cols: Math.max(8, Math.min(maxCols, Math.round(naturalCols * scale))),
|
|
370
|
+
rows: Math.max(4, Math.min(clampedMaxRows, Math.round(naturalRows * scale)))
|
|
371
|
+
};
|
|
372
|
+
}
|
|
207
373
|
function drawHelpModal(baseLines, width, height) {
|
|
208
374
|
return overlay(baseLines, width, height, Math.min(60, width - 4), [
|
|
209
375
|
`${cc98Blue}${ansi.bold}快捷键帮助${ansi.reset}`,
|
|
210
376
|
"",
|
|
211
|
-
"
|
|
212
|
-
"
|
|
213
|
-
"
|
|
214
|
-
"
|
|
215
|
-
"
|
|
216
|
-
"
|
|
377
|
+
`导航: ${keys("moveDown")}/${keys("moveUp")} 移动 ${keys("back")} 返回 ${keys("confirm")} 打开`,
|
|
378
|
+
`全局: ${keys("search")} 搜索 ${keys("refresh")} 刷新 ${keys("menu")} 菜单 ${keys("help")} 帮助 ${keys("quit")} 退出`,
|
|
379
|
+
`帖子: ${keys("topicScrollDown")}/${keys("topicScrollUp")} 滚动 ${keys("topicNextPage")}/${keys("topicPrevPage")} 翻页 ${keys("topicNextFloor")}/${keys("topicPrevFloor")} 楼层`,
|
|
380
|
+
`帖子: 数字+${keys("topicJumpPage")} 跳页 数字+${keys("topicJumpFloor")} 跳楼 ${keys("topicJumpLast")} 最后`,
|
|
381
|
+
`帖子: ${keys("topicFavorite")} 收藏 ${keys("topicLike")} 赞 ${keys("topicDislike")} 踩 ${keys("topicUser")} 用户`,
|
|
382
|
+
`搜索: ${keys("searchNext")}/${keys("searchPrev")} 移动 ${keys("searchExecute")} 搜索/打开 ${keys("searchToggleMode")} 切换`,
|
|
383
|
+
`菜单: ${keys("menuNext")}/${keys("menuPrev")} 移动 ${keys("menuExecute")} 执行 ${keys("menuClose")} 关闭`,
|
|
217
384
|
"",
|
|
218
385
|
`${muted}任意键关闭${ansi.reset}`
|
|
219
386
|
]);
|
|
220
387
|
}
|
|
388
|
+
function keys(action) {
|
|
389
|
+
return keybindings.formatActionKeys(action);
|
|
390
|
+
}
|
|
221
391
|
function drawMenuModal(baseLines, state, width, height) {
|
|
222
392
|
const rows = [`${cc98Blue}${ansi.bold}操作菜单${ansi.reset}`, ""];
|
|
223
393
|
rows.push(...state.menuItems.map((item, index) => {
|
|
@@ -234,7 +404,7 @@ function drawInfoModal(baseLines, state, width, height) {
|
|
|
234
404
|
"",
|
|
235
405
|
...state.infoLines.slice(0, Math.max(1, height - 8)),
|
|
236
406
|
"",
|
|
237
|
-
`${muted}
|
|
407
|
+
`${muted}${keys("back")} / ${keys("confirm")} 关闭${ansi.reset}`
|
|
238
408
|
]);
|
|
239
409
|
}
|
|
240
410
|
function drawSearchModal(baseLines, state, width, height) {
|
package/dist/tui/renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/tui/renderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/tui/renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/tui/state/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/tui/state/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,wBAAgB,kBAAkB,IAAI,QAAQ,CA8B7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAWjD"}
|