diff --git a/src/statusBar/StatusBarData.ts b/src/statusBar/StatusBarData.ts index a96e71beee..1aafef1aaa 100644 --- a/src/statusBar/StatusBarData.ts +++ b/src/statusBar/StatusBarData.ts @@ -18,6 +18,8 @@ export default class StatusBarData implements Disposable { private _text?: string; + private _isLoggedIn?: boolean; + constructor( private _statusBarItem: StatusBarItem, private _context: ExtensionContext @@ -41,6 +43,11 @@ export default class StatusBarData implements Disposable { return this._serviceLevel; } + public set isLoggedIn(isLoggedIn: boolean | undefined) { + this._isLoggedIn = isLoggedIn; + this.updateStatusBar(); + } + public set icon(icon: string | undefined | null) { this._icon = icon || undefined; this.updateStatusBar(); @@ -66,6 +73,7 @@ export default class StatusBarData implements Disposable { this._statusBarItem.text = `${FULL_BRAND_REPRESENTATION}${serviceLevel}${this.getIconText()}${issueText.trimEnd()}${limited}`; if ( this._serviceLevel === "Free" && + !this._isLoggedIn && isCapabilityEnabled(Capability.FORCE_REGISTRATION) ) { this._statusBarItem.tooltip = "Sign in using your Tabnine account"; diff --git a/src/statusBar/statusBar.ts b/src/statusBar/statusBar.ts index 69ceb30451..60e1da2e1b 100644 --- a/src/statusBar/statusBar.ts +++ b/src/statusBar/statusBar.ts @@ -59,6 +59,7 @@ export async function onStartServiceLevel(): Promise { const state = await getState(); statusBarData.serviceLevel = state?.service_level; + statusBarData.isLoggedIn = state?.is_logged_in; } export function setDefaultStatus(): void {