@nbtca/prompt 1.0.13 → 1.0.14
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/dist/core/menu.d.ts +2 -2
- package/dist/core/menu.d.ts.map +1 -1
- package/dist/core/menu.js +56 -128
- package/dist/core/menu.js.map +1 -1
- package/dist/core/ui.d.ts +14 -13
- package/dist/core/ui.d.ts.map +1 -1
- package/dist/core/ui.js +28 -38
- package/dist/core/ui.js.map +1 -1
- package/dist/features/calendar.d.ts +4 -1
- package/dist/features/calendar.d.ts.map +1 -1
- package/dist/features/calendar.js +34 -23
- package/dist/features/calendar.js.map +1 -1
- package/dist/features/docs.d.ts +2 -2
- package/dist/features/docs.d.ts.map +1 -1
- package/dist/features/docs.js +107 -284
- package/dist/features/docs.js.map +1 -1
- package/dist/features/repair.d.ts.map +1 -1
- package/dist/features/repair.js +5 -8
- package/dist/features/repair.js.map +1 -1
- package/dist/features/website.d.ts.map +1 -1
- package/dist/features/website.js +5 -7
- package/dist/features/website.js.map +1 -1
- package/dist/i18n/index.d.ts +1 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/locales/en.json +1 -0
- package/dist/i18n/locales/zh.json +1 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +4 -3
- package/dist/main.js.map +1 -1
- package/package.json +2 -4
package/dist/core/menu.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Minimalist menu system
|
|
3
|
-
*
|
|
3
|
+
* Modern @clack/prompts select() with emoji icons and hint text
|
|
4
4
|
*/
|
|
5
5
|
export type MenuAction = 'events' | 'repair' | 'docs' | 'website' | 'github' | 'roadmap' | 'about' | 'language';
|
|
6
6
|
/**
|
|
7
|
-
* Display main menu
|
|
7
|
+
* Display main menu — loops until user exits via Ctrl+C
|
|
8
8
|
*/
|
|
9
9
|
export declare function showMainMenu(): Promise<void>;
|
|
10
10
|
/**
|
package/dist/core/menu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/core/menu.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/core/menu.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAmBhH;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBlD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrE"}
|
package/dist/core/menu.js
CHANGED
|
@@ -1,112 +1,50 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Minimalist menu system
|
|
3
|
-
*
|
|
3
|
+
* Modern @clack/prompts select() with emoji icons and hint text
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
5
|
+
import { select, isCancel, outro, note } from '@clack/prompts';
|
|
6
6
|
import chalk from 'chalk';
|
|
7
7
|
import { showCalendar } from '../features/calendar.js';
|
|
8
8
|
import { openRepairService } from '../features/repair.js';
|
|
9
9
|
import { showDocsMenu } from '../features/docs.js';
|
|
10
10
|
import { openHomepage, openGithub, openRoadmap } from '../features/website.js';
|
|
11
|
-
import { printDivider, printNewLine } from './ui.js';
|
|
11
|
+
import { printDivider, printNewLine, success } from './ui.js';
|
|
12
12
|
import { APP_INFO, URLS } from '../config/data.js';
|
|
13
13
|
import { t, getCurrentLanguage, setLanguage, clearTranslationCache } from '../i18n/index.js';
|
|
14
14
|
/**
|
|
15
|
-
* Get main menu options
|
|
15
|
+
* Get main menu options with emoji icons and hint text
|
|
16
16
|
*/
|
|
17
17
|
function getMainMenuOptions() {
|
|
18
18
|
const trans = t();
|
|
19
19
|
return [
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
short: trans.menu.repair
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
name: '[*] ' + trans.menu.docs.padEnd(16) + ' ' + chalk.gray(trans.menu.docsDesc),
|
|
32
|
-
value: 'docs',
|
|
33
|
-
short: trans.menu.docs
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: '[*] ' + trans.menu.website.padEnd(16) + ' ' + chalk.gray(trans.menu.websiteDesc),
|
|
37
|
-
value: 'website',
|
|
38
|
-
short: trans.menu.website
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
name: '[*] ' + trans.menu.github.padEnd(16) + ' ' + chalk.gray(trans.menu.githubDesc),
|
|
42
|
-
value: 'github',
|
|
43
|
-
short: trans.menu.github
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
name: '[*] ' + trans.menu.roadmap.padEnd(16) + ' ' + chalk.gray(trans.menu.roadmapDesc),
|
|
47
|
-
value: 'roadmap',
|
|
48
|
-
short: trans.menu.roadmap
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
name: '[?] ' + trans.menu.about.padEnd(16) + ' ' + chalk.gray(trans.menu.aboutDesc),
|
|
52
|
-
value: 'about',
|
|
53
|
-
short: trans.menu.about
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
name: '[⚙] ' + trans.menu.language.padEnd(16) + ' ' + chalk.gray(trans.menu.languageDesc),
|
|
57
|
-
value: 'language',
|
|
58
|
-
short: trans.menu.language
|
|
59
|
-
},
|
|
60
|
-
new inquirer.Separator(' '),
|
|
61
|
-
{
|
|
62
|
-
name: chalk.dim('[x] ' + trans.common.exit),
|
|
63
|
-
value: 'exit',
|
|
64
|
-
short: trans.common.exit
|
|
65
|
-
}
|
|
20
|
+
{ value: 'events', label: '🗓 ' + trans.menu.events, hint: trans.menu.eventsDesc },
|
|
21
|
+
{ value: 'repair', label: '🔧 ' + trans.menu.repair, hint: trans.menu.repairDesc },
|
|
22
|
+
{ value: 'docs', label: '📚 ' + trans.menu.docs, hint: trans.menu.docsDesc },
|
|
23
|
+
{ value: 'website', label: '🌐 ' + trans.menu.website, hint: trans.menu.websiteDesc },
|
|
24
|
+
{ value: 'github', label: '🐙 ' + trans.menu.github, hint: trans.menu.githubDesc },
|
|
25
|
+
{ value: 'roadmap', label: '🗺 ' + trans.menu.roadmap, hint: trans.menu.roadmapDesc },
|
|
26
|
+
{ value: 'about', label: 'ℹ️ ' + trans.menu.about, hint: trans.menu.aboutDesc },
|
|
27
|
+
{ value: 'language', label: '🌍 ' + trans.menu.language, hint: trans.menu.languageDesc },
|
|
66
28
|
];
|
|
67
29
|
}
|
|
68
30
|
/**
|
|
69
|
-
* Display main menu
|
|
31
|
+
* Display main menu — loops until user exits via Ctrl+C
|
|
70
32
|
*/
|
|
71
33
|
export async function showMainMenu() {
|
|
72
34
|
while (true) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
type: 'list',
|
|
82
|
-
name: 'action',
|
|
83
|
-
message: trans.menu.chooseAction,
|
|
84
|
-
choices: getMainMenuOptions(),
|
|
85
|
-
pageSize: 15,
|
|
86
|
-
loop: false
|
|
87
|
-
}
|
|
88
|
-
]);
|
|
89
|
-
// Handle user selection
|
|
90
|
-
if (action === 'exit') {
|
|
91
|
-
console.log();
|
|
92
|
-
console.log(chalk.dim(trans.common.goodbye));
|
|
93
|
-
process.exit(0);
|
|
94
|
-
}
|
|
95
|
-
await runMenuAction(action);
|
|
96
|
-
// Show divider after operation
|
|
97
|
-
printNewLine();
|
|
98
|
-
printDivider();
|
|
99
|
-
printNewLine();
|
|
100
|
-
}
|
|
101
|
-
catch (err) {
|
|
102
|
-
// Handle Ctrl+C exit
|
|
103
|
-
if (err.message?.includes('User force closed')) {
|
|
104
|
-
console.log();
|
|
105
|
-
console.log(chalk.dim(t().common.goodbye));
|
|
106
|
-
process.exit(0);
|
|
107
|
-
}
|
|
108
|
-
throw err;
|
|
35
|
+
const trans = t();
|
|
36
|
+
const action = await select({
|
|
37
|
+
message: trans.menu.chooseAction,
|
|
38
|
+
options: getMainMenuOptions(),
|
|
39
|
+
});
|
|
40
|
+
if (isCancel(action)) {
|
|
41
|
+
outro(chalk.dim(t().common.goodbye));
|
|
42
|
+
process.exit(0);
|
|
109
43
|
}
|
|
44
|
+
await runMenuAction(action);
|
|
45
|
+
printNewLine();
|
|
46
|
+
printDivider();
|
|
47
|
+
printNewLine();
|
|
110
48
|
}
|
|
111
49
|
}
|
|
112
50
|
/**
|
|
@@ -141,30 +79,29 @@ export async function runMenuAction(action) {
|
|
|
141
79
|
}
|
|
142
80
|
}
|
|
143
81
|
/**
|
|
144
|
-
* Display about information
|
|
82
|
+
* Display about information using clack note() box
|
|
145
83
|
*/
|
|
146
84
|
function showAbout() {
|
|
147
85
|
const trans = t();
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
console.log();
|
|
86
|
+
const content = [
|
|
87
|
+
`${chalk.dim(trans.about.project.padEnd(12))}${APP_INFO.name}`,
|
|
88
|
+
`${chalk.dim(trans.about.version.padEnd(12))}v${APP_INFO.version}`,
|
|
89
|
+
`${chalk.dim(trans.about.description.padEnd(12))}${APP_INFO.fullDescription}`,
|
|
90
|
+
'',
|
|
91
|
+
`${chalk.dim(trans.about.github.padEnd(12))}${chalk.cyan(APP_INFO.repository)}`,
|
|
92
|
+
`${chalk.dim(trans.about.website.padEnd(12))}${chalk.cyan(URLS.homepage)}`,
|
|
93
|
+
`${chalk.dim(trans.about.email.padEnd(12))}${chalk.cyan(URLS.email)}`,
|
|
94
|
+
'',
|
|
95
|
+
chalk.dim(trans.about.features),
|
|
96
|
+
' ' + trans.about.feature1,
|
|
97
|
+
' ' + trans.about.feature2,
|
|
98
|
+
' ' + trans.about.feature3,
|
|
99
|
+
' ' + trans.about.feature4,
|
|
100
|
+
'',
|
|
101
|
+
`${chalk.dim(trans.about.license.padEnd(12))}MIT License`,
|
|
102
|
+
`${chalk.dim(trans.about.author.padEnd(12))}m1ngsama`,
|
|
103
|
+
].join('\n');
|
|
104
|
+
note(content, trans.about.title);
|
|
168
105
|
}
|
|
169
106
|
/**
|
|
170
107
|
* Display language selection menu
|
|
@@ -172,29 +109,20 @@ function showAbout() {
|
|
|
172
109
|
async function showLanguageMenu() {
|
|
173
110
|
const trans = t();
|
|
174
111
|
const currentLang = getCurrentLanguage();
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
choices: [
|
|
186
|
-
{ name: trans.language.zh, value: 'zh' },
|
|
187
|
-
{ name: trans.language.en, value: 'en' }
|
|
188
|
-
],
|
|
189
|
-
default: currentLang
|
|
190
|
-
}
|
|
191
|
-
]);
|
|
112
|
+
const language = await select({
|
|
113
|
+
message: trans.language.selectLanguage,
|
|
114
|
+
options: [
|
|
115
|
+
{ value: 'zh', label: trans.language.zh, hint: currentLang === 'zh' ? '✓ 当前' : undefined },
|
|
116
|
+
{ value: 'en', label: trans.language.en, hint: currentLang === 'en' ? '✓ current' : undefined },
|
|
117
|
+
],
|
|
118
|
+
initialValue: currentLang,
|
|
119
|
+
});
|
|
120
|
+
if (isCancel(language))
|
|
121
|
+
return;
|
|
192
122
|
if (language !== currentLang) {
|
|
193
123
|
setLanguage(language);
|
|
194
124
|
clearTranslationCache();
|
|
195
|
-
|
|
196
|
-
console.log(chalk.green('✓ ' + t().language.changed));
|
|
197
|
-
console.log();
|
|
125
|
+
success(t().language.changed);
|
|
198
126
|
}
|
|
199
127
|
}
|
|
200
128
|
//# sourceMappingURL=menu.js.map
|
package/dist/core/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/core/menu.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/core/menu.ts"],"names":[],"mappings":"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"}
|
package/dist/core/ui.d.ts
CHANGED
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Minimalist UI component library
|
|
3
|
-
*
|
|
3
|
+
* Delegates to @clack/prompts for modern terminal output
|
|
4
4
|
*/
|
|
5
|
-
/**
|
|
6
|
-
* Display header title
|
|
7
|
-
*/
|
|
8
|
-
export declare function printHeader(title: string): void;
|
|
9
|
-
/**
|
|
10
|
-
* Display divider line
|
|
11
|
-
*/
|
|
12
|
-
export declare function printDivider(): void;
|
|
13
|
-
/**
|
|
14
|
-
* Display loading spinner
|
|
15
|
-
*/
|
|
16
|
-
export declare function showSpinner(text: string, duration: number): Promise<void>;
|
|
17
5
|
/**
|
|
18
6
|
* Display success message
|
|
19
7
|
*/
|
|
@@ -30,6 +18,14 @@ export declare function info(msg: string): void;
|
|
|
30
18
|
* Display warning message
|
|
31
19
|
*/
|
|
32
20
|
export declare function warning(msg: string): void;
|
|
21
|
+
/**
|
|
22
|
+
* No-op: session framing moved to main.ts intro()
|
|
23
|
+
*/
|
|
24
|
+
export declare function printHeader(_title: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Display divider line
|
|
27
|
+
*/
|
|
28
|
+
export declare function printDivider(): void;
|
|
33
29
|
/**
|
|
34
30
|
* Clear screen
|
|
35
31
|
*/
|
|
@@ -38,4 +34,9 @@ export declare function clearScreen(): void;
|
|
|
38
34
|
* Print empty lines
|
|
39
35
|
*/
|
|
40
36
|
export declare function printNewLine(count?: number): void;
|
|
37
|
+
/**
|
|
38
|
+
* Create and start a real async spinner.
|
|
39
|
+
* Caller is responsible for calling .stop(msg) or .stop(msg, 1) on error.
|
|
40
|
+
*/
|
|
41
|
+
export declare function createSpinner(msg: string): import("@clack/prompts").SpinnerResult;
|
|
41
42
|
//# sourceMappingURL=ui.d.ts.map
|
package/dist/core/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/core/ui.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/core/ui.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEvC;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,GAAE,MAAU,GAAG,IAAI,CAIpD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,0CAIxC"}
|
package/dist/core/ui.js
CHANGED
|
@@ -1,64 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Minimalist UI component library
|
|
3
|
-
*
|
|
3
|
+
* Delegates to @clack/prompts for modern terminal output
|
|
4
4
|
*/
|
|
5
|
+
import { log, spinner as clackSpinner } from '@clack/prompts';
|
|
5
6
|
import chalk from 'chalk';
|
|
6
|
-
/**
|
|
7
|
-
* Display header title
|
|
8
|
-
*/
|
|
9
|
-
export function printHeader(title) {
|
|
10
|
-
console.log(chalk.dim(title));
|
|
11
|
-
console.log();
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Display divider line
|
|
15
|
-
*/
|
|
16
|
-
export function printDivider() {
|
|
17
|
-
const terminalWidth = process.stdout.columns || 80;
|
|
18
|
-
console.log(chalk.dim('─'.repeat(Math.min(terminalWidth, 80))));
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Display loading spinner
|
|
22
|
-
*/
|
|
23
|
-
export async function showSpinner(text, duration) {
|
|
24
|
-
const frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
25
|
-
let i = 0;
|
|
26
|
-
const startTime = Date.now();
|
|
27
|
-
return new Promise((resolve) => {
|
|
28
|
-
const interval = setInterval(() => {
|
|
29
|
-
process.stdout.write(`\r${chalk.cyan(frames[i])} ${text}`);
|
|
30
|
-
i = (i + 1) % frames.length;
|
|
31
|
-
if (Date.now() - startTime >= duration) {
|
|
32
|
-
clearInterval(interval);
|
|
33
|
-
process.stdout.write('\r' + ' '.repeat(text.length + 5) + '\r');
|
|
34
|
-
resolve();
|
|
35
|
-
}
|
|
36
|
-
}, 80);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
7
|
/**
|
|
40
8
|
* Display success message
|
|
41
9
|
*/
|
|
42
10
|
export function success(msg) {
|
|
43
|
-
|
|
11
|
+
log.success(msg);
|
|
44
12
|
}
|
|
45
13
|
/**
|
|
46
14
|
* Display error message
|
|
47
15
|
*/
|
|
48
16
|
export function error(msg) {
|
|
49
|
-
|
|
17
|
+
log.error(msg);
|
|
50
18
|
}
|
|
51
19
|
/**
|
|
52
20
|
* Display info message
|
|
53
21
|
*/
|
|
54
22
|
export function info(msg) {
|
|
55
|
-
|
|
23
|
+
log.info(msg);
|
|
56
24
|
}
|
|
57
25
|
/**
|
|
58
26
|
* Display warning message
|
|
59
27
|
*/
|
|
60
28
|
export function warning(msg) {
|
|
61
|
-
|
|
29
|
+
log.warn(msg);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* No-op: session framing moved to main.ts intro()
|
|
33
|
+
*/
|
|
34
|
+
export function printHeader(_title) {
|
|
35
|
+
// intentional noop — intro() in main.ts owns the header
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Display divider line
|
|
39
|
+
*/
|
|
40
|
+
export function printDivider() {
|
|
41
|
+
const terminalWidth = process.stdout.columns || 80;
|
|
42
|
+
console.log(chalk.dim('─'.repeat(Math.min(terminalWidth, 80))));
|
|
62
43
|
}
|
|
63
44
|
/**
|
|
64
45
|
* Clear screen
|
|
@@ -76,4 +57,13 @@ export function printNewLine(count = 1) {
|
|
|
76
57
|
console.log();
|
|
77
58
|
}
|
|
78
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Create and start a real async spinner.
|
|
62
|
+
* Caller is responsible for calling .stop(msg) or .stop(msg, 1) on error.
|
|
63
|
+
*/
|
|
64
|
+
export function createSpinner(msg) {
|
|
65
|
+
const s = clackSpinner();
|
|
66
|
+
s.start(msg);
|
|
67
|
+
return s;
|
|
68
|
+
}
|
|
79
69
|
//# sourceMappingURL=ui.js.map
|
package/dist/core/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/core/ui.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/core/ui.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,GAAW;IAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,wDAAwD;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;IACzB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ICS calendar module
|
|
3
|
-
* Fetches and renders upcoming events.
|
|
3
|
+
* Fetches and renders upcoming events with Unicode box table.
|
|
4
4
|
*/
|
|
5
5
|
export interface Event {
|
|
6
6
|
date: string;
|
|
@@ -18,6 +18,9 @@ export interface EventOutputItem {
|
|
|
18
18
|
}
|
|
19
19
|
export declare function fetchEvents(): Promise<Event[]>;
|
|
20
20
|
export declare function serializeEvents(events: Event[]): EventOutputItem[];
|
|
21
|
+
/**
|
|
22
|
+
* Render events as a Unicode box-drawing table
|
|
23
|
+
*/
|
|
21
24
|
export declare function renderEventsTable(events: Event[], options?: {
|
|
22
25
|
color?: boolean;
|
|
23
26
|
}): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/features/calendar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAyCpD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAQlE;AAmBD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/features/calendar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAyCpD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAQlE;AAmBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAoDxF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAUnD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAYlD"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ICS calendar module
|
|
3
|
-
* Fetches and renders upcoming events.
|
|
3
|
+
* Fetches and renders upcoming events with Unicode box table.
|
|
4
4
|
*/
|
|
5
5
|
import axios from 'axios';
|
|
6
6
|
import ICAL from 'ical.js';
|
|
7
7
|
import chalk from 'chalk';
|
|
8
|
-
import {
|
|
8
|
+
import { info, printDivider, createSpinner } from '../core/ui.js';
|
|
9
9
|
import { t } from '../i18n/index.js';
|
|
10
10
|
export async function fetchEvents() {
|
|
11
11
|
try {
|
|
@@ -68,33 +68,44 @@ function formatTime(date) {
|
|
|
68
68
|
const minutes = String(date.getMinutes()).padStart(2, '0');
|
|
69
69
|
return `${hours}:${minutes}`;
|
|
70
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Render events as a Unicode box-drawing table
|
|
73
|
+
*/
|
|
71
74
|
export function renderEventsTable(events, options) {
|
|
72
75
|
const trans = t();
|
|
73
76
|
const color = options?.color !== false;
|
|
74
77
|
if (events.length === 0) {
|
|
75
78
|
return trans.calendar.noEvents;
|
|
76
79
|
}
|
|
77
|
-
const dateWidth =
|
|
78
|
-
const titleWidth =
|
|
79
|
-
const locationWidth =
|
|
80
|
+
const dateWidth = 13;
|
|
81
|
+
const titleWidth = 30;
|
|
82
|
+
const locationWidth = 16;
|
|
83
|
+
const top = `┌${'─'.repeat(dateWidth + 2)}┬${'─'.repeat(titleWidth + 2)}┬${'─'.repeat(locationWidth + 2)}┐`;
|
|
84
|
+
const divider = `├${'─'.repeat(dateWidth + 2)}┼${'─'.repeat(titleWidth + 2)}┼${'─'.repeat(locationWidth + 2)}┤`;
|
|
85
|
+
const bottom = `└${'─'.repeat(dateWidth + 2)}┴${'─'.repeat(titleWidth + 2)}┴${'─'.repeat(locationWidth + 2)}┘`;
|
|
86
|
+
const headerRow = `│ ${trans.calendar.dateTime.padEnd(dateWidth)} │ ${trans.calendar.eventName.padEnd(titleWidth)} │ ${trans.calendar.location.padEnd(locationWidth)} │`;
|
|
80
87
|
const lines = [];
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
lines.push(chalk.cyan(dateTime)
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
lines.push(dateTime + title + location);
|
|
88
|
+
if (color) {
|
|
89
|
+
lines.push(chalk.dim(top));
|
|
90
|
+
lines.push(chalk.bold(headerRow));
|
|
91
|
+
lines.push(chalk.dim(divider));
|
|
92
|
+
for (const event of events) {
|
|
93
|
+
const dateTime = `${event.date} ${event.time}`;
|
|
94
|
+
const title = truncate(event.title, titleWidth);
|
|
95
|
+
const location = truncate(event.location, locationWidth);
|
|
96
|
+
lines.push(`│ ${chalk.cyan(dateTime.padEnd(dateWidth))} │ ${chalk.white(title.padEnd(titleWidth))} │ ${chalk.gray(location.padEnd(locationWidth))} │`);
|
|
93
97
|
}
|
|
98
|
+
lines.push(chalk.dim(bottom));
|
|
94
99
|
}
|
|
95
|
-
|
|
96
|
-
lines
|
|
97
|
-
lines
|
|
100
|
+
else {
|
|
101
|
+
lines.push(top);
|
|
102
|
+
lines.push(headerRow);
|
|
103
|
+
lines.push(divider);
|
|
104
|
+
for (const event of events) {
|
|
105
|
+
const dateTime = `${event.date} ${event.time}`;
|
|
106
|
+
lines.push(`│ ${dateTime.padEnd(dateWidth)} │ ${truncate(event.title, titleWidth).padEnd(titleWidth)} │ ${truncate(event.location, locationWidth).padEnd(locationWidth)} │`);
|
|
107
|
+
}
|
|
108
|
+
lines.push(bottom);
|
|
98
109
|
}
|
|
99
110
|
return lines.join('\n');
|
|
100
111
|
}
|
|
@@ -110,14 +121,14 @@ export function displayEvents(events) {
|
|
|
110
121
|
}
|
|
111
122
|
export async function showCalendar() {
|
|
112
123
|
const trans = t();
|
|
124
|
+
const s = createSpinner(trans.calendar.loading);
|
|
113
125
|
try {
|
|
114
|
-
info(trans.calendar.loading);
|
|
115
126
|
const events = await fetchEvents();
|
|
116
|
-
|
|
127
|
+
s.stop(`${events.length} ${trans.calendar.eventsFound}`);
|
|
117
128
|
displayEvents(events);
|
|
118
129
|
}
|
|
119
130
|
catch {
|
|
120
|
-
error(trans.calendar.error);
|
|
131
|
+
s.error(trans.calendar.error);
|
|
121
132
|
console.log(chalk.gray(' ' + trans.calendar.errorHint));
|
|
122
133
|
console.log();
|
|
123
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../src/features/calendar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../src/features/calendar.ts"],"names":[],"mappings":"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"}
|
package/dist/features/docs.d.ts
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* 获取并渲染Markdown文档
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Open docs in browser with real spinner
|
|
7
7
|
*/
|
|
8
8
|
export declare function openDocsInBrowser(path?: string): Promise<void>;
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Show docs category menu
|
|
11
11
|
*/
|
|
12
12
|
export declare function showDocsMenu(): Promise<void>;
|
|
13
13
|
//# sourceMappingURL=docs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/features/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/features/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6TH;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcpE;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAwBlD"}
|