From 3ee7cf10e346fbe0c7373b77ed986bf6650a613f Mon Sep 17 00:00:00 2001 From: Rotimi Best Date: Tue, 17 Dec 2024 04:06:03 +0100 Subject: [PATCH] feat: course-app v0.0.11 (#523) * chore: remove bin * fix: restore bin * change dist to bin * publish only dist folder * publish with src folder. * fix ci * merge steps in CI * update workflow * deploy with src * update to v9 * delete unused code * complete landing page * complete landing page * feat: webflow template (#518) * created a new branch for webflow from debug/course-app * added webflow and reverted neccessary changes * fixed commit issues * clean up posthog * clean up classic * clean up minimal * clean up posthog * clean up webflow * v0.0.10 * markdown lint * feat: add prep template (#522) * working on the ielts template * working on the ielts template * finished the ielts template --------- Co-authored-by: emmanuel * clean up examprep * v0.0.11 --------- Co-authored-by: Em_Dev --- .github/workflows/publish-course-app.yml | 6 +- apps/course-app/src/app.css | 51 +- apps/course-app/src/app.html | 7 +- .../shimmerbutton/shimmerbutton.svelte | 12 +- .../lib/components/animation/sparkle/index.ts | 1 + .../animation/sparkle/sparkle-text.svelte | 73 + .../animation/sparkle/sparkle.svelte | 35 + .../components/navigation/navigation.svelte | 22 +- .../template-card/template-card.svelte | 4 +- .../routes/(redirects)/npm/+page.server.ts | 5 + apps/course-app/src/routes/+page.svelte | 150 +- apps/course-app/static/fonts/Virgil.woff2 | Bin 0 -> 61248 bytes apps/course-app/tailwind.config.ts | 12 +- .../{src/webflow/.gitignore => . npmignore} | 0 packages/course-app/README.md | 184 +- packages/course-app/bin/create-template.ts | 11 +- packages/course-app/lib/scaffoldTemplate.ts | 41 +- packages/course-app/package.json | 4 +- .../src/template/.markdownlint.json | 3 + .../course-app/src/template/package-lock.json | 4728 +++++++++++++++++ packages/course-app/src/template/package.json | 6 +- packages/course-app/src/template/src/app.css | 8 +- .../1-fundamentals/1-introduction.md | 1 - .../src/lib/components/cal/About.svelte | 35 - .../src/lib/components/cal/CourseCard.svelte | 26 +- .../src/lib/components/cal/FAQ.svelte | 27 - .../src/lib/components/cal/Footer.svelte | 23 +- .../src/lib/components/cal/Hero.svelte | 70 - .../src/lib/components/cal/Navigation.svelte | 28 +- .../lib/components/cal/assets/banner.jpeg} | Bin .../cal/assets}/calcom-background.svg | 0 .../lib/components/cal/pages/Courses.svelte | 51 +- .../src/lib/components/cal/pages/Home.svelte | 115 +- .../lib/components/classic/BlogCard.svelte | 6 +- .../lib/components/classic/CourseCard.svelte | 64 +- .../src/lib/components/classic/Footer.svelte | 70 +- .../components/classic/InstructorsCard.svelte | 10 +- .../lib/components/classic/Navigation.svelte | 44 +- .../components/classic/PrimaryButton.svelte | 4 +- .../components/classic/TestimonialCard.svelte | 14 +- .../components/classic/pages/Courses.svelte | 47 +- .../lib/components/classic/pages/Home.svelte | 124 +- .../lib/components/examprep/Accordion.svelte | 53 + .../lib/components/examprep/CourseCard.svelte | 33 + .../lib/components/examprep/EmptyState.svelte | 26 + .../src/lib/components/examprep/Footer.svelte | 39 + .../lib/components/examprep/Navigation.svelte | 97 + .../components/examprep/PrimaryButton.svelte | 29 + .../examprep/assets/examprep-user.png | Bin 0 -> 3457734 bytes .../examprep/assets}/expert-empty.svg | 0 .../components/examprep/assets/org-banner.png | Bin 0 -> 453877 bytes .../src/lib/components/examprep/index.ts | 15 + .../components/examprep/pages/Course.svelte | 141 + .../lib/components/examprep/pages/Home.svelte | 250 + .../src/template/src/lib/components/index.ts | 6 + .../lib/components/minimal/CourseCard.svelte | 16 +- .../src/lib/components/minimal/Footer.svelte | 28 +- .../lib/components/minimal/Navigation.svelte | 39 +- .../components/minimal/PrimaryButton.svelte | 4 +- .../minimal/assets/courses-pg-bg.png | Bin 0 -> 931014 bytes .../components/minimal/pages/Courses.svelte | 56 +- .../lib/components/minimal/pages/Home.svelte | 131 +- .../src/lib/components/posthog/FaqCard.svelte | 18 +- .../src/lib/components/posthog/Footer.svelte | 27 +- .../lib/components/posthog/Navigation.svelte | 34 +- .../components/posthog/PrimaryButton.svelte | 6 +- .../posthog/{static => assets}/analytics.png | Bin .../posthog/{static => assets}/favicon.png | Bin .../fonts/Matter-TRIAL-Medium.ttf | Bin .../fonts/Matter-TRIAL-Regular.ttf | Bin .../fonts/Matter-TRIAL-SemiBold.ttf | Bin .../posthog/{static => assets}/hogempty.svg | 0 .../{static => assets}/icons/FaqMark.svelte | 0 .../{minimal => posthog}/assets/logo-192.png | Bin .../posthog/{static => assets}/posthog.svg | 0 .../components/posthog/pages/Courses.svelte | 5 +- .../lib/components/posthog/pages/Home.svelte | 95 +- .../src/lib/components/ui/_custom/Logo.svelte | 24 + .../animation/dotpattern/dot-pattern.svelte | 37 + .../ui/animation/dotpattern/index.ts | 1 + .../lib/components/ui/button/button.svelte | 2 +- .../ui}/cardborder/CardAnimatedBorder.svelte | 6 +- .../components/ui/checkbox/checkbox.svelte | 2 +- .../src/lib/components/ui/label/label.svelte | 2 +- .../components/ui}/magiccard/MagicCard.svelte | 36 +- .../ui}/shinyborder/ShineBorder.svelte | 0 .../components/ui/skeleton/skeleton.svelte | 19 +- .../lib/components/webflow}/Accordion.svelte | 12 +- .../lib/components/webflow/CourseCard.svelte | 46 + .../lib/components/webflow}/EmptyState.svelte | 0 .../src/lib/components/webflow/Footer.svelte | 43 + .../lib/components/webflow/Navigation.svelte | 100 + .../components/webflow/PrimaryButton.svelte | 25 + .../webflow}/TestimonialCard.svelte | 15 +- .../classroomio-course-img-template.jpg | Bin .../webflow/assets/expert-empty.svg | 81 + .../static => webflow/assets}/logo-192.png | Bin .../components/webflow/assets}/org-banner.png | Bin .../lib/components/webflow/assets}/quote.svg | 0 .../src/lib/components/webflow/index.ts | 15 + .../components/webflow/pages/Courses.svelte | 165 + .../lib/components/webflow/pages/Home.svelte | 167 + .../src/template/src/lib/data/pages.json | 139 +- .../template/src/lib/data/posthog-pages.json | 418 -- .../template/src/lib/utils/constants/page.ts | 13 + .../template/src/lib/utils/helpers/page.ts | 5 +- .../src/routes/course/[slug]/+layout.svelte | 17 +- .../classroomio-course-img-template.jpg | Bin 62873 -> 0 bytes .../course-banner.jpg} | Bin .../course-app/src/template/svelte.config.js | 2 +- .../src/template/tailwind.config.ts | 8 + packages/course-app/src/webflow/.npmrc | 1 - packages/course-app/src/webflow/README.md | 38 - .../course-app/src/webflow/components.json | 14 - .../course-app/src/webflow/package-lock.json | 3066 ----------- packages/course-app/src/webflow/package.json | 32 - .../course-app/src/webflow/postcss.config.js | 6 - packages/course-app/src/webflow/src/app.css | 78 - packages/course-app/src/webflow/src/app.d.ts | 13 - packages/course-app/src/webflow/src/app.html | 12 - .../src/lib/component/CardLoader.svelte | 28 - .../src/lib/component/CourseCard.svelte | 57 - .../webflow/src/lib/component/Courses.svelte | 60 - .../src/webflow/src/lib/component/FAQ.svelte | 16 - .../webflow/src/lib/component/Footer.svelte | 44 - .../src/webflow/src/lib/component/Hero.svelte | 73 - .../src/lib/component/Icons/FaqMark.svelte | 104 - .../src/lib/component/Navigation.svelte | 135 - .../src/lib/component/PageLoader.svelte | 28 - .../lib/component/SideBarExpandable.svelte | 76 - .../src/lib/component/Testimonial.svelte | 16 - .../src/webflow/src/lib/component/store.js | 10 - .../lib/components/ui/button/button.svelte | 38 - .../src/lib/components/ui/button/index.ts | 49 - .../src/lib/components/ui/skeleton/index.ts | 7 - .../components/ui/skeleton/skeleton.svelte | 16 - .../Introduction-to-programming/metadata.json | 9 - .../sectionA/algorithms.md | 6 - .../sectionA/fundamentals-of-programming.md | 6 - .../sectionA/introduction.md | 23 - .../sectionA/metadata.json | 5 - .../sectionB/fundamentals-of-system-design.md | 6 - .../sectionB/introduction.md | 23 - .../sectionB/metadata.json | 5 - .../sectionB/system-architecture.md | 6 - .../sectionC/ai-convention.md | 6 - .../sectionC/ai-in-programming.md | 6 - .../sectionC/machine-learning.md | 23 - .../sectionC/metadata.json | 5 - .../Introduction-to-testing/metadata.json | 9 - .../section-One/intro-to-testing.md | 6 - .../section-One/metadata.json | 5 - .../section-One/testing-in-svelte.md | 6 - .../section-Two/intro-to-testing.md | 6 - .../section-Two/metadata.json | 5 - .../section-Two/testing-in-svelte.md | 6 - .../src/lib/courses/patterns/metadata.json | 9 - .../patterns/sectionA/design-for begginers.md | 6 - .../courses/patterns/sectionA/introduction.md | 23 - .../courses/patterns/sectionA/metadata.json | 5 - .../courses/patterns/sectionA/using-figma.md | 6 - .../courses/patterns/sectionB/introduction.md | 23 - .../courses/patterns/sectionB/metadata.json | 5 - .../patterns/sectionB/pattern designs.md | 6 - .../patterns/sectionB/patterns-and-systems.md | 6 - .../courses/patterns/sectionC/Introduction.md | 23 - .../patterns/sectionC/creating-trends.md | 6 - .../patterns/sectionC/design-that-trends.md | 6 - .../courses/patterns/sectionC/metadata.json | 5 - .../courses/uiux-fundamentals/metadata.json | 9 - .../sectionA/Introduction.md | 23 - .../uiux-fundamentals/sectionA/conclusion.md | 6 - .../sectionA/fundamentals-of-programming.md | 6 - .../uiux-fundamentals/sectionA/metadata.json | 5 - .../sectionB/Introduction.md | 23 - .../uiux-fundamentals/sectionB/conclusion.md | 6 - .../sectionB/fundamentals-of-programming.md | 6 - .../uiux-fundamentals/sectionB/metadata.json | 5 - .../sectionC/Introduction.md | 23 - .../uiux-fundamentals/sectionC/conclusion.md | 6 - .../sectionC/fundamentals-of-programming.md | 6 - .../uiux-fundamentals/sectionC/metadata.json | 5 - .../src/webflow/src/lib/data/home.json | 147 - .../src/webflow/src/lib/index.svelte | 28 - .../course-app/src/webflow/src/lib/index.ts | 1 - .../course-app/src/webflow/src/lib/utils.ts | 62 - .../src/webflow/src/lib/utils/toggleMode.ts | 9 - .../src/webflow/src/lib/utils/types.ts | 116 - .../src/webflow/src/routes/+layout.svelte | 16 - .../src/webflow/src/routes/+page.server.ts | 18 - .../src/webflow/src/routes/+page.svelte | 8 - .../webflow/src/routes/api/courses/+server.ts | 66 - .../[slug]/[section]/[filename]/+server.ts | 29 - .../src/routes/course/[slug]/+page.server.ts | 97 - .../src/routes/course/[slug]/+page.svelte | 170 - .../src/routes/courses/+page.server.ts | 19 - .../webflow/src/routes/courses/+page.svelte | 158 - .../classroomio-course-img-template.jpg | Bin 62873 -> 0 bytes .../course-app/src/webflow/static/favicon.png | Bin 1571 -> 0 bytes .../src/webflow/static/logo-192.png | Bin 2838 -> 0 bytes .../src/webflow/static/org-banner.png | Bin 506458 -> 0 bytes .../course-app/src/webflow/svelte.config.js | 18 - .../course-app/src/webflow/tailwind.config.ts | 101 - packages/course-app/src/webflow/tsconfig.json | 19 - .../course-app/src/webflow/vite.config.ts | 6 - packages/course-app/templates.json | 4 + .../course-app/utils/copyCoursesFolder.ts | 1 - pnpm-lock.yaml | 4 +- 208 files changed, 7211 insertions(+), 7003 deletions(-) create mode 100644 apps/course-app/src/lib/components/animation/sparkle/index.ts create mode 100644 apps/course-app/src/lib/components/animation/sparkle/sparkle-text.svelte create mode 100644 apps/course-app/src/lib/components/animation/sparkle/sparkle.svelte create mode 100644 apps/course-app/src/routes/(redirects)/npm/+page.server.ts create mode 100644 apps/course-app/static/fonts/Virgil.woff2 rename packages/course-app/{src/webflow/.gitignore => . npmignore} (100%) create mode 100644 packages/course-app/src/template/.markdownlint.json create mode 100644 packages/course-app/src/template/package-lock.json delete mode 100644 packages/course-app/src/template/src/lib/components/cal/About.svelte delete mode 100644 packages/course-app/src/template/src/lib/components/cal/FAQ.svelte delete mode 100644 packages/course-app/src/template/src/lib/components/cal/Hero.svelte rename packages/course-app/src/template/{static/calcom-banner-img.jpeg => src/lib/components/cal/assets/banner.jpeg} (100%) rename packages/course-app/src/template/{static => src/lib/components/cal/assets}/calcom-background.svg (100%) create mode 100644 packages/course-app/src/template/src/lib/components/examprep/Accordion.svelte create mode 100644 packages/course-app/src/template/src/lib/components/examprep/CourseCard.svelte create mode 100644 packages/course-app/src/template/src/lib/components/examprep/EmptyState.svelte create mode 100644 packages/course-app/src/template/src/lib/components/examprep/Footer.svelte create mode 100644 packages/course-app/src/template/src/lib/components/examprep/Navigation.svelte create mode 100644 packages/course-app/src/template/src/lib/components/examprep/PrimaryButton.svelte create mode 100644 packages/course-app/src/template/src/lib/components/examprep/assets/examprep-user.png rename packages/course-app/src/{webflow/static => template/src/lib/components/examprep/assets}/expert-empty.svg (100%) create mode 100644 packages/course-app/src/template/src/lib/components/examprep/assets/org-banner.png create mode 100644 packages/course-app/src/template/src/lib/components/examprep/index.ts create mode 100644 packages/course-app/src/template/src/lib/components/examprep/pages/Course.svelte create mode 100644 packages/course-app/src/template/src/lib/components/examprep/pages/Home.svelte create mode 100644 packages/course-app/src/template/src/lib/components/minimal/assets/courses-pg-bg.png rename packages/course-app/src/template/src/lib/components/posthog/{static => assets}/analytics.png (100%) rename packages/course-app/src/template/src/lib/components/posthog/{static => assets}/favicon.png (100%) rename packages/course-app/src/template/src/lib/components/posthog/{static => assets}/fonts/Matter-TRIAL-Medium.ttf (100%) rename packages/course-app/src/template/src/lib/components/posthog/{static => assets}/fonts/Matter-TRIAL-Regular.ttf (100%) rename packages/course-app/src/template/src/lib/components/posthog/{static => assets}/fonts/Matter-TRIAL-SemiBold.ttf (100%) rename packages/course-app/src/template/src/lib/components/posthog/{static => assets}/hogempty.svg (100%) rename packages/course-app/src/template/src/lib/components/posthog/{static => assets}/icons/FaqMark.svelte (100%) rename packages/course-app/src/template/src/lib/components/{minimal => posthog}/assets/logo-192.png (100%) rename packages/course-app/src/template/src/lib/components/posthog/{static => assets}/posthog.svg (100%) create mode 100644 packages/course-app/src/template/src/lib/components/ui/_custom/Logo.svelte create mode 100644 packages/course-app/src/template/src/lib/components/ui/animation/dotpattern/dot-pattern.svelte create mode 100644 packages/course-app/src/template/src/lib/components/ui/animation/dotpattern/index.ts rename packages/course-app/src/{webflow/src/lib/components => template/src/lib/components/ui}/cardborder/CardAnimatedBorder.svelte (59%) rename packages/course-app/src/{webflow/src/lib/components => template/src/lib/components/ui}/magiccard/MagicCard.svelte (73%) rename packages/course-app/src/{webflow/src/lib/components => template/src/lib/components/ui}/shinyborder/ShineBorder.svelte (100%) rename packages/course-app/src/{webflow/src/lib/component => template/src/lib/components/webflow}/Accordion.svelte (76%) create mode 100644 packages/course-app/src/template/src/lib/components/webflow/CourseCard.svelte rename packages/course-app/src/{webflow/src/lib/component => template/src/lib/components/webflow}/EmptyState.svelte (100%) create mode 100644 packages/course-app/src/template/src/lib/components/webflow/Footer.svelte create mode 100644 packages/course-app/src/template/src/lib/components/webflow/Navigation.svelte create mode 100644 packages/course-app/src/template/src/lib/components/webflow/PrimaryButton.svelte rename packages/course-app/src/{webflow/src/lib/component => template/src/lib/components/webflow}/TestimonialCard.svelte (57%) rename packages/course-app/src/template/src/lib/components/{classic => webflow}/assets/classroomio-course-img-template.jpg (100%) create mode 100644 packages/course-app/src/template/src/lib/components/webflow/assets/expert-empty.svg rename packages/course-app/src/template/src/lib/components/{posthog/static => webflow/assets}/logo-192.png (100%) rename packages/course-app/src/template/{static => src/lib/components/webflow/assets}/org-banner.png (100%) rename packages/course-app/src/{webflow/static => template/src/lib/components/webflow/assets}/quote.svg (100%) create mode 100644 packages/course-app/src/template/src/lib/components/webflow/index.ts create mode 100644 packages/course-app/src/template/src/lib/components/webflow/pages/Courses.svelte create mode 100644 packages/course-app/src/template/src/lib/components/webflow/pages/Home.svelte delete mode 100644 packages/course-app/src/template/src/lib/data/posthog-pages.json delete mode 100644 packages/course-app/src/template/static/classroomio-course-img-template.jpg rename packages/course-app/src/template/{src/lib/components/minimal/assets/classroomio-course-img-template.jpg => static/course-banner.jpg} (100%) delete mode 100644 packages/course-app/src/webflow/.npmrc delete mode 100644 packages/course-app/src/webflow/README.md delete mode 100644 packages/course-app/src/webflow/components.json delete mode 100644 packages/course-app/src/webflow/package-lock.json delete mode 100644 packages/course-app/src/webflow/package.json delete mode 100644 packages/course-app/src/webflow/postcss.config.js delete mode 100644 packages/course-app/src/webflow/src/app.css delete mode 100644 packages/course-app/src/webflow/src/app.d.ts delete mode 100644 packages/course-app/src/webflow/src/app.html delete mode 100644 packages/course-app/src/webflow/src/lib/component/CardLoader.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/component/CourseCard.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/component/Courses.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/component/FAQ.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/component/Footer.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/component/Hero.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/component/Icons/FaqMark.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/component/Navigation.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/component/PageLoader.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/component/SideBarExpandable.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/component/Testimonial.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/component/store.js delete mode 100644 packages/course-app/src/webflow/src/lib/components/ui/button/button.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/components/ui/button/index.ts delete mode 100644 packages/course-app/src/webflow/src/lib/components/ui/skeleton/index.ts delete mode 100644 packages/course-app/src/webflow/src/lib/components/ui/skeleton/skeleton.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionA/algorithms.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionA/fundamentals-of-programming.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionA/introduction.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionA/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionB/fundamentals-of-system-design.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionB/introduction.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionB/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionB/system-architecture.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionC/ai-convention.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionC/ai-in-programming.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionC/machine-learning.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-programming/sectionC/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-testing/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-testing/section-One/intro-to-testing.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-testing/section-One/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-testing/section-One/testing-in-svelte.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-testing/section-Two/intro-to-testing.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-testing/section-Two/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/Introduction-to-testing/section-Two/testing-in-svelte.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionA/design-for begginers.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionA/introduction.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionA/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionA/using-figma.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionB/introduction.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionB/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionB/pattern designs.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionB/patterns-and-systems.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionC/Introduction.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionC/creating-trends.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionC/design-that-trends.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/patterns/sectionC/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionA/Introduction.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionA/conclusion.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionA/fundamentals-of-programming.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionA/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionB/Introduction.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionB/conclusion.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionB/fundamentals-of-programming.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionB/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionC/Introduction.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionC/conclusion.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionC/fundamentals-of-programming.md delete mode 100644 packages/course-app/src/webflow/src/lib/courses/uiux-fundamentals/sectionC/metadata.json delete mode 100644 packages/course-app/src/webflow/src/lib/data/home.json delete mode 100644 packages/course-app/src/webflow/src/lib/index.svelte delete mode 100644 packages/course-app/src/webflow/src/lib/index.ts delete mode 100644 packages/course-app/src/webflow/src/lib/utils.ts delete mode 100644 packages/course-app/src/webflow/src/lib/utils/toggleMode.ts delete mode 100644 packages/course-app/src/webflow/src/lib/utils/types.ts delete mode 100644 packages/course-app/src/webflow/src/routes/+layout.svelte delete mode 100644 packages/course-app/src/webflow/src/routes/+page.server.ts delete mode 100644 packages/course-app/src/webflow/src/routes/+page.svelte delete mode 100644 packages/course-app/src/webflow/src/routes/api/courses/+server.ts delete mode 100644 packages/course-app/src/webflow/src/routes/api/lesson/[slug]/[section]/[filename]/+server.ts delete mode 100644 packages/course-app/src/webflow/src/routes/course/[slug]/+page.server.ts delete mode 100644 packages/course-app/src/webflow/src/routes/course/[slug]/+page.svelte delete mode 100644 packages/course-app/src/webflow/src/routes/courses/+page.server.ts delete mode 100644 packages/course-app/src/webflow/src/routes/courses/+page.svelte delete mode 100644 packages/course-app/src/webflow/static/classroomio-course-img-template.jpg delete mode 100644 packages/course-app/src/webflow/static/favicon.png delete mode 100644 packages/course-app/src/webflow/static/logo-192.png delete mode 100644 packages/course-app/src/webflow/static/org-banner.png delete mode 100644 packages/course-app/src/webflow/svelte.config.js delete mode 100644 packages/course-app/src/webflow/tailwind.config.ts delete mode 100644 packages/course-app/src/webflow/tsconfig.json delete mode 100644 packages/course-app/src/webflow/vite.config.ts diff --git a/.github/workflows/publish-course-app.yml b/.github/workflows/publish-course-app.yml index 5b2f53eb..86b15033 100644 --- a/.github/workflows/publish-course-app.yml +++ b/.github/workflows/publish-course-app.yml @@ -1,8 +1,9 @@ name: Publish @classroomio/course-app to NPM + on: workflow_dispatch jobs: - build: + publish: runs-on: ubuntu-latest permissions: packages: write @@ -16,10 +17,11 @@ jobs: - uses: pnpm/action-setup@v4 - - name: Install dependencies & publish + - name: Install, Build & Publish working-directory: packages/course-app run: | pnpm i + pnpm build pnpm publish --no-git-checks env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/apps/course-app/src/app.css b/apps/course-app/src/app.css index 6662813b..b215c946 100644 --- a/apps/course-app/src/app.css +++ b/apps/course-app/src/app.css @@ -1,73 +1,78 @@ @tailwind base; @tailwind components; @tailwind utilities; - + +@font-face { + font-family: 'Virgil'; + src: url('/fonts/Virgil.woff2'); +} + @layer base { :root { --background: 0 0% 100%; --foreground: 240 10% 3.9%; - + --muted: 240 4.8% 95.9%; --muted-foreground: 240 3.8% 46.1%; - + --popover: 0 0% 100%; --popover-foreground: 240 10% 3.9%; - + --card: 0 0% 100%; --card-foreground: 240 10% 3.9%; - + --border: 240 5.9% 90%; --input: 240 5.9% 90%; - + --primary: 240 5.9% 10%; --primary-foreground: 0 0% 98%; - + --secondary: 240 4.8% 95.9%; --secondary-foreground: 240 5.9% 10%; - + --accent: 240 4.8% 95.9%; --accent-foreground: 240 5.9% 10%; - + --destructive: 0 72.2% 50.6%; --destructive-foreground: 0 0% 98%; - + --ring: 240 10% 3.9%; - + --radius: 0.5rem; } - + .dark { --background: 240 10% 3.9%; --foreground: 0 0% 98%; - + --muted: 240 3.7% 15.9%; --muted-foreground: 240 5% 64.9%; - + --popover: 240 10% 3.9%; --popover-foreground: 0 0% 98%; - + --card: 240 10% 3.9%; --card-foreground: 0 0% 98%; - + --border: 240 3.7% 15.9%; --input: 240 3.7% 15.9%; - + --primary: 0 0% 98%; --primary-foreground: 240 5.9% 10%; - + --secondary: 240 3.7% 15.9%; --secondary-foreground: 0 0% 98%; - + --accent: 240 3.7% 15.9%; --accent-foreground: 0 0% 98%; - + --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 0% 98%; - + --ring: 240 4.9% 83.9%; } } - + @layer base { * { @apply border-border; @@ -75,4 +80,4 @@ body { @apply bg-background text-foreground; } -} \ No newline at end of file +} diff --git a/apps/course-app/src/app.html b/apps/course-app/src/app.html index d91e6d06..3e50f7ae 100644 --- a/apps/course-app/src/app.html +++ b/apps/course-app/src/app.html @@ -15,7 +15,7 @@ - + @@ -24,8 +24,7 @@ - + @@ -33,7 +32,7 @@ - + %sveltekit.head% diff --git a/apps/course-app/src/lib/components/animation/shimmerbutton/shimmerbutton.svelte b/apps/course-app/src/lib/components/animation/shimmerbutton/shimmerbutton.svelte index 67fe6ba4..55c26526 100644 --- a/apps/course-app/src/lib/components/animation/shimmerbutton/shimmerbutton.svelte +++ b/apps/course-app/src/lib/components/animation/shimmerbutton/shimmerbutton.svelte @@ -1,17 +1,19 @@ - + diff --git a/apps/course-app/src/lib/components/animation/sparkle/index.ts b/apps/course-app/src/lib/components/animation/sparkle/index.ts new file mode 100644 index 00000000..dd954a4e --- /dev/null +++ b/apps/course-app/src/lib/components/animation/sparkle/index.ts @@ -0,0 +1 @@ +export { default as Sparkle } from './sparkle-text.svelte'; diff --git a/apps/course-app/src/lib/components/animation/sparkle/sparkle-text.svelte b/apps/course-app/src/lib/components/animation/sparkle/sparkle-text.svelte new file mode 100644 index 00000000..e3b64e30 --- /dev/null +++ b/apps/course-app/src/lib/components/animation/sparkle/sparkle-text.svelte @@ -0,0 +1,73 @@ + + +
+ + {#each sparkles as item, _} + + {/each} + {text} + +
diff --git a/apps/course-app/src/lib/components/animation/sparkle/sparkle.svelte b/apps/course-app/src/lib/components/animation/sparkle/sparkle.svelte new file mode 100644 index 00000000..7f7033d0 --- /dev/null +++ b/apps/course-app/src/lib/components/animation/sparkle/sparkle.svelte @@ -0,0 +1,35 @@ + + + + + + + \ No newline at end of file diff --git a/apps/course-app/src/lib/components/navigation/navigation.svelte b/apps/course-app/src/lib/components/navigation/navigation.svelte index 4206d9f9..881d7389 100644 --- a/apps/course-app/src/lib/components/navigation/navigation.svelte +++ b/apps/course-app/src/lib/components/navigation/navigation.svelte @@ -1,11 +1,12 @@ @@ -36,10 +37,10 @@

- + Course App {' '} - courseapp + ourseapp {' '}