xray-manager 1.2.0 → 1.3.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.
Files changed (39) hide show
  1. package/README.md +31 -863
  2. package/dist/commands/interactive.d.ts +0 -42
  3. package/dist/commands/interactive.d.ts.map +1 -1
  4. package/dist/commands/interactive.js +59 -182
  5. package/dist/commands/interactive.js.map +1 -1
  6. package/dist/commands/user.d.ts.map +1 -1
  7. package/dist/commands/user.js +23 -14
  8. package/dist/commands/user.js.map +1 -1
  9. package/dist/components/dashboard-widget.d.ts +18 -0
  10. package/dist/components/dashboard-widget.d.ts.map +1 -0
  11. package/dist/components/dashboard-widget.js +159 -0
  12. package/dist/components/dashboard-widget.js.map +1 -0
  13. package/dist/components/user-table.d.ts +8 -0
  14. package/dist/components/user-table.d.ts.map +1 -0
  15. package/dist/components/user-table.js +86 -0
  16. package/dist/components/user-table.js.map +1 -0
  17. package/dist/constants/theme.d.ts +34 -0
  18. package/dist/constants/theme.d.ts.map +1 -0
  19. package/dist/constants/theme.js +52 -0
  20. package/dist/constants/theme.js.map +1 -0
  21. package/dist/services/layout-manager.d.ts +8 -0
  22. package/dist/services/layout-manager.d.ts.map +1 -1
  23. package/dist/services/layout-manager.js +11 -0
  24. package/dist/services/layout-manager.js.map +1 -1
  25. package/dist/services/navigation-manager.d.ts +23 -0
  26. package/dist/services/navigation-manager.d.ts.map +1 -0
  27. package/dist/services/navigation-manager.js +39 -0
  28. package/dist/services/navigation-manager.js.map +1 -0
  29. package/dist/services/screen-manager.d.ts +13 -0
  30. package/dist/services/screen-manager.d.ts.map +1 -0
  31. package/dist/services/screen-manager.js +42 -0
  32. package/dist/services/screen-manager.js.map +1 -0
  33. package/dist/types/ui-components.d.ts +53 -0
  34. package/dist/types/ui-components.d.ts.map +1 -0
  35. package/dist/types/ui-components.js +3 -0
  36. package/dist/types/ui-components.js.map +1 -0
  37. package/dist/types/user.d.ts +11 -0
  38. package/dist/types/user.d.ts.map +1 -1
  39. package/package.json +2 -2
@@ -18,52 +18,10 @@ export interface MenuOptions {
18
18
  /** Verbose mode */
19
19
  verbose?: boolean;
20
20
  }
21
- /**
22
- * Menu context information
23
- */
24
- export interface MenuContext {
25
- /** Service status */
26
- serviceStatus?: string;
27
- /** Number of users */
28
- userCount?: number;
29
- /** Last updated timestamp */
30
- lastUpdated?: Date;
31
- }
32
- /**
33
- * Menu stack for navigation
34
- */
35
- export declare class MenuStack {
36
- private stack;
37
- push(menu: string): void;
38
- pop(): string;
39
- current(): string | undefined;
40
- depth(): number;
41
- canGoBack(): boolean;
42
- clear(): void;
43
- }
44
- /**
45
- * Get menu context (service status, user count)
46
- */
47
- export declare function getMenuContext(options?: MenuOptions): Promise<MenuContext>;
48
- /**
49
- * Format menu header with context
50
- */
51
- export declare function formatMenuHeader(context: MenuContext): string;
52
21
  /**
53
22
  * Get main menu options
54
23
  */
55
24
  export declare function getMainMenuOptions(): any[];
56
- /**
57
- * Get menu depth (for Constitution compliance - max 3 levels)
58
- */
59
- export declare function getMenuDepth(): number;
60
- /**
61
- * Format a menu option with appropriate icon
62
- */
63
- export declare function formatMenuOption(name: string, value: string): {
64
- name: string;
65
- value: string;
66
- };
67
25
  /**
68
26
  * Show a menu and get user selection
69
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAgB;IAE7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxB,GAAG,IAAI,MAAM;IAOb,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,KAAK,IAAI,MAAM;IAIf,SAAS,IAAI,OAAO;IAIpB,KAAK,IAAI,IAAI;CAGd;AAKD;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAyBpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAc7D;AAED;;GAEG;AAEH,wBAAgB,kBAAkB,IAAI,GAAG,EAAE,CA8C1C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAwB7F;AAED;;GAEG;AAEH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQhF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAyEnG;AAqED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAQrD;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAwF9E"}
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD;;GAEG;AAEH,wBAAgB,kBAAkB,IAAI,GAAG,EAAE,CA+C1C;AAED;;GAEG;AAEH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQhF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CA0EnG;AA+ED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAQrD;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoE9E"}
@@ -10,12 +10,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
10
10
  return (mod && mod.__esModule) ? mod : { "default": mod };
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.MenuStack = void 0;
14
- exports.getMenuContext = getMenuContext;
15
- exports.formatMenuHeader = formatMenuHeader;
16
13
  exports.getMainMenuOptions = getMainMenuOptions;
17
- exports.getMenuDepth = getMenuDepth;
18
- exports.formatMenuOption = formatMenuOption;
19
14
  exports.showMenu = showMenu;
20
15
  exports.handleMenuSelection = handleMenuSelection;
21
16
  exports.handleSigInt = handleSigInt;
@@ -24,181 +19,70 @@ const prompts_1 = require("@inquirer/prompts");
24
19
  const chalk_1 = __importDefault(require("chalk"));
25
20
  const logger_1 = __importDefault(require("../utils/logger"));
26
21
  const exit_codes_1 = require("../constants/exit-codes");
27
- const systemd_manager_1 = require("../services/systemd-manager");
28
- const user_manager_1 = require("../services/user-manager");
29
22
  const service_1 = require("./service");
30
23
  const user_1 = require("./user");
31
24
  const ui_symbols_1 = require("../constants/ui-symbols");
32
25
  const i18n_1 = require("../config/i18n");
33
26
  const layout_manager_1 = __importDefault(require("../services/layout-manager"));
34
- const layout_1 = require("../utils/layout");
35
- const layout_2 = require("../types/layout");
36
- /**
37
- * Menu stack for navigation
38
- */
39
- class MenuStack {
40
- constructor() {
41
- this.stack = [];
42
- }
43
- push(menu) {
44
- this.stack.push(menu);
45
- }
46
- pop() {
47
- if (this.stack.length === 0) {
48
- throw new Error('Cannot pop from empty menu stack');
49
- }
50
- return this.stack.pop();
51
- }
52
- current() {
53
- return this.stack[this.stack.length - 1];
54
- }
55
- depth() {
56
- return this.stack.length;
57
- }
58
- canGoBack() {
59
- return this.stack.length > 0;
60
- }
61
- clear() {
62
- this.stack = [];
63
- }
64
- }
65
- exports.MenuStack = MenuStack;
66
- // Global menu stack instance
67
- const menuStack = new MenuStack();
68
- /**
69
- * Get menu context (service status, user count)
70
- */
71
- async function getMenuContext(options = {}) {
72
- const serviceName = options.serviceName || 'xray';
73
- try {
74
- const systemdManager = new systemd_manager_1.SystemdManager(serviceName);
75
- const userManager = new user_manager_1.UserManager(options.configPath, serviceName);
76
- const [status, users] = await Promise.all([
77
- systemdManager.getStatus(),
78
- userManager.listUsers(),
79
- ]);
80
- return {
81
- serviceStatus: status.healthy ? 'active' : status.active ? status.subState : 'inactive',
82
- userCount: users.length,
83
- lastUpdated: new Date(),
84
- };
85
- }
86
- catch {
87
- // If service status fails, return unknown
88
- return {
89
- serviceStatus: 'unknown',
90
- userCount: 0,
91
- lastUpdated: new Date(),
92
- };
93
- }
94
- }
95
- /**
96
- * Format menu header with context
97
- */
98
- function formatMenuHeader(context) {
99
- const trans = (0, i18n_1.t)();
100
- const status = context.serviceStatus || 'unknown';
101
- const userCount = context.userCount || 0;
102
- // Translate status
103
- let statusText = status;
104
- if (status === 'active')
105
- statusText = trans.status.active;
106
- else if (status === 'inactive')
107
- statusText = trans.status.inactive;
108
- else
109
- statusText = trans.status.unknown;
110
- const statusColor = status === 'active' ? chalk_1.default.green : status === 'inactive' ? chalk_1.default.red : chalk_1.default.yellow;
111
- return `${chalk_1.default.gray(trans.status.serviceStatus + ':')} ${statusColor(statusText)} ${chalk_1.default.gray(trans.status.userCount + ':')} ${chalk_1.default.cyan(String(userCount))}`;
112
- }
27
+ const screen_manager_1 = require("../services/screen-manager");
28
+ const dashboard_widget_1 = require("../components/dashboard-widget");
29
+ const navigation_manager_1 = require("../services/navigation-manager");
30
+ const theme_1 = require("../constants/theme");
31
+ // Global instances
32
+ const screenManager = new screen_manager_1.ScreenManager();
33
+ const navigationManager = new navigation_manager_1.NavigationManager();
34
+ let dashboardWidget;
113
35
  /**
114
36
  * Get main menu options
115
37
  */
116
38
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
117
39
  function getMainMenuOptions() {
118
40
  const trans = (0, i18n_1.t)();
41
+ // Unified color theme: Icons use accents, text uses neutral/primary
119
42
  return [
120
43
  // Service Operations Group
121
44
  {
122
- name: chalk_1.default.cyan(`${ui_symbols_1.menuIcons.STATUS} ${trans.menu.viewStatus}`),
45
+ name: `${theme_1.THEME.primary(ui_symbols_1.menuIcons.STATUS)} ${theme_1.THEME.neutral(trans.menu.viewStatus)}`,
123
46
  value: 'service-status',
124
47
  },
125
48
  {
126
- name: chalk_1.default.green(`${ui_symbols_1.menuIcons.START} ${trans.menu.startService}`),
49
+ name: `${theme_1.THEME.success(ui_symbols_1.menuIcons.START)} ${theme_1.THEME.neutral(trans.menu.startService)}`,
127
50
  value: 'service-start',
128
51
  },
129
52
  {
130
- name: chalk_1.default.red(`${ui_symbols_1.menuIcons.STOP} ${trans.menu.stopService}`),
53
+ name: `${theme_1.THEME.error(ui_symbols_1.menuIcons.STOP)} ${theme_1.THEME.neutral(trans.menu.stopService)}`,
131
54
  value: 'service-stop',
132
55
  },
133
56
  {
134
- name: chalk_1.default.yellow(`${ui_symbols_1.menuIcons.RESTART} ${trans.menu.restartService}`),
57
+ name: `${theme_1.THEME.warning(ui_symbols_1.menuIcons.RESTART)} ${theme_1.THEME.neutral(trans.menu.restartService)}`,
135
58
  value: 'service-restart',
136
59
  },
137
60
  new prompts_1.Separator(),
138
61
  // Management Group
139
62
  {
140
- name: chalk_1.default.blue(`${ui_symbols_1.menuIcons.USER} ${trans.menu.userManagement}`),
63
+ name: `${theme_1.THEME.secondary(ui_symbols_1.menuIcons.USER)} ${theme_1.THEME.neutral(trans.menu.userManagement)}`,
141
64
  value: 'user',
142
65
  },
143
66
  {
144
- name: chalk_1.default.magenta(`${ui_symbols_1.menuIcons.CONFIG} ${trans.menu.configManagement}`),
67
+ name: `${theme_1.THEME.secondary(ui_symbols_1.menuIcons.CONFIG)} ${theme_1.THEME.neutral(trans.menu.configManagement)}`,
145
68
  value: 'config',
146
69
  },
147
70
  {
148
- name: chalk_1.default.gray(`${ui_symbols_1.menuIcons.LOGS} ${trans.menu.viewLogs}`),
71
+ name: `${theme_1.THEME.neutral(ui_symbols_1.menuIcons.LOGS)} ${theme_1.THEME.neutral(trans.menu.viewLogs)}`,
149
72
  value: 'logs',
150
73
  },
151
74
  new prompts_1.Separator(),
152
75
  // Language & Exit Group
153
76
  {
154
- name: chalk_1.default.cyan(`${ui_symbols_1.menuIcons.LANGUAGE} ${trans.menu.switchLanguage}`),
77
+ name: `${theme_1.THEME.primary(ui_symbols_1.menuIcons.LANGUAGE)} ${theme_1.THEME.neutral(trans.menu.switchLanguage)}`,
155
78
  value: 'switch-language',
156
79
  },
157
80
  {
158
- name: chalk_1.default.red(`${ui_symbols_1.menuIcons.EXIT} ${trans.menu.exit}`),
81
+ name: `${theme_1.THEME.error(ui_symbols_1.menuIcons.EXIT)} ${theme_1.THEME.neutral(trans.menu.exit)}`,
159
82
  value: 'exit',
160
83
  },
161
84
  ];
162
85
  }
163
- /**
164
- * Get menu depth (for Constitution compliance - max 3 levels)
165
- */
166
- function getMenuDepth() {
167
- // Main menu (1) -> Submenu (2) -> Action (3)
168
- return 3;
169
- }
170
- /**
171
- * Format a menu option with appropriate icon
172
- */
173
- function formatMenuOption(name, value) {
174
- // Add icon based on value type using menuIcons
175
- let icon = '•';
176
- if (value.includes('service') || value.includes('status')) {
177
- icon = ui_symbols_1.menuIcons.STATUS;
178
- }
179
- else if (value.includes('user')) {
180
- icon = ui_symbols_1.menuIcons.USER;
181
- }
182
- else if (value.includes('config')) {
183
- icon = ui_symbols_1.menuIcons.CONFIG;
184
- }
185
- else if (value.includes('log')) {
186
- icon = ui_symbols_1.menuIcons.LOGS;
187
- }
188
- else if (value.includes('start')) {
189
- icon = ui_symbols_1.menuIcons.START;
190
- }
191
- else if (value.includes('stop')) {
192
- icon = ui_symbols_1.menuIcons.STOP;
193
- }
194
- else if (value.includes('restart')) {
195
- icon = ui_symbols_1.menuIcons.RESTART;
196
- }
197
- return {
198
- name: `${icon} ${name}`,
199
- value,
200
- };
201
- }
202
86
  /**
203
87
  * Show a menu and get user selection
204
88
  */
@@ -217,7 +101,6 @@ async function showMenu(options, message) {
217
101
  async function handleMenuSelection(selection, options) {
218
102
  switch (selection) {
219
103
  case 'switch-language':
220
- logger_1.default.newline();
221
104
  (0, i18n_1.toggleLanguage)();
222
105
  const trans = (0, i18n_1.t)();
223
106
  logger_1.default.success(trans.messages.languageSwitched);
@@ -226,46 +109,48 @@ async function handleMenuSelection(selection, options) {
226
109
  case 'exit':
227
110
  return true; // Signal to exit
228
111
  case 'service-status':
229
- logger_1.default.newline();
230
112
  await (0, service_1.displayServiceStatus)(options);
231
113
  await promptContinue();
232
114
  return false;
233
115
  case 'service-start':
234
- logger_1.default.newline();
235
116
  await (0, service_1.startService)(options);
117
+ await dashboardWidget.refresh(); // Refresh dashboard after action
236
118
  await promptContinue();
237
119
  return false;
238
120
  case 'service-stop':
239
- logger_1.default.newline();
240
121
  const confirmStop = await (0, prompts_1.confirm)({
241
- message: chalk_1.default.yellow('确定要停止服务吗?这将中断所有连接。'),
122
+ message: theme_1.THEME.warning('确定要停止服务吗?这将中断所有连接。'),
242
123
  default: false,
243
124
  });
244
125
  if (confirmStop) {
245
126
  await (0, service_1.stopService)(options);
127
+ await dashboardWidget.refresh(); // Refresh dashboard after action
246
128
  }
247
129
  else {
248
130
  logger_1.default.info('已取消停止操作');
131
+ await promptContinue();
249
132
  }
250
- await promptContinue();
251
133
  return false;
252
134
  case 'service-restart':
253
- logger_1.default.newline();
254
135
  const confirmRestart = await (0, prompts_1.confirm)({
255
- message: chalk_1.default.yellow('确定要重启服务吗?'),
136
+ message: theme_1.THEME.warning('确定要重启服务吗?'),
256
137
  default: true,
257
138
  });
258
139
  if (confirmRestart) {
259
140
  await (0, service_1.restartService)(options);
141
+ await dashboardWidget.refresh(); // Refresh dashboard after action
260
142
  }
261
143
  else {
262
144
  logger_1.default.info('已取消重启操作');
145
+ await promptContinue();
263
146
  }
264
- await promptContinue();
265
147
  return false;
266
148
  case 'user':
267
149
  // Show user management submenu
268
- return await handleUserManagementMenu(options);
150
+ navigationManager.push('User Management');
151
+ const result = await handleUserManagementMenu(options);
152
+ navigationManager.pop();
153
+ return result;
269
154
  case 'config':
270
155
  logger_1.default.info('配置管理功能即将推出...');
271
156
  await promptContinue();
@@ -284,42 +169,51 @@ async function handleMenuSelection(selection, options) {
284
169
  */
285
170
  async function handleUserManagementMenu(options) {
286
171
  while (true) {
287
- logger_1.default.newline();
288
- logger_1.default.separator();
289
- console.log(chalk_1.default.bold.cyan(`${ui_symbols_1.menuIcons.USER} 用户管理`));
172
+ // Render Frame
173
+ screenManager.clear();
174
+ await dashboardWidget.refresh();
175
+ screenManager.renderHeader(dashboardWidget, navigationManager.getBreadcrumb());
176
+ // Submenu Header - Use theme colors
177
+ console.log(theme_1.THEME.secondary(`${ui_symbols_1.menuIcons.USER} 用户管理`));
290
178
  logger_1.default.separator();
291
179
  logger_1.default.newline();
292
180
  const userMenuOptions = [
293
- { name: chalk_1.default.cyan('[列表] 查看用户列表'), value: 'user-list' },
294
- { name: chalk_1.default.green('[添加] 添加用户'), value: 'user-add' },
295
- { name: chalk_1.default.red('[删除] 删除用户'), value: 'user-delete' },
296
- { name: chalk_1.default.blue('[分享] 显示分享链接'), value: 'user-share' },
181
+ { name: `${theme_1.THEME.primary('[列表]')} ${theme_1.THEME.neutral('查看用户列表')}`, value: 'user-list' },
182
+ { name: `${theme_1.THEME.success('[添加]')} ${theme_1.THEME.neutral('添加用户')}`, value: 'user-add' },
183
+ { name: `${theme_1.THEME.error('[删除]')} ${theme_1.THEME.neutral('删除用户')}`, value: 'user-delete' },
184
+ { name: `${theme_1.THEME.secondary('[分享]')} ${theme_1.THEME.neutral('显示分享链接')}`, value: 'user-share' },
297
185
  { type: 'separator' },
298
- { name: chalk_1.default.gray('[返回] 返回主菜单'), value: 'back' },
186
+ { name: `${theme_1.THEME.neutral('[返回]')} ${theme_1.THEME.neutral('返回主菜单')}`, value: 'back' },
299
187
  ];
300
188
  const selection = await showMenu(userMenuOptions, chalk_1.default.bold('请选择操作:'));
301
189
  switch (selection) {
302
190
  case 'back':
303
191
  return false; // Return to main menu
304
192
  case 'user-list':
305
- logger_1.default.newline();
193
+ navigationManager.push('List Users');
306
194
  await (0, user_1.listUsers)(options);
307
195
  await promptContinue();
196
+ navigationManager.pop();
308
197
  break;
309
198
  case 'user-add':
310
- logger_1.default.newline();
199
+ navigationManager.push('Add User');
311
200
  await (0, user_1.addUser)(options);
201
+ await dashboardWidget.refresh();
312
202
  await promptContinue();
203
+ navigationManager.pop();
313
204
  break;
314
205
  case 'user-delete':
315
- logger_1.default.newline();
206
+ navigationManager.push('Delete User');
316
207
  await (0, user_1.deleteUser)(options);
208
+ await dashboardWidget.refresh();
317
209
  await promptContinue();
210
+ navigationManager.pop();
318
211
  break;
319
212
  case 'user-share':
320
- logger_1.default.newline();
213
+ navigationManager.push('Share Link');
321
214
  await (0, user_1.showUserShare)(options);
322
215
  await promptContinue();
216
+ navigationManager.pop();
323
217
  break;
324
218
  default:
325
219
  logger_1.default.warn(`未知选项: ${selection}`);
@@ -342,7 +236,7 @@ async function promptContinue() {
342
236
  async function handleSigInt() {
343
237
  logger_1.default.newline();
344
238
  const shouldExit = await (0, prompts_1.confirm)({
345
- message: chalk_1.default.yellow('确定要退出吗?'),
239
+ message: theme_1.THEME.warning('确定要退出吗?'),
346
240
  default: false,
347
241
  });
348
242
  return shouldExit;
@@ -355,16 +249,8 @@ async function startInteractiveMenu(options) {
355
249
  // Detect terminal size and validate
356
250
  const terminalSize = layout_manager_1.default.detectTerminalSize();
357
251
  const validation = layout_manager_1.default.validateTerminalSize(terminalSize);
358
- // Get layout mode
359
- const layoutMode = layout_manager_1.default.calculateLayoutMode(terminalSize.width);
360
- // Determine title based on layout mode
361
- let titleText = 'Xray Manager - 交互式管理工具';
362
- if (layoutMode === layout_2.LayoutMode.COMPACT) {
363
- titleText = 'Xray Manager'; // Shorter title for compact terminals
364
- }
365
- // Display title with responsive header
366
- const headerText = (0, layout_1.renderHeader)(titleText, terminalSize.width, 'center');
367
- console.log(chalk_1.default.bold.cyan(headerText));
252
+ // Initialize Dashboard Widget
253
+ dashboardWidget = new dashboard_widget_1.DashboardWidget(options.serviceName, options.configPath);
368
254
  // Warn if terminal is too small
369
255
  if (!validation.isValid) {
370
256
  logger_1.default.newline();
@@ -390,17 +276,15 @@ async function startInteractiveMenu(options) {
390
276
  };
391
277
  process.on('SIGINT', sigintHandler);
392
278
  try {
393
- // Get menu context
394
- const context = await getMenuContext(options);
395
279
  // Main menu loop
396
280
  let shouldExit = false;
397
281
  while (!shouldExit) {
398
- logger_1.default.newline();
399
- logger_1.default.separator();
400
- // Display context
401
- const header = formatMenuHeader(context);
402
- console.log(header);
403
- logger_1.default.separator();
282
+ // 1. Clear Screen
283
+ screenManager.clear();
284
+ // 2. Refresh Dashboard Data
285
+ await dashboardWidget.refresh();
286
+ // 3. Render Header (Dashboard + Breadcrumb)
287
+ screenManager.renderHeader(dashboardWidget, navigationManager.getBreadcrumb());
404
288
  logger_1.default.newline();
405
289
  // Get menu options
406
290
  const menuOptions = getMainMenuOptions();
@@ -408,18 +292,11 @@ async function startInteractiveMenu(options) {
408
292
  const selection = await showMenu(menuOptions, chalk_1.default.bold(trans.actions.selectAction));
409
293
  // Handle selection
410
294
  shouldExit = await handleMenuSelection(selection, options);
411
- // Update context after each action
412
- if (!shouldExit) {
413
- const updatedContext = await getMenuContext(options);
414
- Object.assign(context, updatedContext);
415
- }
416
295
  }
417
296
  logger_1.default.success(trans.messages.thankYou || '感谢使用 Xray Manager!');
418
297
  }
419
298
  finally {
420
- // Cleanup
421
299
  process.removeListener('SIGINT', sigintHandler);
422
- menuStack.clear();
423
300
  }
424
301
  }
425
302
  //# sourceMappingURL=interactive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAuFH,wCAyBC;AAKD,4CAcC;AAMD,gDA8CC;AAKD,oCAGC;AAKD,4CAwBC;AAMD,4BAQC;AAKD,kDAyEC;AAwED,oCAQC;AAKD,oDAwFC;AAneD,+CAA+D;AAC/D,kDAA0B;AAC1B,6DAAqC;AACrC,wDAAmD;AACnD,iEAA6D;AAC7D,2DAAuD;AACvD,uCAA4F;AAC5F,iCAAuE;AACvE,wDAAoD;AACpD,yCAAmD;AACnD,gFAAuD;AACvD,4CAA+C;AAC/C,4CAA6C;AAiC7C;;GAEG;AACH,MAAa,SAAS;IAAtB;QACU,UAAK,GAAa,EAAE,CAAC;IA4B/B,CAAC;IA1BC,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,GAAG;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAG,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF;AA7BD,8BA6BC;AAED,6BAA6B;AAC7B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAElC;;GAEG;AACI,KAAK,UAAU,cAAc,CAAC,UAAuB,EAAE;IAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAErE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,cAAc,CAAC,SAAS,EAAE;YAC1B,WAAW,CAAC,SAAS,EAAE;SACxB,CAAC,CAAC;QAEH,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;YACvF,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,WAAW,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;QAC1C,OAAO;YACL,aAAa,EAAE,SAAS;YACxB,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAAoB;IACnD,MAAM,KAAK,GAAG,IAAA,QAAC,GAAE,CAAC;IAClB,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,IAAI,SAAS,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;IAEzC,mBAAmB;IACnB,IAAI,UAAU,GAAG,MAAM,CAAC;IACxB,IAAI,MAAM,KAAK,QAAQ;QAAE,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;SACrD,IAAI,MAAM,KAAK,UAAU;QAAE,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;;QAC9D,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAEvC,MAAM,WAAW,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC;IAEzG,OAAO,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AACpK,CAAC;AAED;;GAEG;AACH,8DAA8D;AAC9D,SAAgB,kBAAkB;IAChC,MAAM,KAAK,GAAG,IAAA,QAAC,GAAE,CAAC;IAElB,OAAO;QACL,2BAA2B;QAC3B;YACE,IAAI,EAAE,eAAK,CAAC,IAAI,CAAC,GAAG,sBAAS,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChE,KAAK,EAAE,gBAAgB;SACxB;QACD;YACE,IAAI,EAAE,eAAK,CAAC,KAAK,CAAC,GAAG,sBAAS,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClE,KAAK,EAAE,eAAe;SACvB;QACD;YACE,IAAI,EAAE,eAAK,CAAC,GAAG,CAAC,GAAG,sBAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9D,KAAK,EAAE,cAAc;SACtB;QACD;YACE,IAAI,EAAE,eAAK,CAAC,MAAM,CAAC,GAAG,sBAAS,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvE,KAAK,EAAE,iBAAiB;SACzB;QACD,IAAI,mBAAS,EAAE;QACf,mBAAmB;QACnB;YACE,IAAI,EAAE,eAAK,CAAC,IAAI,CAAC,GAAG,sBAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAClE,KAAK,EAAE,MAAM;SACd;QACD;YACE,IAAI,EAAE,eAAK,CAAC,OAAO,CAAC,GAAG,sBAAS,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzE,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,IAAI,EAAE,eAAK,CAAC,IAAI,CAAC,GAAG,sBAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5D,KAAK,EAAE,MAAM;SACd;QACD,IAAI,mBAAS,EAAE;QACf,wBAAwB;QACxB;YACE,IAAI,EAAE,eAAK,CAAC,IAAI,CAAC,GAAG,sBAAS,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtE,KAAK,EAAE,iBAAiB;SACzB;QACD;YACE,IAAI,EAAE,eAAK,CAAC,GAAG,CAAC,GAAG,sBAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACvD,KAAK,EAAE,MAAM;SACd;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,6CAA6C;IAC7C,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,IAAY,EAAE,KAAa;IAC1D,+CAA+C;IAC/C,IAAI,IAAI,GAAG,GAAG,CAAC;IAEf,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,IAAI,GAAG,sBAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,IAAI,GAAG,sBAAS,CAAC,IAAI,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,IAAI,GAAG,sBAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,IAAI,GAAG,sBAAS,CAAC,IAAI,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,sBAAS,CAAC,KAAK,CAAC;IACzB,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,IAAI,GAAG,sBAAS,CAAC,IAAI,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,IAAI,GAAG,sBAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;QACvB,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,8DAA8D;AACvD,KAAK,UAAU,QAAQ,CAAC,OAAc,EAAE,OAAgB;IAC7D,MAAM,KAAK,GAAG,IAAA,QAAC,GAAE,CAAC;IAClB,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAM,EAAC;QAC1B,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY;QAC9C,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CAAC,SAAiB,EAAE,OAAoB;IAC/E,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,iBAAiB;YACpB,gBAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAA,qBAAc,GAAE,CAAC;YACjB,MAAM,KAAK,GAAG,IAAA,QAAC,GAAE,CAAC;YAClB,gBAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,CAAC,mCAAmC;QAEnD,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,CAAC,iBAAiB;QAEhC,KAAK,gBAAgB;YACnB,gBAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAA,8BAAoB,EAAC,OAAO,CAAC,CAAC;YACpC,MAAM,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QAEf,KAAK,eAAe;YAClB,gBAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QAEf,KAAK,cAAc;YACjB,gBAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAO,EAAC;gBAChC,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC;gBAC3C,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YAEH,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,gBAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QAEf,KAAK,iBAAiB;YACpB,gBAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,cAAc,GAAG,MAAM,IAAA,iBAAO,EAAC;gBACnC,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC,WAAW,CAAC;gBAClC,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,gBAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QAEf,KAAK,MAAM;YACT,+BAA+B;YAC/B,OAAO,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAEjD,KAAK,QAAQ;YACX,gBAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7B,MAAM,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QAEf,KAAK,MAAM;YACT,gBAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7B,MAAM,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QAEf;YACE,gBAAM,CAAC,IAAI,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,wBAAwB,CAAC,OAAoB;IAC1D,OAAO,IAAI,EAAE,CAAC;QACZ,gBAAM,CAAC,OAAO,EAAE,CAAC;QACjB,gBAAM,CAAC,SAAS,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,sBAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;QACvD,gBAAM,CAAC,SAAS,EAAE,CAAC;QACnB,gBAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,MAAM,eAAe,GAAG;YACtB,EAAE,IAAI,EAAE,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;YACvD,EAAE,IAAI,EAAE,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;YACrD,EAAE,IAAI,EAAE,eAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE;YACtD,EAAE,IAAI,EAAE,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE;YACxD,EAAE,IAAI,EAAE,WAAW,EAAE;YACrB,EAAE,IAAI,EAAE,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;SAClD,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAExE,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,OAAO,KAAK,CAAC,CAAC,sBAAsB;YAEtC,KAAK,WAAW;gBACd,gBAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAC;gBACzB,MAAM,cAAc,EAAE,CAAC;gBACvB,MAAM;YAER,KAAK,UAAU;gBACb,gBAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC;gBACvB,MAAM,cAAc,EAAE,CAAC;gBACvB,MAAM;YAER,KAAK,aAAa;gBAChB,gBAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,IAAA,iBAAU,EAAC,OAAO,CAAC,CAAC;gBAC1B,MAAM,cAAc,EAAE,CAAC;gBACvB,MAAM;YAER,KAAK,YAAY;gBACf,gBAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,IAAA,oBAAa,EAAC,OAAO,CAAC,CAAC;gBAC7B,MAAM,cAAc,EAAE,CAAC;gBACvB,MAAM;YAER;gBACE,gBAAM,CAAC,IAAI,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;gBAClC,MAAM;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc;IAC3B,MAAM,IAAA,iBAAO,EAAC;QACZ,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY;IAChC,gBAAM,CAAC,OAAO,EAAE,CAAC;IACjB,MAAM,UAAU,GAAG,MAAM,IAAA,iBAAO,EAAC;QAC/B,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QAChC,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CAAC,OAAoB;IAC7D,MAAM,KAAK,GAAG,IAAA,QAAC,GAAE,CAAC;IAElB,oCAAoC;IACpC,MAAM,YAAY,GAAG,wBAAa,CAAC,kBAAkB,EAAE,CAAC;IACxD,MAAM,UAAU,GAAG,wBAAa,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEpE,kBAAkB;IAClB,MAAM,UAAU,GAAG,wBAAa,CAAC,mBAAmB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAEzE,uCAAuC;IACvC,IAAI,SAAS,GAAG,wBAAwB,CAAC;IACzC,IAAI,UAAU,KAAK,mBAAU,CAAC,OAAO,EAAE,CAAC;QACtC,SAAS,GAAG,cAAc,CAAC,CAAC,sCAAsC;IACpE,CAAC;IAED,uCAAuC;IACvC,MAAM,UAAU,GAAG,IAAA,qBAAY,EAAC,SAAS,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEzC,gCAAgC;IAChC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,gBAAM,CAAC,OAAO,EAAE,CAAC;QACjB,gBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAQ,CAAC,CAAC;QACjC,gBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAW,CAAC,CAAC;QACpC,gBAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,uBAAuB;IACvB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,aAAa;YAAE,OAAO;QAC1B,aAAa,GAAG,IAAI,CAAC;QAErB,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE,CAAC;QAExC,IAAI,UAAU,EAAE,CAAC;YACf,gBAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,qBAAQ,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,KAAK,CAAC;YACtB,qBAAqB;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEpC,IAAI,CAAC;QACH,mBAAmB;QACnB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAE9C,iBAAiB;QACjB,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,OAAO,CAAC,UAAU,EAAE,CAAC;YACnB,gBAAM,CAAC,OAAO,EAAE,CAAC;YACjB,gBAAM,CAAC,SAAS,EAAE,CAAC;YAEnB,kBAAkB;YAClB,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpB,gBAAM,CAAC,SAAS,EAAE,CAAC;YACnB,gBAAM,CAAC,OAAO,EAAE,CAAC;YAEjB,mBAAmB;YACnB,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;YAEzC,8BAA8B;YAC9B,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YAEtF,mBAAmB;YACnB,UAAU,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE3D,mCAAmC;YACnC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;gBACrD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,gBAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,oBAAoB,CAAC,CAAC;IAClE,CAAC;YAAS,CAAC;QACT,UAAU;QACV,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAChD,SAAS,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/commands/user.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD/E;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC7E;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDhF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DnF"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/commands/user.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4D/E;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC7E;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDhF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DnF"}
@@ -24,6 +24,7 @@ const prompts_1 = require("@inquirer/prompts");
24
24
  const ui_symbols_1 = require("../constants/ui-symbols");
25
25
  const layout_1 = require("../utils/layout");
26
26
  const layout_manager_1 = __importDefault(require("../services/layout-manager"));
27
+ const user_table_1 = require("../components/user-table");
27
28
  /**
28
29
  * List all users
29
30
  *
@@ -51,21 +52,29 @@ async function listUsers(options = {}) {
51
52
  logger_1.default.newline();
52
53
  return;
53
54
  }
54
- // Display users in table format using cli-table3
55
- const columns = [
56
- { header: '邮箱', key: 'email', align: 'left' },
57
- { header: 'UUID (已脱敏)', key: 'maskedId', align: 'left' },
58
- { header: '等级', key: 'level', align: 'center' },
59
- { header: 'Flow', key: 'flow', align: 'center' },
60
- ];
61
- const tableData = users.map((user) => ({
62
- email: user.email,
63
- maskedId: (0, format_1.maskSensitiveValue)(user.id),
64
- level: String(user.level),
65
- flow: user.flow || '-',
55
+ // Adapt UserManager users to UserConfig for table
56
+ // Assuming UserManager users match UserConfig or can be mapped
57
+ // The previous implementation mapped manually, now we use renderUserTable
58
+ // We need to ensure users passed match UserConfig expected by renderUserTable
59
+ // Assuming renderUserTable takes UserConfig[]
60
+ // Convert to compatible type if necessary, or cast if structures align
61
+ // Based on previous code: users has email, id, level, flow
62
+ // renderUserTable expects: username/email, uuid/id, port, protocol
63
+ // Let's check UserConfig type compatibility or map it
64
+ // Mapping adaptation:
65
+ // renderUserTable expects UserConfig { username, uuid, port, protocol, flow? }
66
+ // UserManager returns { email, id, level, flow } (based on previous code)
67
+ const tableUsers = users.map(u => ({
68
+ username: u.email,
69
+ uuid: u.id,
70
+ // Port/Protocol might not be available in simple user list from UserManager
71
+ // If not available, we can pass dummy or fetch if needed
72
+ // For now, mapping what we have
73
+ port: 0, // Placeholder
74
+ protocol: 'vless', // Placeholder
75
+ flow: u.flow
66
76
  }));
67
- const tableOutput = (0, layout_1.renderTable)(columns, tableData, { borderStyle: 'single' });
68
- console.log(tableOutput);
77
+ console.log((0, user_table_1.renderUserTable)(tableUsers, terminalSize.width));
69
78
  logger_1.default.newline();
70
79
  }
71
80
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/commands/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/commands/user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { IDashboardWidget } from '../types/ui-components';
2
+ export declare class DashboardWidget implements IDashboardWidget {
3
+ private systemdManager;
4
+ private userManager;
5
+ private status;
6
+ constructor(serviceName?: string, configPath?: string);
7
+ /**
8
+ * Refreshes the internal data snapshot
9
+ */
10
+ refresh(): Promise<void>;
11
+ /**
12
+ * Renders the dashboard
13
+ */
14
+ render(width: number): string;
15
+ private calculateColWidths;
16
+ private formatUptime;
17
+ }
18
+ //# sourceMappingURL=dashboard-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-widget.d.ts","sourceRoot":"","sources":["../../src/components/dashboard-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,MAAM,CAgBZ;gBAEU,WAAW,GAAE,MAAe,EAAE,UAAU,CAAC,EAAE,MAAM;IAK7D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B9B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IA0D7B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,YAAY;CASrB"}