cc98-cli 0.4.2 → 0.5.1
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 +47 -0
- package/README.md +4 -1
- package/dist/api/client.d.ts +1 -0
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +3 -0
- package/dist/api/client.js.map +1 -1
- package/dist/api/endpoints.d.ts +1 -0
- package/dist/api/endpoints.d.ts.map +1 -1
- package/dist/api/endpoints.js +1 -0
- package/dist/api/endpoints.js.map +1 -1
- package/dist/cli/commands/topic.d.ts.map +1 -1
- package/dist/cli/commands/topic.js +7 -0
- package/dist/cli/commands/topic.js.map +1 -1
- package/dist/cli/router.js +3 -0
- package/dist/cli/router.js.map +1 -1
- package/dist/storage/settings-store.d.ts +2 -0
- package/dist/storage/settings-store.d.ts.map +1 -1
- package/dist/storage/settings-store.js +9 -0
- package/dist/storage/settings-store.js.map +1 -1
- 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/cached-client.d.ts +1 -0
- package/dist/tui/cached-client.d.ts.map +1 -1
- package/dist/tui/cached-client.js +3 -0
- package/dist/tui/cached-client.js.map +1 -1
- package/dist/tui/components/content.d.ts +1 -0
- package/dist/tui/components/content.d.ts.map +1 -1
- package/dist/tui/components/content.js +26 -7
- package/dist/tui/components/content.js.map +1 -1
- package/dist/tui/components/sidebar.d.ts.map +1 -1
- package/dist/tui/components/sidebar.js +1 -11
- package/dist/tui/components/sidebar.js.map +1 -1
- package/dist/tui/components/status.d.ts.map +1 -1
- package/dist/tui/components/status.js +3 -0
- 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 +38 -1
- package/dist/tui/controller.d.ts.map +1 -1
- package/dist/tui/controller.js +731 -71
- 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.js +1 -1
- package/dist/tui/keybindings.js.map +1 -1
- package/dist/tui/navigation.d.ts.map +1 -1
- package/dist/tui/navigation.js +5 -3
- package/dist/tui/navigation.js.map +1 -1
- package/dist/tui/renderer.d.ts.map +1 -1
- package/dist/tui/renderer.js +132 -5
- package/dist/tui/renderer.js.map +1 -1
- package/dist/tui/state/store.d.ts.map +1 -1
- package/dist/tui/state/store.js +2 -1
- package/dist/tui/state/store.js.map +1 -1
- package/dist/tui/state/types.d.ts +35 -2
- 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 +2 -1
- package/dist/tui/topic-reader.d.ts.map +1 -1
- package/dist/tui/topic-reader.js +25 -9
- 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/package.json +2 -1
|
@@ -41,12 +41,16 @@ export class Content {
|
|
|
41
41
|
renderList(state, width, height) {
|
|
42
42
|
const rows = [];
|
|
43
43
|
rows.push(`${cc98Blue}${ansi.bold} ${state.viewTitle}${ansi.reset}`);
|
|
44
|
+
if (state.tabs.length > 1) {
|
|
45
|
+
rows.push(fit(` ${state.tabs.map((tab) => tab.id === state.tabId ? `[${tab.label}]` : ` ${tab.label} `).join(" ")}`, width));
|
|
46
|
+
}
|
|
44
47
|
rows.push(`${line}${"─".repeat(Math.max(0, width - 1))}${ansi.reset}`);
|
|
45
48
|
// 每项占2行(标题 + meta),计算可见容量
|
|
46
|
-
const headerRows = 2; // 标题 + 分隔线
|
|
49
|
+
const headerRows = state.tabs.length > 1 ? 3 : 2; // 标题 + 可选 Tab + 分隔线
|
|
47
50
|
const rowsPerItem = 2; // 标题行 + meta 行
|
|
48
51
|
const footerRows = 1; // 底部信息
|
|
49
52
|
const visibleCapacity = Math.max(1, Math.floor((height - headerRows - footerRows) / rowsPerItem));
|
|
53
|
+
state.listViewportCapacity = visibleCapacity;
|
|
50
54
|
// 滚动逻辑:确保选中项可见
|
|
51
55
|
if (state.itemIndex < state.scroll) {
|
|
52
56
|
state.scroll = state.itemIndex;
|
|
@@ -70,11 +74,6 @@ export class Content {
|
|
|
70
74
|
if (visible.length === 0) {
|
|
71
75
|
rows.push(`${muted} 暂无数据${ansi.reset}`);
|
|
72
76
|
}
|
|
73
|
-
// 底部滚动指示器
|
|
74
|
-
const remaining = state.items.length - state.scroll - visibleCapacity;
|
|
75
|
-
if (remaining > 0 && rows.length < height) {
|
|
76
|
-
rows.push(fit(`${muted} ↓ 还有 ${remaining} 项${ansi.reset}`, width));
|
|
77
|
-
}
|
|
78
77
|
return rows.concat(blank(height - rows.length, width)).slice(0, height);
|
|
79
78
|
}
|
|
80
79
|
renderTopic(state, width, height) {
|
|
@@ -113,7 +112,19 @@ export class Content {
|
|
|
113
112
|
const lineIndex = state.scroll + offset;
|
|
114
113
|
const isCursor = lineIndex === topic.cursorLine;
|
|
115
114
|
let renderedLine;
|
|
116
|
-
|
|
115
|
+
const topicLine = this.getTopicLine(topic, lineIndex);
|
|
116
|
+
if (topicLine?.kind === "image" && topicLine.imageUrl) {
|
|
117
|
+
const cachedPath = topic.imageCache.get(topicLine.imageUrl);
|
|
118
|
+
const status = topic.imageErrors.has(topicLine.imageUrl)
|
|
119
|
+
? "下载失败"
|
|
120
|
+
: topic.imageLoading.has(topicLine.imageUrl)
|
|
121
|
+
? "加载中"
|
|
122
|
+
: cachedPath
|
|
123
|
+
? "已缓存"
|
|
124
|
+
: undefined;
|
|
125
|
+
renderedLine = `${cc98BlueSoft}${bodyLine}${status ? ` ${muted}${status}` : ""}${ansi.reset}`;
|
|
126
|
+
}
|
|
127
|
+
else if (bodyLine.startsWith("[image ")) {
|
|
117
128
|
renderedLine = `${cc98BlueSoft}${bodyLine}${ansi.reset}`;
|
|
118
129
|
}
|
|
119
130
|
else if (bodyLine.startsWith("│ ")) {
|
|
@@ -143,5 +154,13 @@ export class Content {
|
|
|
143
154
|
const padding = Math.max(0, contentWidth - cellWidth(fitted));
|
|
144
155
|
return `${fitted}${" ".repeat(padding)}${marker}`;
|
|
145
156
|
}
|
|
157
|
+
getTopicLine(topic, lineIndex) {
|
|
158
|
+
for (const post of topic.posts) {
|
|
159
|
+
if (lineIndex >= post.lineStart && lineIndex <= post.lineEnd) {
|
|
160
|
+
return post.lines.find((entry) => entry.line === lineIndex);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return undefined;
|
|
164
|
+
}
|
|
146
165
|
}
|
|
147
166
|
//# sourceMappingURL=content.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/tui/components/content.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/tui/components/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/tui/components/sidebar.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/tui/components/sidebar.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAU5C,qBAAa,OAAQ,YAAW,SAAS;IACvC,OAAO,UAAQ;IAEf,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;CAoCjE"}
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
// 左栏导航组件
|
|
2
2
|
import { ansi, bg, fg } from "../ansi.js";
|
|
3
3
|
import { fit, cellWidth } from "./utils.js";
|
|
4
|
+
import { navItems } from "../navigation.js";
|
|
4
5
|
const cc98Blue = fg(0, 130, 202);
|
|
5
6
|
const cc98BlueSoft = fg(94, 180, 232);
|
|
6
7
|
const white = fg(245, 250, 255);
|
|
7
8
|
const muted = fg(139, 152, 166);
|
|
8
|
-
const navItems = [
|
|
9
|
-
{ id: "hot", label: "十大", hint: "热门话题" },
|
|
10
|
-
{ id: "favorite", label: "收藏", hint: "版面帖子" },
|
|
11
|
-
{ id: "new", label: "最新", hint: "新帖流" },
|
|
12
|
-
{ id: "boards", label: "版面", hint: "所有分区" },
|
|
13
|
-
{ id: "following", label: "关注", hint: "用户动态" },
|
|
14
|
-
{ id: "messages", label: "消息", hint: "未读与私信" },
|
|
15
|
-
{ id: "notices", label: "通知", hint: "系统与回复" },
|
|
16
|
-
{ id: "me", label: "我的", hint: "当前账号" },
|
|
17
|
-
{ id: "settings", label: "设置", hint: "账号与配置" }
|
|
18
|
-
];
|
|
19
9
|
export class Sidebar {
|
|
20
10
|
visible = true;
|
|
21
11
|
render(state, width, height) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../src/tui/components/sidebar.ts"],"names":[],"mappings":"AAAA,SAAS;AAIT,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjC,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACtC,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAChC,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEhC,MAAM,
|
|
1
|
+
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../src/tui/components/sidebar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/tui/components/status.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAS5C,qBAAa,SAAU,YAAW,SAAS;IACzC,OAAO,UAAQ;IACf,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAEtD,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAU9C,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/tui/components/status.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAS5C,qBAAa,SAAU,YAAW,SAAS;IACzC,OAAO,UAAQ;IACf,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAEtD,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAU9C,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,WAAW;IA2BnB,OAAO,CAAC,IAAI;CAGb"}
|
|
@@ -41,6 +41,9 @@ export class StatusBar {
|
|
|
41
41
|
if (state.mode === "settings") {
|
|
42
42
|
return `${this.keys("moveDown")}/${this.keys("moveUp")} 选择 ${this.keys("confirm")} 执行 ${this.keys("back")} 返回`;
|
|
43
43
|
}
|
|
44
|
+
if (state.tabs.length > 1) {
|
|
45
|
+
return `${this.keys("listNext")}/${this.keys("listPrev")} 选择 Tab 切换 ${this.keys("listOpen")} 打开 ${this.keys("listRefresh")} 刷新 ${this.keys("search")} 搜索`;
|
|
46
|
+
}
|
|
44
47
|
if (state.currentChat) {
|
|
45
48
|
return `${this.keys("listNext")}/${this.keys("listPrev")} 滚动 ${this.keys("listBack")} 返回 ${this.keys("listRefresh")} 刷新`;
|
|
46
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/tui/components/status.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/tui/components/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tui/components/utils.ts"],"names":[],"mappings":"AAKA,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tui/components/utils.ts"],"names":[],"mappings":"AAKA,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA8BxD;AAGD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqBlD;AAGD,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAE5D"}
|
|
@@ -9,26 +9,22 @@ export function fit(value, width) {
|
|
|
9
9
|
}
|
|
10
10
|
let out = "";
|
|
11
11
|
let used = 0;
|
|
12
|
-
let
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
continue;
|
|
18
|
-
}
|
|
19
|
-
if (inEscape) {
|
|
20
|
-
out += char;
|
|
21
|
-
if (/[A-Za-z]/.test(char)) {
|
|
22
|
-
inEscape = false;
|
|
23
|
-
}
|
|
12
|
+
for (let index = 0; index < value.length;) {
|
|
13
|
+
if (value[index] === "\x1b") {
|
|
14
|
+
const end = findEscapeEnd(value, index);
|
|
15
|
+
out += value.slice(index, end);
|
|
16
|
+
index = end;
|
|
24
17
|
continue;
|
|
25
18
|
}
|
|
19
|
+
const codePoint = value.codePointAt(index);
|
|
20
|
+
const char = codePoint === undefined ? value[index] : String.fromCodePoint(codePoint);
|
|
26
21
|
const charWidth = charCellWidth(char);
|
|
27
22
|
if (used + charWidth > width) {
|
|
28
23
|
break;
|
|
29
24
|
}
|
|
30
25
|
out += char;
|
|
31
26
|
used += charWidth;
|
|
27
|
+
index += char.length;
|
|
32
28
|
}
|
|
33
29
|
return out;
|
|
34
30
|
}
|
|
@@ -65,4 +61,29 @@ export function charCellWidth(char) {
|
|
|
65
61
|
export function blank(count, width) {
|
|
66
62
|
return Array.from({ length: count }, () => " ".repeat(width));
|
|
67
63
|
}
|
|
64
|
+
function findEscapeEnd(value, start) {
|
|
65
|
+
const next = value[start + 1];
|
|
66
|
+
if (next === "]") {
|
|
67
|
+
const bel = value.indexOf("\x07", start + 2);
|
|
68
|
+
const st = value.indexOf("\x1b\\", start + 2);
|
|
69
|
+
return firstTerminator(value.length, bel >= 0 ? bel + 1 : -1, st >= 0 ? st + 2 : -1);
|
|
70
|
+
}
|
|
71
|
+
if (next === "_" || next === "P") {
|
|
72
|
+
const st = value.indexOf("\x1b\\", start + 2);
|
|
73
|
+
return st >= 0 ? st + 2 : value.length;
|
|
74
|
+
}
|
|
75
|
+
if (next === "[") {
|
|
76
|
+
for (let index = start + 2; index < value.length; index += 1) {
|
|
77
|
+
const code = value.charCodeAt(index);
|
|
78
|
+
if (code >= 0x40 && code <= 0x7e) {
|
|
79
|
+
return index + 1;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return Math.min(value.length, start + 2);
|
|
84
|
+
}
|
|
85
|
+
function firstTerminator(fallback, ...positions) {
|
|
86
|
+
const found = positions.filter((position) => position >= 0);
|
|
87
|
+
return found.length > 0 ? Math.min(...found) : fallback;
|
|
88
|
+
}
|
|
68
89
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/tui/components/utils.ts"],"names":[],"mappings":"AAAA,SAAS;AAET,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,aAAa;AACb,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa;IAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE1C,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/tui/components/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/controller.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { WebVpnOptions } from "../api/types.js";
|
|
1
2
|
import type { TokenStore } from "../storage/token-store.js";
|
|
2
3
|
import type { CachedCc98Client } from "./cached-client.js";
|
|
3
4
|
import type { TuiState } from "./state/types.js";
|
|
@@ -12,11 +13,14 @@ export declare class TuiController {
|
|
|
12
13
|
private readonly close;
|
|
13
14
|
private readonly nextSignal;
|
|
14
15
|
private readonly abortCurrent;
|
|
16
|
+
private readonly webVpnOptions?;
|
|
15
17
|
private loadVersion;
|
|
16
18
|
private readonly keybindings;
|
|
17
19
|
private readonly settingsStore;
|
|
18
20
|
private updateChecked;
|
|
19
|
-
|
|
21
|
+
private autoSigninChecked;
|
|
22
|
+
private listReturnState?;
|
|
23
|
+
constructor(state: TuiState, client: CachedCc98Client, tokenStore: TokenStore, render: RenderFn, close: CloseFn, nextSignal: SignalFn, abortCurrent: () => void, webVpnOptions?: WebVpnOptions | undefined);
|
|
20
24
|
load(force?: boolean): Promise<void>;
|
|
21
25
|
handleKey(key: string): void;
|
|
22
26
|
private handleInputKey;
|
|
@@ -28,17 +32,36 @@ export declare class TuiController {
|
|
|
28
32
|
private handleSettingsKey;
|
|
29
33
|
private handleNavKey;
|
|
30
34
|
private handleContentKey;
|
|
35
|
+
private switchTab;
|
|
36
|
+
private switchTabToIndex;
|
|
31
37
|
private leave;
|
|
38
|
+
private rememberListReturnState;
|
|
39
|
+
private leaveTopic;
|
|
40
|
+
private ensureListWindowFilled;
|
|
41
|
+
private checkListAutoLoad;
|
|
42
|
+
private loadNextListPage;
|
|
43
|
+
private fetchNextListPage;
|
|
44
|
+
private fetchNextFavoriteBoardTopics;
|
|
32
45
|
private refresh;
|
|
33
46
|
private openSearch;
|
|
47
|
+
private closeSearch;
|
|
48
|
+
private restoreSearchOriginForActivation;
|
|
34
49
|
private getSearchScope;
|
|
35
50
|
private openMenu;
|
|
36
51
|
private getMenuItems;
|
|
37
52
|
private closeModal;
|
|
53
|
+
private setTabs;
|
|
38
54
|
private loadView;
|
|
55
|
+
private loadFavoriteBoardTopics;
|
|
39
56
|
private activateSetting;
|
|
57
|
+
private renderSettingsItems;
|
|
58
|
+
private toggleAutoSignin;
|
|
59
|
+
private runAutoSignin;
|
|
40
60
|
private activateContentItem;
|
|
41
61
|
private openTopic;
|
|
62
|
+
private refreshCurrentTopic;
|
|
63
|
+
private getTopicRestoreTarget;
|
|
64
|
+
private restoreTopicPosition;
|
|
42
65
|
private openBoard;
|
|
43
66
|
private openChat;
|
|
44
67
|
private loadNextChatPage;
|
|
@@ -47,6 +70,7 @@ export declare class TuiController {
|
|
|
47
70
|
private jumpToNextPage;
|
|
48
71
|
private jumpToPrevPage;
|
|
49
72
|
private jumpToTopicPage;
|
|
73
|
+
private loadTopicWindow;
|
|
50
74
|
private loadNextTopicPage;
|
|
51
75
|
private jumpToTopicFloor;
|
|
52
76
|
private runReadOnlyAction;
|
|
@@ -62,10 +86,22 @@ export declare class TuiController {
|
|
|
62
86
|
private toggleFollow;
|
|
63
87
|
private sendPrivateMessage;
|
|
64
88
|
private getCurrentTopicLine;
|
|
89
|
+
/**
|
|
90
|
+
* Preload images for topic in background
|
|
91
|
+
* Images are cached and trigger re-render when ready
|
|
92
|
+
*/
|
|
93
|
+
private preloadTopicImages;
|
|
65
94
|
private openImage;
|
|
95
|
+
private copyImageToClipboard;
|
|
96
|
+
private copyImageFileToClipboard;
|
|
97
|
+
private copyImageFileToClipboardMac;
|
|
66
98
|
private copyToClipboard;
|
|
67
99
|
private signin;
|
|
68
100
|
private openKeybindingEditor;
|
|
101
|
+
private openPixelLogo;
|
|
102
|
+
private openEmojiPreview;
|
|
103
|
+
private openEmojiCategory;
|
|
104
|
+
private openEmojiDetail;
|
|
69
105
|
private openAccountSwitcher;
|
|
70
106
|
private switchAccount;
|
|
71
107
|
private confirmLogout;
|
|
@@ -76,6 +112,7 @@ export declare class TuiController {
|
|
|
76
112
|
private openReadOnlyList;
|
|
77
113
|
private snapshotParent;
|
|
78
114
|
private restoreParentList;
|
|
115
|
+
private cloneListPaging;
|
|
79
116
|
private checkUpdate;
|
|
80
117
|
dismissUpdate(): void;
|
|
81
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/tui/controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/tui/controller.ts"],"names":[],"mappings":"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"}
|