Rewrite Mostly Stable

This commit is contained in:
Luke Leppan 2022-11-16 11:48:56 +02:00
parent 88eea5ad67
commit 67221411f8
No known key found for this signature in database
GPG key ID: AE403C75AFBBC102
5 changed files with 20 additions and 3 deletions

View file

@ -8,6 +8,7 @@ import {
BetterWordCountSettings,
DEFAULT_SETTINGS,
} from "src/settings/Settings";
import { settingsStore } from "./utils/SvelteStores";
export default class BetterWordCount extends Plugin {
public settings: BetterWordCountSettings;
@ -20,6 +21,12 @@ export default class BetterWordCount extends Plugin {
}
async onload() {
// Settings Store
this.register(
settingsStore.subscribe((value) => {
this.settings = value;
})
);
// Handle Settings
this.settings = Object.assign(DEFAULT_SETTINGS, await this.loadData());
this.addSettingTab(new BetterWordCountSettingsTab(this.app, this));

View file

@ -26,7 +26,7 @@ export interface BetterWordCountSettings {
collectStats: boolean;
}
export const DEFAULT_SETTINGS: BetterWordCountSettings = {
export const DEFAULT_SETTINGS: BetterWordCountSettings = Object.freeze({
statusBar: [
{
prefix: "",
@ -41,4 +41,4 @@ export const DEFAULT_SETTINGS: BetterWordCountSettings = {
],
countComments: false,
collectStats: false,
};
});

View file

@ -22,7 +22,7 @@ export default class StatusBar {
);
this.statusBarEl.classList.add("mod-clickable");
this.statusBarEl.setAttribute("aria-label", "Open Stats View");
this.statusBarEl.setAttribute("aria-label", "Coming Soon");
this.statusBarEl.setAttribute("aria-label-position", "top");
this.statusBarEl.addEventListener("click", (ev: MouseEvent) =>
this.onClick(ev)

View file

@ -0,0 +1,8 @@
import {
BetterWordCountSettings,
DEFAULT_SETTINGS,
} from "src/settings/Settings";
import { writable } from "svelte/store";
export const settingsStore =
writable<BetterWordCountSettings>(DEFAULT_SETTINGS);

View file

@ -1,9 +1,11 @@
import { ItemView, WorkspaceLeaf } from "obsidian";
import { STATS_ICON_NAME, VIEW_TYPE_STATS } from "src/constants";
import type BetterWordCount from "src/main";
//@ts-ignore
import Statistics from "./Statistics.svelte";
export default class StatsView extends ItemView {
private plugin: BetterWordCount;
private statistics: Statistics;
constructor(leaf: WorkspaceLeaf) {