diff --git a/apps/course-app/src/lib/components/animation/blurfade/blurfade.svelte b/apps/course-app/src/lib/components/animation/blurfade/blurfade.svelte index 1c87e4b8..91b933f7 100644 --- a/apps/course-app/src/lib/components/animation/blurfade/blurfade.svelte +++ b/apps/course-app/src/lib/components/animation/blurfade/blurfade.svelte @@ -1,5 +1,5 @@ + +
+
+
+

{title}

+
+ +
+ course banner +
+ + +
+
diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/EmptyState.svelte b/packages/course-app/src/template/src/lib/components/bootcamp/EmptyState.svelte new file mode 100644 index 00000000..8d17c782 --- /dev/null +++ b/packages/course-app/src/template/src/lib/components/bootcamp/EmptyState.svelte @@ -0,0 +1,26 @@ + + +
+
+ empty +
+

"No Course yet"

+

+ Looks like courses have not been added yet.
Kindly check back later +

+
+
+
diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/Footer.svelte b/packages/course-app/src/template/src/lib/components/bootcamp/Footer.svelte new file mode 100644 index 00000000..9ea3929e --- /dev/null +++ b/packages/course-app/src/template/src/lib/components/bootcamp/Footer.svelte @@ -0,0 +1,40 @@ + + +{#if content?.show} + +{/if} diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/Navigation.svelte b/packages/course-app/src/template/src/lib/components/bootcamp/Navigation.svelte new file mode 100644 index 00000000..9d6e27ae --- /dev/null +++ b/packages/course-app/src/template/src/lib/components/bootcamp/Navigation.svelte @@ -0,0 +1,94 @@ + + +{#snippet cta()} + +

Learn with me

+ +
+{/snippet} + + + + diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/PrimaryButton.svelte b/packages/course-app/src/template/src/lib/components/bootcamp/PrimaryButton.svelte new file mode 100644 index 00000000..b470ec61 --- /dev/null +++ b/packages/course-app/src/template/src/lib/components/bootcamp/PrimaryButton.svelte @@ -0,0 +1,29 @@ + + + + \ No newline at end of file diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/TestimonialCard.svelte b/packages/course-app/src/template/src/lib/components/bootcamp/TestimonialCard.svelte new file mode 100644 index 00000000..aea0e086 --- /dev/null +++ b/packages/course-app/src/template/src/lib/components/bootcamp/TestimonialCard.svelte @@ -0,0 +1,105 @@ + + +
+ + + + +
+
+
+ Profile +
+
+

{title}

+

{role}

+
+
+

{description}

+
+
+ + diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/assets/about-banner.png b/packages/course-app/src/template/src/lib/components/bootcamp/assets/about-banner.png new file mode 100644 index 00000000..544e6a40 Binary files /dev/null and b/packages/course-app/src/template/src/lib/components/bootcamp/assets/about-banner.png differ diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/assets/bootcamp-user.png b/packages/course-app/src/template/src/lib/components/bootcamp/assets/bootcamp-user.png new file mode 100644 index 00000000..ce60ffea Binary files /dev/null and b/packages/course-app/src/template/src/lib/components/bootcamp/assets/bootcamp-user.png differ diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/assets/empty.svg b/packages/course-app/src/template/src/lib/components/bootcamp/assets/empty.svg new file mode 100644 index 00000000..08e516af --- /dev/null +++ b/packages/course-app/src/template/src/lib/components/bootcamp/assets/empty.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/assets/org-banner.png b/packages/course-app/src/template/src/lib/components/bootcamp/assets/org-banner.png new file mode 100644 index 00000000..4ff9bb97 Binary files /dev/null and b/packages/course-app/src/template/src/lib/components/bootcamp/assets/org-banner.png differ diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/index.ts b/packages/course-app/src/template/src/lib/components/bootcamp/index.ts new file mode 100644 index 00000000..d4cf35ed --- /dev/null +++ b/packages/course-app/src/template/src/lib/components/bootcamp/index.ts @@ -0,0 +1,15 @@ +import type { Component } from 'svelte'; +import CoursesPage from './pages/Course.svelte'; +import HomePage from './pages/Home.svelte'; +import Navigation from './Navigation.svelte'; +import Footer from './Footer.svelte'; +import Button from './PrimaryButton.svelte'; +import type { TemplateComponents } from '$lib/utils/types/template'; + +export const components: TemplateComponents = { + navigation: Navigation as unknown as Component, + footer: Footer as unknown as Component, + button: Button as unknown as Component, + coursespage: CoursesPage as unknown as Component, + homepage: HomePage as unknown as Component +}; diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/pages/Course.svelte b/packages/course-app/src/template/src/lib/components/bootcamp/pages/Course.svelte new file mode 100644 index 00000000..4430da78 --- /dev/null +++ b/packages/course-app/src/template/src/lib/components/bootcamp/pages/Course.svelte @@ -0,0 +1,160 @@ + + +
+ {#if section.header?.show} +
+
+
+

+ {section.header.settings.title} +

+ +

+ {section.header.settings.subtitle} +

+
+
+ landing page banner +
+
+
+ {/if} + {#if section.courses?.show} +
+
+ +

+ {section.courses.settings.title} +

+

+ {section.courses.settings.subtitle} +

+
+
+
+ {#if $courses.length > 0} +
+ +
+ {#each $courses.slice(0, viewAll ? $courses.length : 3) as courseData} + + {/each} +
+
+ + {#if $courses.length > 3} +
+ (viewAll = !viewAll)} + /> +
+ {/if} + {:else} +
+ +
+ {/if} +
+
+ {/if} +
diff --git a/packages/course-app/src/template/src/lib/components/bootcamp/pages/Home.svelte b/packages/course-app/src/template/src/lib/components/bootcamp/pages/Home.svelte new file mode 100644 index 00000000..865c63c7 --- /dev/null +++ b/packages/course-app/src/template/src/lib/components/bootcamp/pages/Home.svelte @@ -0,0 +1,165 @@ + + +
+ + {#if $homePage} + {@const content = getPageSection($homePage, SECTION.HERO)} + {#if content?.show} +
+
+
+

+ {content.settings.title} +

+ +

+ {content.settings.subtitle} +

+
+
+ landing page banner +
+ +
+
+ {/if} + {/if} + + + {#if aboutSection?.show} +
+
+
+

+ {aboutSection.settings.title} +

+
+ {#each aboutSection.settings.benefits.list as items} +
+

{items.title}

+

+ {items.subtitle} +

+
+ {/each} +
+
+ + +
+
+ {/if} + + + {#if coursesSection?.show} +
+
+ +

{coursesSection.settings.title}

+

{coursesSection.settings.subtitle}

+
+
+ + {#if $courses.length > 0} +
+ {#each $courses.slice(0, viewAll ? $courses.length : 3) as courseData} + + {/each} +
+ {#if $courses.length > 3} +
+ (viewAll = !viewAll)} + /> +
+ {/if} + {:else} +
+ +
+ {/if} +
+ {/if} + + + {#if testimonialSection?.show} +
+

See what our learners say

+ +
+ {#each testimonialSection.settings.list as testimonial, index} + + {/each} +
+
+ {/if} + + + {#if ctaSection?.show} +
+
+

+ {ctaSection.settings.title} +

+
+
+ +
+
+ {/if} +
diff --git a/packages/course-app/src/template/src/lib/components/cal/Accordion.svelte b/packages/course-app/src/template/src/lib/components/cal/Accordion.svelte index a54dd92b..46ecf23f 100644 --- a/packages/course-app/src/template/src/lib/components/cal/Accordion.svelte +++ b/packages/course-app/src/template/src/lib/components/cal/Accordion.svelte @@ -24,15 +24,15 @@
{/if} {:else} -
+
{/if} diff --git a/packages/course-app/src/template/src/lib/components/posthog/pages/Home.svelte b/packages/course-app/src/template/src/lib/components/posthog/pages/Home.svelte index ea4e3d72..2e15c770 100644 --- a/packages/course-app/src/template/src/lib/components/posthog/pages/Home.svelte +++ b/packages/course-app/src/template/src/lib/components/posthog/pages/Home.svelte @@ -51,7 +51,7 @@ />
-
+
@@ -121,7 +121,7 @@ class="flex h-[150px] max-h-[200px] w-full max-w-full flex-col gap-2 overflow-hidden rounded-lg border border-[#D0D1C9] bg-[#E5E7E0] p-4 dark:bg-[#232429] md:max-w-[320px] lg:max-w-[450px]" > - +

{item.title}

{item.subtitle}

diff --git a/packages/course-app/src/template/src/lib/components/ui/_custom/Logo.svelte b/packages/course-app/src/template/src/lib/components/ui/_custom/Logo.svelte index 191b41e8..0e1f42cb 100644 --- a/packages/course-app/src/template/src/lib/components/ui/_custom/Logo.svelte +++ b/packages/course-app/src/template/src/lib/components/ui/_custom/Logo.svelte @@ -4,21 +4,12 @@ let { src, alt, className = '', addAcademy = false } = $props(); -{#snippet logo(src = '/logo.png', alt = 'logo', className = '')} - - {alt} - -{/snippet} + +
+ +
-{#if addAcademy} -
- {@render logo(src, alt, className)} - Academy -
-{:else} - {@render logo(src, alt, className)} -{/if} + {#if addAcademy} + Academy + {/if} +
diff --git a/packages/course-app/src/template/src/lib/components/webflow/CourseCard.svelte b/packages/course-app/src/template/src/lib/components/webflow/CourseCard.svelte index 03c43984..702cfd36 100644 --- a/packages/course-app/src/template/src/lib/components/webflow/CourseCard.svelte +++ b/packages/course-app/src/template/src/lib/components/webflow/CourseCard.svelte @@ -33,7 +33,7 @@ {title}

-

+

{description}

diff --git a/packages/course-app/src/template/src/lib/components/webflow/Footer.svelte b/packages/course-app/src/template/src/lib/components/webflow/Footer.svelte index 8b0d1c6a..2f652f3f 100644 --- a/packages/course-app/src/template/src/lib/components/webflow/Footer.svelte +++ b/packages/course-app/src/template/src/lib/components/webflow/Footer.svelte @@ -22,13 +22,14 @@ Twitter {/if} {#if content.settings?.youtube} - Youtube{/if} + Youtube + {/if} {#if content.settings.linkedin} LinkedIn {/if} {#if content.settings.facebook} - facebook + Facebook {/if} - - - - - - - + + diff --git a/packages/course-app/src/template/static/posthog-logo.svg b/packages/course-app/src/template/static/posthog-logo.svg deleted file mode 100644 index 1c09be90..00000000 --- a/packages/course-app/src/template/static/posthog-logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/course-app/src/template/tailwind.config.ts b/packages/course-app/src/template/tailwind.config.ts index 569051c9..76d57310 100644 --- a/packages/course-app/src/template/tailwind.config.ts +++ b/packages/course-app/src/template/tailwind.config.ts @@ -32,9 +32,9 @@ const config: Config = { border: 'hsl(var(--posthog-border) / )', ring: 'hsl(var(--posthog-ring) / )' }, - minimal: { - DEFAULT: 'hsl(var(--minimal-primary) / )', - secondary: 'hsl(var(--minimal-secondary) / )' + bootcamp: { + DEFAULT: 'hsl(var(--bootcamp-primary) / )', + secondary: 'hsl(var(--bootcamp-secondary) / )' }, classic: { DEFAULT: 'hsl(var(--classic-primary) / )', @@ -44,6 +44,10 @@ const config: Config = { DEFAULT: 'hsl(var(--examprep-primary) / )', secondary: 'hsl(var(--examprep-secondary) / )' }, + minimal: { + DEFAULT: 'hsl(var(--minimal-primary) / )', + secondary: 'hsl(var(--minimal-secondary) / )' + }, webflow: { DEFAULT: 'hsl(var(--webflow-primary) / )', secondary: 'hsl(var(--webflow-secondary) / )' @@ -92,7 +96,8 @@ const config: Config = { fontFamily: { sans: [...fontFamily.sans], roboto: ['Roboto', ...fontFamily.sans], - matter: ['Matter', ...fontFamily.sans] + matter: ['Matter', ...fontFamily.sans], + slab: ['Roboto Slab', ...fontFamily.serif] }, keyframes: { 'accordion-down': { diff --git a/packages/course-app/templates.json b/packages/course-app/templates.json index c955b719..9f956c3b 100644 --- a/packages/course-app/templates.json +++ b/packages/course-app/templates.json @@ -18,5 +18,9 @@ { "name": "webflow", "description": "Webflow template" + }, + { + "name": "bootcamp", + "description": "Bootcamp template" } ]