@nbtca/prompt 1.0.8 → 1.0.13

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.
Files changed (71) hide show
  1. package/README.md +16 -289
  2. package/dist/config/data.d.ts +1 -1
  3. package/dist/config/data.js +1 -1
  4. package/dist/config/data.js.map +1 -1
  5. package/dist/core/logo.d.ts.map +1 -1
  6. package/dist/core/logo.js +13 -2
  7. package/dist/core/logo.js.map +1 -1
  8. package/dist/core/menu.d.ts +5 -0
  9. package/dist/core/menu.d.ts.map +1 -1
  10. package/dist/core/menu.js +12 -5
  11. package/dist/core/menu.js.map +1 -1
  12. package/dist/core/ui.d.ts.map +1 -1
  13. package/dist/core/ui.js +5 -3
  14. package/dist/core/ui.js.map +1 -1
  15. package/dist/features/calendar.d.ts +13 -14
  16. package/dist/features/calendar.d.ts.map +1 -1
  17. package/dist/features/calendar.js +57 -59
  18. package/dist/features/calendar.js.map +1 -1
  19. package/dist/features/docs.d.ts.map +1 -1
  20. package/dist/features/docs.js +50 -47
  21. package/dist/features/docs.js.map +1 -1
  22. package/dist/features/repair.d.ts +4 -0
  23. package/dist/features/repair.d.ts.map +1 -1
  24. package/dist/features/repair.js +1 -1
  25. package/dist/features/repair.js.map +1 -1
  26. package/dist/features/website.d.ts +10 -0
  27. package/dist/features/website.d.ts.map +1 -1
  28. package/dist/features/website.js +14 -2
  29. package/dist/features/website.js.map +1 -1
  30. package/dist/i18n/index.d.ts +9 -0
  31. package/dist/i18n/index.d.ts.map +1 -1
  32. package/dist/i18n/index.js.map +1 -1
  33. package/dist/i18n/locales/en.json +10 -1
  34. package/dist/i18n/locales/zh.json +10 -1
  35. package/dist/index.d.ts +1 -2
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +133 -4
  38. package/dist/index.js.map +1 -1
  39. package/dist/main.d.ts +4 -1
  40. package/dist/main.d.ts.map +1 -1
  41. package/dist/main.js +7 -3
  42. package/dist/main.js.map +1 -1
  43. package/package.json +8 -2
  44. package/.github/workflows/ci.yml +0 -40
  45. package/.github/workflows/publish.yml +0 -59
  46. package/CHANGELOG.md +0 -125
  47. package/DEVELOPMENT.md +0 -258
  48. package/TERMINAL_UX.md +0 -184
  49. package/assets/Prompt_demo.gif +0 -0
  50. package/src/config/data.js +0 -484
  51. package/src/config/data.ts +0 -28
  52. package/src/config/theme.js +0 -138
  53. package/src/config/theme.ts +0 -26
  54. package/src/core/logo.ts +0 -189
  55. package/src/core/menu.ts +0 -213
  56. package/src/core/ui.ts +0 -89
  57. package/src/core/vim-keys.ts +0 -70
  58. package/src/features/calendar.ts +0 -161
  59. package/src/features/docs.ts +0 -588
  60. package/src/features/repair.ts +0 -36
  61. package/src/features/website.ts +0 -45
  62. package/src/i18n/index.ts +0 -236
  63. package/src/i18n/locales/en.json +0 -107
  64. package/src/i18n/locales/zh.json +0 -107
  65. package/src/index.ts +0 -9
  66. package/src/logo/ascii-logo.txt +0 -6
  67. package/src/logo/logo.txt +0 -2
  68. package/src/logo/printLogo.js +0 -26
  69. package/src/main.ts +0 -45
  70. package/src/types.ts +0 -51
  71. package/tsconfig.json +0 -53
package/src/i18n/index.ts DELETED
@@ -1,236 +0,0 @@
1
- /**
2
- * Internationalization (i18n) System
3
- * Multi-language support for the application
4
- */
5
-
6
- import fs from 'fs';
7
- import path from 'path';
8
- import { fileURLToPath } from 'url';
9
- import { dirname } from 'path';
10
-
11
- const __filename = fileURLToPath(import.meta.url);
12
- const __dirname = dirname(__filename);
13
-
14
- export type Language = 'zh' | 'en';
15
-
16
- /**
17
- * Translation structure
18
- */
19
- export interface Translations {
20
- common: {
21
- back: string;
22
- exit: string;
23
- cancel: string;
24
- confirm: string;
25
- loading: string;
26
- error: string;
27
- success: string;
28
- goodbye: string;
29
- };
30
- menu: {
31
- title: string;
32
- events: string;
33
- eventsDesc: string;
34
- repair: string;
35
- repairDesc: string;
36
- docs: string;
37
- docsDesc: string;
38
- website: string;
39
- websiteDesc: string;
40
- github: string;
41
- githubDesc: string;
42
- about: string;
43
- aboutDesc: string;
44
- language: string;
45
- languageDesc: string;
46
- navigationHint: string;
47
- chooseAction: string;
48
- };
49
- about: {
50
- title: string;
51
- project: string;
52
- version: string;
53
- description: string;
54
- github: string;
55
- website: string;
56
- email: string;
57
- features: string;
58
- feature1: string;
59
- feature2: string;
60
- feature3: string;
61
- feature4: string;
62
- license: string;
63
- author: string;
64
- };
65
- calendar: {
66
- title: string;
67
- subtitle: string;
68
- loading: string;
69
- noEvents: string;
70
- error: string;
71
- errorHint: string;
72
- dateTime: string;
73
- eventName: string;
74
- location: string;
75
- };
76
- docs: {
77
- title: string;
78
- subtitle: string;
79
- loading: string;
80
- loadingDir: string;
81
- chooseCategory: string;
82
- currentDir: string;
83
- chooseDoc: string;
84
- emptyDir: string;
85
- upToParent: string;
86
- returnToMenu: string;
87
- backToList: string;
88
- reread: string;
89
- openBrowser: string;
90
- loadError: string;
91
- errorHint: string;
92
- openBrowserPrompt: string;
93
- docCompleted: string;
94
- chooseAction: string;
95
- opening: string;
96
- browserOpened: string;
97
- browserError: string;
98
- browserErrorHint: string;
99
- retry: string;
100
- pagerNotAvailable: string;
101
- endOfDocument: string;
102
- };
103
- repair: {
104
- title: string;
105
- subtitle: string;
106
- opening: string;
107
- opened: string;
108
- error: string;
109
- errorHint: string;
110
- };
111
- website: {
112
- opening: string;
113
- opened: string;
114
- error: string;
115
- errorHint: string;
116
- };
117
- language: {
118
- title: string;
119
- currentLanguage: string;
120
- selectLanguage: string;
121
- zh: string;
122
- en: string;
123
- changed: string;
124
- };
125
- }
126
-
127
- /**
128
- * Language configuration
129
- */
130
- let currentLanguage: Language = 'zh'; // Default to Chinese
131
-
132
- /**
133
- * Get configuration directory path
134
- */
135
- function getConfigDir(): string {
136
- const homeDir = process.env['HOME'] || process.env['USERPROFILE'] || '';
137
- return path.join(homeDir, '.nbtca');
138
- }
139
-
140
- /**
141
- * Get language configuration file path
142
- */
143
- function getLanguageConfigPath(): string {
144
- return path.join(getConfigDir(), 'language.json');
145
- }
146
-
147
- /**
148
- * Load language preference from config file
149
- */
150
- export function loadLanguagePreference(): Language {
151
- try {
152
- const configPath = getLanguageConfigPath();
153
- if (fs.existsSync(configPath)) {
154
- const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
155
- if (config.language === 'zh' || config.language === 'en') {
156
- currentLanguage = config.language;
157
- }
158
- }
159
- } catch (err) {
160
- // If loading fails, use default (Chinese)
161
- }
162
- return currentLanguage;
163
- }
164
-
165
- /**
166
- * Save language preference to config file
167
- */
168
- export function saveLanguagePreference(language: Language): void {
169
- try {
170
- const configDir = getConfigDir();
171
- if (!fs.existsSync(configDir)) {
172
- fs.mkdirSync(configDir, { recursive: true });
173
- }
174
- const configPath = getLanguageConfigPath();
175
- fs.writeFileSync(configPath, JSON.stringify({ language }, null, 2));
176
- currentLanguage = language;
177
- } catch (err) {
178
- // Silently fail if we can't save preference
179
- }
180
- }
181
-
182
- /**
183
- * Get current language
184
- */
185
- export function getCurrentLanguage(): Language {
186
- return currentLanguage;
187
- }
188
-
189
- /**
190
- * Set current language
191
- */
192
- export function setLanguage(language: Language): void {
193
- currentLanguage = language;
194
- saveLanguagePreference(language);
195
- }
196
-
197
- /**
198
- * Load translation file
199
- */
200
- function loadTranslations(language: Language): Translations {
201
- try {
202
- const translationPath = path.join(__dirname, 'locales', `${language}.json`);
203
- const content = fs.readFileSync(translationPath, 'utf-8');
204
- return JSON.parse(content);
205
- } catch (err) {
206
- // Fallback to Chinese if loading fails
207
- const fallbackPath = path.join(__dirname, 'locales', 'zh.json');
208
- const content = fs.readFileSync(fallbackPath, 'utf-8');
209
- return JSON.parse(content);
210
- }
211
- }
212
-
213
- /**
214
- * Translation cache
215
- */
216
- let translationsCache: Map<Language, Translations> = new Map();
217
-
218
- /**
219
- * Get translations for current language
220
- */
221
- export function t(): Translations {
222
- if (!translationsCache.has(currentLanguage)) {
223
- translationsCache.set(currentLanguage, loadTranslations(currentLanguage));
224
- }
225
- return translationsCache.get(currentLanguage)!;
226
- }
227
-
228
- /**
229
- * Clear translation cache (useful when switching languages)
230
- */
231
- export function clearTranslationCache(): void {
232
- translationsCache.clear();
233
- }
234
-
235
- // Initialize language preference on module load
236
- loadLanguagePreference();
@@ -1,107 +0,0 @@
1
- {
2
- "common": {
3
- "back": "Back",
4
- "exit": "Exit",
5
- "cancel": "Cancel",
6
- "confirm": "Confirm",
7
- "loading": "Loading...",
8
- "error": "Error",
9
- "success": "Success",
10
- "goodbye": "Goodbye!"
11
- },
12
- "menu": {
13
- "title": "Choose an action",
14
- "events": "Recent Events",
15
- "eventsDesc": "View upcoming events in next 30 days",
16
- "repair": "Repair Service",
17
- "repairDesc": "Computer repair and software installation",
18
- "docs": "Knowledge Base",
19
- "docsDesc": "Technical docs and tutorials",
20
- "website": "Official Website",
21
- "websiteDesc": "Visit NBTCA homepage",
22
- "github": "GitHub",
23
- "githubDesc": "Open source projects and code",
24
- "about": "About",
25
- "aboutDesc": "Project info and help",
26
- "language": "Language",
27
- "languageDesc": "Change display language",
28
- "navigationHint": "Navigation: j/k or ↑/↓ | Jump: g/G | Quit: q or Ctrl+C",
29
- "chooseAction": "Choose an action"
30
- },
31
- "about": {
32
- "title": "About NBTCA",
33
- "project": "Project",
34
- "version": "Version",
35
- "description": "Description",
36
- "github": "GitHub",
37
- "website": "Website",
38
- "email": "Email",
39
- "features": "Features:",
40
- "feature1": "- View recent association events",
41
- "feature2": "- Online repair service",
42
- "feature3": "- Technical knowledge base access",
43
- "feature4": "- Quick access to website and GitHub",
44
- "license": "License",
45
- "author": "Author"
46
- },
47
- "calendar": {
48
- "title": "Recent Events",
49
- "subtitle": "(Next 30 days)",
50
- "loading": "Loading event calendar...",
51
- "noEvents": "No upcoming events",
52
- "error": "Failed to load event calendar",
53
- "errorHint": "Please try again later or visit https://nbtca.space",
54
- "dateTime": "Date & Time",
55
- "eventName": "Event Name",
56
- "location": "Location"
57
- },
58
- "docs": {
59
- "title": "Knowledge Base",
60
- "subtitle": "Browse documentation from terminal or open in browser",
61
- "loading": "Loading documentation list...",
62
- "loadingDir": "Loading directory",
63
- "chooseCategory": "Choose a category:",
64
- "currentDir": "Current directory",
65
- "chooseDoc": "Choose a document or directory:",
66
- "emptyDir": "This directory is empty",
67
- "upToParent": "[..] Up to parent directory",
68
- "returnToMenu": "[ ^] Return to main menu",
69
- "backToList": "[ <] Back to docs list",
70
- "reread": "[ ↻] Re-read document",
71
- "openBrowser": "[ *] Open in browser",
72
- "loadError": "Failed to load directory",
73
- "errorHint": "Error",
74
- "openBrowserPrompt": "Open in browser?",
75
- "docCompleted": "Document loaded successfully",
76
- "chooseAction": "Choose an action:",
77
- "opening": "Opening browser...",
78
- "browserOpened": "Knowledge base opened in browser",
79
- "browserError": "Failed to open browser",
80
- "browserErrorHint": "Please visit manually: https://docs.nbtca.space",
81
- "retry": "Retry?",
82
- "pagerNotAvailable": "⚠ Pager not available, using standard output",
83
- "endOfDocument": "End of document - Press q to quit"
84
- },
85
- "repair": {
86
- "title": "Repair Service",
87
- "subtitle": "Computer repair and software installation support",
88
- "opening": "Opening repair service page...",
89
- "opened": "Repair service page opened in browser",
90
- "error": "Failed to open browser",
91
- "errorHint": "Please visit manually: https://nbtca.space/repair"
92
- },
93
- "website": {
94
- "opening": "Opening website...",
95
- "opened": "Opened in browser",
96
- "error": "Failed to open browser",
97
- "errorHint": "Please visit manually"
98
- },
99
- "language": {
100
- "title": "Language Settings",
101
- "currentLanguage": "Current Language",
102
- "selectLanguage": "Select a language:",
103
- "zh": "简体中文 (Simplified Chinese)",
104
- "en": "English",
105
- "changed": "Language changed successfully"
106
- }
107
- }
@@ -1,107 +0,0 @@
1
- {
2
- "common": {
3
- "back": "返回",
4
- "exit": "退出",
5
- "cancel": "取消",
6
- "confirm": "确认",
7
- "loading": "加载中...",
8
- "error": "错误",
9
- "success": "成功",
10
- "goodbye": "再见!"
11
- },
12
- "menu": {
13
- "title": "选择操作",
14
- "events": "近期活动",
15
- "eventsDesc": "查看未来30天的活动",
16
- "repair": "维修服务",
17
- "repairDesc": "电脑维修和软件安装",
18
- "docs": "知识库",
19
- "docsDesc": "技术文档和教程",
20
- "website": "官方网站",
21
- "websiteDesc": "访问 NBTCA 主页",
22
- "github": "GitHub",
23
- "githubDesc": "开源项目和代码",
24
- "about": "关于",
25
- "aboutDesc": "项目信息和帮助",
26
- "language": "切换语言",
27
- "languageDesc": "更改显示语言",
28
- "navigationHint": "导航: j/k 或 ↑/↓ | 跳转: g/G | 退出: q 或 Ctrl+C",
29
- "chooseAction": "选择一个操作"
30
- },
31
- "about": {
32
- "title": "关于 NBTCA",
33
- "project": "项目",
34
- "version": "版本",
35
- "description": "描述",
36
- "github": "GitHub",
37
- "website": "网站",
38
- "email": "邮箱",
39
- "features": "功能:",
40
- "feature1": "- 查看协会近期活动",
41
- "feature2": "- 在线维修服务",
42
- "feature3": "- 技术知识库访问",
43
- "feature4": "- 快速访问网站和 GitHub",
44
- "license": "许可证",
45
- "author": "作者"
46
- },
47
- "calendar": {
48
- "title": "近期活动",
49
- "subtitle": "(最近30天)",
50
- "loading": "正在获取活动日历...",
51
- "noEvents": "近期暂无活动安排",
52
- "error": "无法获取活动日历",
53
- "errorHint": "请稍后重试或访问 https://nbtca.space",
54
- "dateTime": "日期时间",
55
- "eventName": "活动名称",
56
- "location": "地点"
57
- },
58
- "docs": {
59
- "title": "知识库",
60
- "subtitle": "从终端浏览文档或在浏览器中打开",
61
- "loading": "正在加载文档列表...",
62
- "loadingDir": "正在加载目录",
63
- "chooseCategory": "选择文档分类:",
64
- "currentDir": "当前目录",
65
- "chooseDoc": "选择文档或目录:",
66
- "emptyDir": "该目录为空",
67
- "upToParent": "[..] 返回上级目录",
68
- "returnToMenu": "[ ^] 返回主菜单",
69
- "backToList": "[ <] 返回文档列表",
70
- "reread": "[ ↻] 重新阅读文档",
71
- "openBrowser": "[ *] 在浏览器中打开",
72
- "loadError": "无法加载目录",
73
- "errorHint": "错误",
74
- "openBrowserPrompt": "是否在浏览器中打开?",
75
- "docCompleted": "文档加载完成",
76
- "chooseAction": "选择操作:",
77
- "opening": "正在打开浏览器...",
78
- "browserOpened": "已在浏览器中打开知识库",
79
- "browserError": "无法打开浏览器",
80
- "browserErrorHint": "请手动访问: https://docs.nbtca.space",
81
- "retry": "是否重试?",
82
- "pagerNotAvailable": "⚠ Pager不可用,使用标准输出",
83
- "endOfDocument": "文档结束 - 按 q 退出"
84
- },
85
- "repair": {
86
- "title": "维修服务",
87
- "subtitle": "电脑维修和软件安装支持",
88
- "opening": "正在打开维修服务页面...",
89
- "opened": "已在浏览器中打开维修服务页面",
90
- "error": "无法打开浏览器",
91
- "errorHint": "请手动访问: https://nbtca.space/repair"
92
- },
93
- "website": {
94
- "opening": "正在打开网站...",
95
- "opened": "已在浏览器中打开",
96
- "error": "无法打开浏览器",
97
- "errorHint": "请手动访问"
98
- },
99
- "language": {
100
- "title": "语言设置",
101
- "currentLanguage": "当前语言",
102
- "selectLanguage": "选择语言:",
103
- "zh": "简体中文",
104
- "en": "English",
105
- "changed": "语言已切换"
106
- }
107
- }
package/src/index.ts DELETED
@@ -1,9 +0,0 @@
1
- /**
2
- * NBTCA Welcome Tool - Entry Point
3
- * 程序启动入口
4
- */
5
-
6
- import { main } from './main.js';
7
-
8
- // 启动主程序
9
- main();
@@ -1,6 +0,0 @@
1
- ███╗ ██╗██████╗ ████████╗ ██████╗ █████╗
2
- ████╗ ██║██╔══██╗╚══██╔══╝██╔════╝██╔══██╗
3
- ██╔██╗ ██║██████╔╝ ██║ ██║ ███████║
4
- ██║╚██╗██║██╔══██╗ ██║ ██║ ██╔══██║
5
- ██║ ╚████║██████╔╝ ██║ ╚██████╗██║ ██║
6
- ╚═╝ ╚═══╝╚═════╝ ╚═╝ ╚═════╝╚═╝ ╚═╝