Skip to content

Commit 90b8747

Browse files
committed
ability to align status bar item on web extension too
1 parent eafddea commit 90b8747

File tree

2 files changed

+31
-11
lines changed

2 files changed

+31
-11
lines changed

src/options.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -310,19 +310,19 @@ export class Options {
310310
}
311311

312312
public getStatusBarAlignment(): vscode.StatusBarAlignment {
313-
const align: string = vscode.workspace.getConfiguration().get('wakatime.align') as string
313+
const align: string = vscode.workspace.getConfiguration().get('wakatime.align') ?? '';
314314
switch (align) {
315315
case 'left':
316-
return vscode.StatusBarAlignment.Left
316+
return vscode.StatusBarAlignment.Left;
317317
case 'right':
318-
return vscode.StatusBarAlignment.Right
318+
return vscode.StatusBarAlignment.Right;
319319
default:
320-
return vscode.StatusBarAlignment.Left
320+
return vscode.StatusBarAlignment.Left;
321321
}
322322
}
323323

324324
public getStatusBarPriority(): number {
325-
const priority = vscode.workspace.getConfiguration().get('wakatime.alignPriority') as number;
325+
const priority = vscode.workspace.getConfiguration().get('wakatime.alignPriority');
326326
return typeof priority === 'number' ? priority : 1;
327327
}
328328

src/web/wakatime.ts

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,25 +88,28 @@ export class WakaTime {
8888
public initializeDependencies(): void {
8989
this.logger.debug(`Initializing WakaTime v${this.extension.version}`);
9090

91+
const align = this.getStatusBarAlignment();
92+
const priority = this.getStatusBarPriority();
93+
9194
this.statusBar = vscode.window.createStatusBarItem(
9295
'com.wakatime.statusbar',
93-
vscode.StatusBarAlignment.Left,
94-
3,
96+
align,
97+
priority + 2,
9598
);
9699
this.statusBar.name = 'WakaTime';
97100
this.statusBar.command = COMMAND_DASHBOARD;
98101

99102
this.statusBarTeamYou = vscode.window.createStatusBarItem(
100103
'com.wakatime.teamyou',
101-
vscode.StatusBarAlignment.Left,
102-
2,
104+
align,
105+
priority + 1,
103106
);
104107
this.statusBarTeamYou.name = 'WakaTime Top dev';
105108

106109
this.statusBarTeamOther = vscode.window.createStatusBarItem(
107110
'com.wakatime.teamother',
108-
vscode.StatusBarAlignment.Left,
109-
1,
111+
align,
112+
priority,
110113
);
111114
this.statusBarTeamOther.name = 'WakaTime Team Total';
112115

@@ -322,6 +325,23 @@ export class WakaTime {
322325
callback(!Utils.apiKeyInvalid(apiKey));
323326
}
324327

328+
private getStatusBarAlignment(): vscode.StatusBarAlignment {
329+
const align: string = this.config.get('wakatime.align') ?? '';
330+
switch (align) {
331+
case 'left':
332+
return vscode.StatusBarAlignment.Left;
333+
case 'right':
334+
return vscode.StatusBarAlignment.Right;
335+
default:
336+
return vscode.StatusBarAlignment.Left;
337+
}
338+
}
339+
340+
private getStatusBarPriority(): number {
341+
const priority = this.config.get('wakatime.alignPriority');
342+
return typeof priority === 'number' ? priority : 1;
343+
}
344+
325345
private setStatusBarVisibility(isVisible: boolean): void {
326346
if (isVisible) {
327347
this.statusBar?.show();

0 commit comments

Comments
 (0)