diff --git a/apps/dashboard/src/lib/features/ui/course-landing-page/course-landing-page.svelte b/apps/dashboard/src/lib/features/ui/course-landing-page/course-landing-page.svelte index 434b1a43..adbaee60 100644 --- a/apps/dashboard/src/lib/features/ui/course-landing-page/course-landing-page.svelte +++ b/apps/dashboard/src/lib/features/ui/course-landing-page/course-landing-page.svelte @@ -49,7 +49,7 @@ return slug ? resolve(`/course/${slug}/enroll`, {}) : '#'; }); - const enrollmentsOpen = $derived(get(courseData, 'metadata.allowNewStudent') === true); + const enrollmentsOpen = $derived(get(courseData, 'metadata.allowNewStudent') !== false); const enrollDisabled = $derived(editMode || !enrollmentsOpen); const discount = $derived(get(courseData, 'metadata.discount', 0)); @@ -60,7 +60,7 @@ function handlePaidEnrollClick(event: MouseEvent) { event.preventDefault(); - if (editMode || !$currentOrg.siteName) { + if (editMode || !activeOrg.siteName) { return; } diff --git a/apps/dashboard/src/lib/features/ui/course-landing-page/utils.ts b/apps/dashboard/src/lib/features/ui/course-landing-page/utils.ts index bb5854a0..de1d758e 100644 --- a/apps/dashboard/src/lib/features/ui/course-landing-page/utils.ts +++ b/apps/dashboard/src/lib/features/ui/course-landing-page/utils.ts @@ -250,6 +250,7 @@ export function buildCourseLandingPageProps( ctaLabel: pricingCtaLabel, ctaHref: paidEnrollClick ? undefined : options.enrollHref, ctaOnclick: paidEnrollClick, + ctaDisabled: options.enrollDisabled, reward: metadata?.reward?.show ? { show: true, description: metadata.reward.description ?? '' } : undefined }, footer: landing.footer diff --git a/packages/ui/src/custom/org-landing-page/course-landing-page.helpers.ts b/packages/ui/src/custom/org-landing-page/course-landing-page.helpers.ts index 966a95b4..3b8fa8d1 100644 --- a/packages/ui/src/custom/org-landing-page/course-landing-page.helpers.ts +++ b/packages/ui/src/custom/org-landing-page/course-landing-page.helpers.ts @@ -10,7 +10,7 @@ export function alignHeroCtaWithPricing( label: pricing.ctaLabel, href: pricing.ctaOnclick ? undefined : (pricing.ctaHref ?? '#pricing'), onclick: pricing.ctaOnclick, - disabled: hero.primaryAction.disabled + disabled: pricing.ctaDisabled ?? hero.primaryAction.disabled } }; } diff --git a/packages/ui/src/custom/org-landing-page/course-pricing.svelte b/packages/ui/src/custom/org-landing-page/course-pricing.svelte index b9e9d700..752adddc 100644 --- a/packages/ui/src/custom/org-landing-page/course-pricing.svelte +++ b/packages/ui/src/custom/org-landing-page/course-pricing.svelte @@ -73,6 +73,7 @@ size="lg" href={pricing.ctaOnclick ? undefined : (pricing.ctaHref ?? '#enroll')} onclick={pricing.ctaOnclick} + disabled={pricing.ctaDisabled ?? false} class={t.pricingCta} > {pricing.ctaLabel} diff --git a/packages/ui/src/custom/org-landing-page/types.ts b/packages/ui/src/custom/org-landing-page/types.ts index bf02a7bd..6afec2c6 100644 --- a/packages/ui/src/custom/org-landing-page/types.ts +++ b/packages/ui/src/custom/org-landing-page/types.ts @@ -229,6 +229,7 @@ export type CoursePricing = { ctaLabel: string; ctaHref?: string; ctaOnclick?: (event: MouseEvent) => void; + ctaDisabled?: boolean; features?: string[]; reward?: { show: boolean;