mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-09-03 01:07:07 +00:00
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import { WorkspaceLeaf } from "@/deps.ts";
|
|
import { mount } from "svelte";
|
|
import { SvelteItemView } from "@/common/SvelteItemView.ts";
|
|
import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore.ts";
|
|
import type { P2PServiceViews } from "@vrtmrz/livesync-commonlib/p2p";
|
|
import P2PServerStatusPane from "./P2PServerStatusPane.svelte";
|
|
|
|
export const VIEW_TYPE_P2P_SERVER_STATUS = "p2p-server-status";
|
|
|
|
export class P2PServerStatusPaneView extends SvelteItemView {
|
|
core: LiveSyncBaseCore;
|
|
private readonly p2p: P2PServiceViews;
|
|
override icon = "waypoints";
|
|
override navigation = false;
|
|
|
|
constructor(leaf: WorkspaceLeaf, core: LiveSyncBaseCore, p2p: P2PServiceViews) {
|
|
super(leaf);
|
|
this.core = core;
|
|
this.p2p = p2p;
|
|
}
|
|
|
|
override getIcon(): string {
|
|
return "waypoints";
|
|
}
|
|
|
|
getViewType() {
|
|
return VIEW_TYPE_P2P_SERVER_STATUS;
|
|
}
|
|
|
|
getDisplayText() {
|
|
return "P2P Status";
|
|
}
|
|
|
|
instantiateComponent(target: HTMLElement) {
|
|
return mount(P2PServerStatusPane, {
|
|
target,
|
|
props: {
|
|
p2p: this.p2p,
|
|
core: this.core,
|
|
},
|
|
});
|
|
}
|
|
}
|