import { addIcon } from "@/deps.ts"; import { $msg } from "@/common/translation"; import type { LiveSyncCore } from "@/main.ts"; import { AbstractModule } from "@/modules/AbstractModule.ts"; // Obsidian specific menu commands. export class ModuleObsidianMenu extends AbstractModule { _everyOnloadStart(): Promise { // UI addIcon( "replicate", ` ` ); this.addRibbonIcon("replicate", $msg("moduleObsidianMenu.replicate"), async () => { await this.services.replication.replicate(true); }).addClass("livesync-ribbon-replicate"); return Promise.resolve(true); } override onBindFunction(core: LiveSyncCore, services: typeof core.services): void { services.appLifecycle.onInitialise.addHandler(this._everyOnloadStart.bind(this)); } }