Refactor app state management: replace globalStore.isStudent with isOrgStudent across multiple components for improved clarity and consistency. Update related logic to utilize isSelfPacedLikeCourse for self-paced course checks.

This commit is contained in:
Rotimi Best
2026-04-12 18:07:33 +01:00
parent 31cc45a277
commit 8ea0ab0a76
16 changed files with 57 additions and 64 deletions
@@ -6,7 +6,7 @@
import { setTheme } from '$lib/utils/functions/theme';
import { setupCloudAnalytics } from '$lib/utils/functions/appSetup';
import { globalStore } from '$lib/utils/store/app';
import { currentOrg, isOrgStudent } from '$lib/utils/store/org';
import { currentOrg } from '$lib/utils/store/org';
import { appInitApi } from '$features/app/init.svelte';
import { onMount } from 'svelte';
import { authClient } from '$lib/utils/services/auth/client';
@@ -98,13 +98,6 @@
}
});
$effect(() => {
if ($isOrgStudent === null) return;
if ($isOrgStudent !== $globalStore.isStudent) {
globalStore.update((s) => ({ ...s, isStudent: !!$isOrgStudent }));
}
});
</script>
<UpgradeModal />
@@ -12,7 +12,7 @@
clearQuestionnaireValidation,
reset
} from '$features/course/components/exercise/store';
import { globalStore } from '$lib/utils/store/app';
import { isOrgStudent } from '$lib/utils/store/app';
import { t } from '$lib/utils/functions/translations';
import type { Question } from '$features/course/types';
import {
@@ -24,7 +24,7 @@
let { data = $bindable() } = $props();
const path = `/courses/${data.courseId}/lessons`;
const isLockedForStudent = $derived($globalStore.isStudent && data.exercise?.isUnlocked === false);
const isLockedForStudent = $derived($isOrgStudent && data.exercise?.isUnlocked === false);
$effect(() => {
if (!data.exercise || isLockedForStudent) return;
@@ -41,6 +41,7 @@
currentOrg.set(data.org);
setTheme(data.org.theme || 'blue');
});
</script>
{#if data.org?.isRestricted || $currentOrg.isRestricted}
+2 -2
View File
@@ -10,8 +10,7 @@
importThemeComponent,
normalizeLandingPageSettings
} from '$features/org/utils/landing-page';
import { basePath } from '$lib/utils/store/app';
import { globalStore } from '$lib/utils/store/app';
import { basePath, globalStore } from '$lib/utils/store/app';
import { currentOrg } from '$lib/utils/store/org';
import { setTheme } from '$lib/utils/functions/theme';
import { t } from '$lib/utils/functions/translations';
@@ -82,6 +81,7 @@
const mod = await importThemeComponent(settings.theme);
ThemeComponent = mod.default;
});
</script>
<svelte:head>