infio-copilot/src/status-bar.ts
duanfuxiang 0c7ee142cb init
2025-01-05 11:51:39 +08:00

31 lines
624 B
TypeScript

import { Plugin } from "obsidian";
class StatusBar {
private readonly statusBarItem: HTMLElement;
private text = "";
private constructor(statusBarItem: HTMLElement) {
this.statusBarItem = statusBarItem;
}
public static fromApp(plugin: Plugin): StatusBar {
const statusBarItem = plugin.addStatusBarItem();
return new StatusBar(statusBarItem);
}
public render(): void {
if (this.text.length === 0) {
return;
}
this.statusBarItem.empty();
this.statusBarItem.setText(this.text);
}
public updateText(text: string): void {
this.text = text.trim();
this.render();
}
}
export default StatusBar;