fix discount bug + font dif on lesson page

This commit is contained in:
Rotimi Best
2023-09-26 23:29:50 +01:00
parent 92eef283f1
commit e3d0db15f2
4 changed files with 154 additions and 144 deletions
@@ -16,7 +16,7 @@
</script> </script>
{#if !isNoteEmpty($lesson.materials?.note)} {#if !isNoteEmpty($lesson.materials?.note)}
<article class="preview prose prose-sm sm:prose p-2"> <div>
{@html $lesson.materials.note} {@html $lesson.materials.note}
</article> </div>
{/if} {/if}
@@ -34,6 +34,7 @@
import ComponentNote from './components/ComponentNote.svelte'; import ComponentNote from './components/ComponentNote.svelte';
import ComponentSlide from './components/ComponentSlide.svelte'; import ComponentSlide from './components/ComponentSlide.svelte';
import ComponentVideo from './components/ComponentVideo.svelte'; import ComponentVideo from './components/ComponentVideo.svelte';
import HtmlRender from '$lib/components/HTMLRender/HTMLRender.svelte';
export let mode = MODES.view; export let mode = MODES.view;
export let prevMode = ''; export let prevMode = '';
@@ -234,11 +235,13 @@
<VideoUploader {lessonId} /> <VideoUploader {lessonId} />
</Modal> </Modal>
<h1 class="text-4xl mt-0 capitalize"> <HtmlRender>
<svelte:fragment slot="content">
<h1 class="text-4xl mt-0 capitalize">
{lessonTitle} {lessonTitle}
</h1> </h1>
{#if mode === MODES.edit} {#if mode === MODES.edit}
<Tabs {tabs} {currentTab} {onChange}> <Tabs {tabs} {currentTab} {onChange}>
<slot:fragment slot="content"> <slot:fragment slot="content">
<TabContent value={getValue('Note')} index={currentTab}> <TabContent value={getValue('Note')} index={currentTab}>
@@ -356,13 +359,13 @@
</TabContent> </TabContent>
</slot:fragment> </slot:fragment>
</Tabs> </Tabs>
{:else if !isMaterialsEmpty($lesson.materials)} {:else if !isMaterialsEmpty($lesson.materials)}
<div class="w-full"> <div class="w-full">
{#each componentsToRender as Component, index} {#each componentsToRender as Component, index}
<svelte:component this={Component} key={index} /> <svelte:component this={Component} key={index} />
{/each} {/each}
</div> </div>
{:else} {:else}
<Box className="text-center"> <Box className="text-center">
<img src="/no-video.svg" alt="Video not found" /> <img src="/no-video.svg" alt="Video not found" />
<h3 class="text-xl font-normal dark:text-white py-2"> <h3 class="text-xl font-normal dark:text-white py-2">
@@ -374,4 +377,6 @@
</p> </p>
<PrimaryButton label="Get started" className="rounded-md" onClick={toggleMode} /> <PrimaryButton label="Get started" className="rounded-md" onClick={toggleMode} />
</Box> </Box>
{/if} {/if}
</svelte:fragment>
</HtmlRender>
@@ -21,8 +21,8 @@
let formatter: Intl.NumberFormat | undefined; let formatter: Intl.NumberFormat | undefined;
let isFree = false; let isFree = false;
function calcDisc(percent: number, cost: number) { function calcDisc(percent: number, cost: number, showDiscount: boolean) {
if (!percent) return cost; if (!percent || !showDiscount) return cost;
const discountAmount = (percent / 100) * cost; const discountAmount = (percent / 100) * cost;
const discountedPrice = cost - discountAmount; const discountedPrice = cost - discountAmount;
return Math.round(discountedPrice); return Math.round(discountedPrice);
@@ -51,8 +51,9 @@
} }
$: setFormatter(courseData.currency); $: setFormatter(courseData.currency);
$: discount = get(courseData, 'metadata.discount', 0); $: discount = get(courseData, 'metadata.discount', 0);
$: calculatedCost = calcDisc(discount, courseData.cost || 0); $: calculatedCost = calcDisc(discount, courseData.cost || 0, courseData.metadata.showDiscount);
$: isFree = isCourseFree(calculatedCost); $: isFree = isCourseFree(calculatedCost);
</script> </script>
@@ -6,5 +6,9 @@
</script> </script>
<article class="preview prose prose-sm sm:prose {className}"> <article class="preview prose prose-sm sm:prose {className}">
{#if $$slots.content}
<slot name="content" />
{:else}
{@html marked(content, { breaks: true, gfm: true })} {@html marked(content, { breaks: true, gfm: true })}
{/if}
</article> </article>