Skip to content

Commit 422c374

Browse files
committed
fix(simkl): correctly return simkl enabled based on active user
1 parent a43ed3d commit 422c374

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

src/stores/data/simkl.store.ts

+13-8
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ export const useSimklStore = defineStore(SimklStoreConstants.Store, () => {
4343
const simklAllowed = computed(() => ['dvcol', 'Anshur'].includes(user.value));
4444
const userSetting = computed(() => userSettings[user.value]);
4545
const userSettingLoading = computed(() => loading?.[user.value]);
46+
const userEnabled = computed(() => simklEnabled[user.value]);
4647

4748
const saveState = debounce(() =>
4849
storage.local.set<SimklStoreState>(SimklStoreConstants.Store, {
@@ -55,6 +56,13 @@ export const useSimklStore = defineStore(SimklStoreConstants.Store, () => {
5556
if (state?.simklEnabled !== undefined) Object.assign(simklEnabled, state.simklEnabled);
5657
};
5758

59+
const setUserEnabled = (value: boolean, account = user.value) => {
60+
if (!account) throw new Error('Account is not set');
61+
simklEnabled[account] = value;
62+
saveState().catch(err => Logger.error('Failed to save simkl state', { value, err }));
63+
return userEnabled.value;
64+
};
65+
5866
/**
5967
* Change the current user settings for a specific account
6068
* @param _settings
@@ -96,7 +104,7 @@ export const useSimklStore = defineStore(SimklStoreConstants.Store, () => {
96104
};
97105

98106
const fetchShow = async (id: string) => {
99-
if (!simklEnabled.value) {
107+
if (!userEnabled.value) {
100108
Logger.error('Cannot fetch show, simkl is not enabled');
101109
return;
102110
}
@@ -117,7 +125,7 @@ export const useSimklStore = defineStore(SimklStoreConstants.Store, () => {
117125
};
118126

119127
const fetchAnime = async (id: string) => {
120-
if (!simklEnabled.value) {
128+
if (!userEnabled.value) {
121129
Logger.error('Cannot fetch anime, simkl is not enabled');
122130
return;
123131
}
@@ -138,7 +146,7 @@ export const useSimklStore = defineStore(SimklStoreConstants.Store, () => {
138146
};
139147

140148
const fetchMovie = async (id: string) => {
141-
if (!simklEnabled.value) {
149+
if (!userEnabled.value) {
142150
Logger.error('Cannot fetch movie, simkl is not enabled');
143151
return;
144152
}
@@ -180,11 +188,8 @@ export const useSimklStore = defineStore(SimklStoreConstants.Store, () => {
180188
setUserSetting,
181189
simklAllowed,
182190
simklEnabled: computed({
183-
get: () => simklAllowed.value && simklEnabled[user.value],
184-
set: (value: boolean) => {
185-
simklEnabled[user.value] = value;
186-
saveState().catch(err => Logger.error('Failed to save simkl state', { value, err }));
187-
},
191+
get: () => simklAllowed.value && userEnabled.value,
192+
set: (value: boolean) => setUserEnabled(value),
188193
}),
189194
initSimklStore,
190195
fetchShow,

0 commit comments

Comments
 (0)