diff --git a/ts/graphs/CardCounts.svelte b/ts/graphs/CardCounts.svelte
index 4c753c13c..cab4908ea 100644
--- a/ts/graphs/CardCounts.svelte
+++ b/ts/graphs/CardCounts.svelte
@@ -2,13 +2,16 @@
import { defaultGraphBounds } from "./graph-helpers";
import { gatherData, renderCards } from "./card-counts";
import type { GraphData, TableDatum } from "./card-counts";
+ import type { PreferenceStore } from "./preferences";
import type pb from "anki/backend_proto";
import type { I18n } from "anki/i18n";
import SeparateInactiveCheckbox from "./SeparateInactiveCheckbox.svelte";
export let sourceData: pb.BackendProto.GraphsOut;
export let i18n: I18n;
+ export let preferences: PreferenceStore;
+ let { cardCountsSeparateInactive } = preferences;
let svg = null as HTMLElement | SVGElement | null;
let bounds = defaultGraphBounds();
@@ -17,10 +20,9 @@
let graphData = (null as unknown) as GraphData;
let tableData = (null as unknown) as TableDatum[];
- let cardCountsSeparateInactive = false;
$: {
- graphData = gatherData(sourceData, cardCountsSeparateInactive, i18n);
+ graphData = gatherData(sourceData, $cardCountsSeparateInactive, i18n);
tableData = renderCards(svg as any, bounds, graphData);
}
@@ -56,7 +58,7 @@
{graphData.title}
-
+
diff --git a/ts/graphs/GraphsPage.svelte b/ts/graphs/GraphsPage.svelte
index a38d20f15..8615c28e5 100644
--- a/ts/graphs/GraphsPage.svelte
+++ b/ts/graphs/GraphsPage.svelte
@@ -62,6 +62,7 @@
diff --git a/ts/graphs/SeparateInactiveCheckbox.svelte b/ts/graphs/SeparateInactiveCheckbox.svelte
index f998c5ceb..51ef6529f 100644
--- a/ts/graphs/SeparateInactiveCheckbox.svelte
+++ b/ts/graphs/SeparateInactiveCheckbox.svelte
@@ -1,13 +1,14 @@
diff --git a/ts/graphs/preferences.ts b/ts/graphs/preferences.ts
index a4e37ac90..cc3109fc5 100644
--- a/ts/graphs/preferences.ts
+++ b/ts/graphs/preferences.ts
@@ -1,11 +1,10 @@
import { getGraphPreferences } from "./graph-helpers";
-import { writable } from "svelte/store";
+import { writable, get } from "svelte/store";
import type pb from "anki/backend_proto";
-interface CustomStore
{
+export interface CustomStore {
subscribe: (getter: (value: T) => void) => () => void;
set: (value: T) => void;
- get: () => T;
}
export type PreferenceStore = {
@@ -26,11 +25,6 @@ function createPreference(
set(v);
savePreferences();
},
- get: (): T => {
- let result: any /* T */;
- subscribe((value: T) => (result = value))();
- return result;
- },
};
}
@@ -43,7 +37,7 @@ function preparePreferences(
function constructPreferences(): pb.BackendProto.GraphsPreferencesOut {
const payload: Partial = {};
for (const [key, pref] of Object.entries(preferences as PreferenceStore)) {
- payload[key] = pref.get();
+ payload[key] = get(pref as any);
}
return payload as pb.BackendProto.GraphsPreferencesOut;
}