Commit Graph
53 Commits
Author SHA1 Message Date
Adeyemi AdetunjiandRotimi Best cbf6ae7e63 feat: move away from carbon components and TinyMCE (#597)
* feat: remove tinymce & replace org sidebar

* chore: PR Fixes

* chore: move ui font into src dir

* remove files in vite config

* use google font import for loading font

* remove custom font

* more fonts update

* remove font bold

* more removals of font bold

* fix import

* checkpoint

* chore: checkpoint (add course & lms shadcn sidebar)

* minor css improvements and try out font sans

* chore: replace carbon components with shadcn's

* chore: replace carbon components with shadcn _ v3

* chore: ui fixes & storybook update

* feat: UI cleanup

* fix: quick ui fixes

* chore: update pnpm-lock.yaml with new dependencies and versions; fix output.css formatting

* chore: add isloading to button

* feat: add loading state to button stories

* chore: feedback fixes

* fix: feedback fixes

* chore: remove console

* fix: PR comments

* fix: PR comments

---------

Co-authored-by: Rotimi Best <best@classroomio.com>
2025-11-21 12:18:04 +01:00
Rotimi Best ba47b06647 Merge branch 'main' of https://github.com/classroomio/classroomio into feat/release-v2 2025-11-08 20:22:53 +01:00
Rotimi Best 34e5cab733 chore: [FIXED] clean up console logs in layout and pricing components, add context prompt for ClassroomIO
This point I have fixed 2 major issues
1. After signing in with Google auth, join a course and going to the course, when you click the back button in the page nav, it takes you to admin instead of lms

2. When you open a course landing page, click enroll, it redirects to 404 instead of the invite page.
2025-11-08 18:47:53 +01:00
Rotimi Best b3d5f291f0 chore: fix issue of isOrgSite being false after google auth 2025-11-08 18:27:00 +01:00
Rotimi Best aa42eb9c1f chore: reorder layout setup and debug org set after login 2025-11-08 18:22:41 +01:00
Rotimi Best 93db0c97e8 chore: use hasSession to check if auth token exists 2025-11-08 17:30:22 +01:00
Rotimi Best 0f433cfa93 chore: debug enrollment on lms 2025-11-08 06:11:44 +01:00
Rotimi Best 3d64e25b89 chore: debug lms detection on client side 2025-11-08 05:34:17 +01:00
Rotimi Best 291e233700 chore: enable auto redirect on layout mount
The use case for this is that if a person went from course page to invite page, and isn't authenticated then the user should be redirected to login page with a redirect query param
2025-11-08 05:02:17 +01:00
Rotimi Bestandtunny17 f5a4156c8b feat: migrate dashboard to svelte 5 (#577)
* chore: migration to SvelteKit 2

* stage 1: migrate to svelte 5 and fix rerendering issues

* stage 2: fix more $: reactivity across dashboard

* fix merge conflicts

* chore: migrate code in main to svelte 5

* chore: update preventDefault

* chore: simplify tsconfig and remove unused mobileMenuRef in MobileMenu.svelte

* chore: enforce .ts across dashboard

* rename from classroomio-com to website

* stage-3: Replace carbon icon svelte with lucide icon

* update lock file

* chore: finish icon replacement

* fix: settings and setup page multiple rerender

* stage 3: More icon and rerendering fixes

* feat: checkpoint

* feat: update editor

* [not working] connect everything with ui build

* storybook + ui + dashboard all working independently

* add bg-black to +page.svelte

* feat: add editor to storybook

* chore: animate lucid icons (#590)

* v1 animations

* feat: change some course navigation icons & animate org navigation icons

* chore: change settings icon

* chore: use css instead of js for hover

* rename animations

---------

Co-authored-by: tunny17 <tvnji01@gmail.com>

* chore: update path to node_modules types in api tsconfig

* fix: update import path for DropdownMenu component

* fix: add rollupOptions to build configuration in vite.config.ts

* fix: remove rollupOptions from build configuration and add @floating-ui/dom dependency

* install

---------

Co-authored-by: tunny17 <tvnji01@gmail.com>
2025-11-01 16:18:29 +01:00
Rotimi Best b96d91cd7c feat: setup drizzle (#594)
* chore: migration to SvelteKit 2

* stage 1: migrate to svelte 5 and fix rerendering issues

* stage 2: fix more $: reactivity across dashboard

* fix merge conflicts

* chore: migrate code in main to svelte 5

* chore: update preventDefault

* chore: simplify tsconfig and remove unused mobileMenuRef in MobileMenu.svelte

* chore: enforce .ts across dashboard

* rename from classroomio-com to website

* stage-3: Replace carbon icon svelte with lucide icon

* update lock file

* chore: finish icon replacement

* fix: settings and setup page multiple rerender

* stage 3: More icon and rerendering fixes

* feat: setup drizzle and better auth

* fix: onboarding validation error showing translation key #586 (#593)

* fix: onboarding validation error showing translation key #586

* fix: remove debug log for profile update errors

* chore: add a clean command

* fix: remove message from email verification response
2025-11-01 15:49:29 +01:00
Rotimi Best 32ba251b77 feat: move lesson comments under lesson note 2025-01-04 05:55:14 +01:00
Rotimi Best 381776f388 feat: automatically detect language on server and translate UI (#530)
* feat: detect language on the server and translate page

* translate auth pages

* PR reviews
2024-12-28 23:11:55 +01:00
Rotimi Best 4b1a45dfe4 chore: refactor +layout.svelte 2024-12-26 07:23:46 +01:00
Rotimi Best d010485c1a chore: collect org analytics 2024-11-28 16:02:34 +01:00
Rotimi Best f890b8d84f fix: course settings showing save popup wrongly 2024-11-21 14:25:52 +01:00
Rotimi Best dc9e00a7ae chore: use progress bar for page transition 2024-11-19 19:45:31 +01:00
Iniubong ObongukoandRotimi Best c16d036cc3 feat: disable umami analytics on localhost for dashboard and classroomio-com (#505)
* feat: dsiable umami analytics on dashboard and landing page

* feat: disable umami on localhost

* re-add space

* move disabling umami to setupAnalytics function

* remove whitespace

* add comment

---------

Co-authored-by: Rotimi Best <best@classroomio.com>
2024-10-20 02:03:37 +01:00
Adeyemi AdetunjiandRotimi Best 947181a3c5 feat: custom org brand color (#474)
* feat: add package

* feat: add a new color picker

* feat: integrate with supabase

* feat: add translation

* run translation script

* feat: hover state

* quick fix

* fix: requested PR fixes

* update lock

* ux improvements

* remove log

* cleanup and improve code

---------

Co-authored-by: Rotimi Best <best@classroomio.com>
2024-10-06 01:20:32 +01:00
Rotimi Best 5f0a983d0f fix: change fetchingUser to false after fetching profile 2024-09-26 05:42:10 +01:00
Rotimi Best 83abe2d4b5 fix: mark fetch profile as complete 2024-09-24 22:21:52 +01:00
Rotimi Best c358cbf982 fix: avoid duplicate calling of getProfile when signedin 2024-09-23 21:57:19 +01:00
Rotimi Best e0d25dcdf0 fix: verify users account if google auth #477 2024-09-23 21:28:53 +01:00
Rotimi Best 877b514a7b chore: minimize build output 2024-09-23 01:21:05 +01:00
Rotimi Best 27f333fdcf fix: avoid invite logout 2024-09-17 14:24:37 +01:00
Rotimi Best 79839fca42 fix: auth for invite 2024-09-17 13:32:51 +01:00
Rotimi Best 8ab51095a7 fix: course and org landing page improvements (#468)
* make gift section HTML rendered

* hide classroomio branding on landing page

* improve section expanding

* feat: toggle show sections on course landing page

* fix: show discount on landing page course card
2024-09-09 01:14:55 +01:00
Rotimi Best a702fdd4e2 feat: enable dashboard lock 2024-08-24 21:40:17 +01:00
Rotimi Best a00bb133af chore: restrict accounts 2024-08-24 20:44:16 +01:00
Rotimi Best 99f236b70d feat: support course meta tags (#421)
* support course meta tags

* fix import
2024-08-01 14:04:50 +01:00
Rotimi Best 8d8dd3e8ec chore: replace clarify with umami, defer js on page 2024-06-16 07:52:43 +01:00
Rotimi Best 73d1301749 more debugging 2024-05-18 21:33:19 +01:00
Em_DevandRotimi Best 73eb0ad4b1 feat: customize the LMS from dashboard (#304)
* Done with the customization of the LMS task

* generated custom_lms migration file

* updated the migration file

* copy improvements

* update wording

* made updates based on reviews,i hope i didnt miss anything

* updated the translations and migration files

* refactoring

* disabled improvements for apps

* more improvements

* more custom improvements

* pr refactoring

---------

Co-authored-by: Rotimi Best <best@classroomio.com>
2024-05-17 01:28:59 +01:00
Rotimi Best bd94594b56 feat: students can view org landing page from LMS 2024-04-25 06:51:39 +01:00
Rotimi Best a95be6d620 ci: cypres test setup(#274)
* fix: font size broken

* add first cypress test

* save onboarding language

* load language

* get first test to work

* update command

* install pnpm

* update workflow

* install

* update

* test

* increase timeout

* another update

* update 2

* update 3

* upsdada 4

* sfgsfgf 5

* add def supabase url

* fix supabase issue

* add ci

* fix ci

* update .env.example

* update port

* tired

* prepare

* preview

* this is it

* ?????

* 99999900

* fix log issue

* ci

* nkkh

* =====

* 200000
2024-04-20 04:39:16 +01:00
Adeyemi AdetunjiandRotimi Best d75e2f258e feat: multi language support (#254)
* feat: multitranslational support

* - completion of settings page
- completion of sidebar

* sidebar rerendering bug fix

* completion of the lesson navigation & materials page

* completion of the course navigation

* completion of requested languages

* - Implementation of Language Picker
- Rename Bug Fixes

* checkpoint save

* - addition of the language picker to the onboarding.
- addition of the language switcher for the lesson notes.

* merge completion

* initialization of the new branch

* add transition.svelte file

* lesson note bug fix

* feat: add translation migration

* completion of translation

* fix height issue of dropdown

* refactoring

* fix: improve code with LOCALE from db

* finally get it fully functional

* connect with AI

* backward compatibility for lesson note

* preserve old content, when generating AI content

* undo translations in upgrade modal

* fix duplicate key issue from codacy trigger

---------

Co-authored-by: Rotimi Best <best@classroomio.com>
2024-04-19 05:45:48 +01:00
Rotimi Best 9311a21de8 feat: add posthog student signup 2024-04-07 22:01:36 +01:00
Rotimi Bestandemmanuel fcd0bcc656 feat: dashboard billing (#193)
* feat: move plans into sharable json

* remove unused code

* update pnpm lock

* update plans.json

* implement early adopter pricing

* docs: update meta title and description

* Finished the UI for upgrading plans

* Updated the pricing plans

* Updated the cards ui

* use relative import

* improve styling of upgrade plan card

* styling improvements, lemonsqueezy setup

* trigger lemonsqueezy payment and add webhook

* update pnpm lock

* add logout route

* feat: complete billing functionality

* generate lock file

* make crypto false on browser

* feat: adding upgrade prompts to org

* chore: add upgrade icon to upload video

* feat: add upgrade prompt to certificate and settings

* feat: implement onboarding setup page (#229)

* working on the onboarding setup

* working on the onboarding page

* Almost done with the onboarding UI

* finished the UI of the onBoarding setup

* finished the UI of the onBoarding setup

* Implementing the functions to carryout the logic of updating the UI onmount if a user has carried out a certain step or not

* Implementing the functions to carryout the logic of updating the UI onmount if a user has carried out a certain step or not

* making some chnages

* finished the onBoarding task

* updated some logic

* Removed the uneeded svg from the static folder

* fixed isCoursePublished not returning a boolean

* improved the setup link protection

* chore: make menuItems reactive

* improve formatting

* format supabase queries

---------

Co-authored-by: Rotimi Best <best@classroomio.com>

* revamp setup

* improve the upgrade experience

* migration

* feat: add lemonsqueezy customer portal

---------

Co-authored-by: emmanuel <chifez1@gmail.com>
2024-04-07 06:08:34 +01:00
Em_DevandRotimi Best bd905b580a feat: verify users email (#215)
* worked on the email verification

* worked on the email verification

* fixed the emailing issue and the supabase updating issue

* chore: add timer to resend, add supabase.server, enforce unique email

* chore: remove nodemailer logger

* remove async

* remove disposable email verification

---------

Co-authored-by: Rotimi Best <best@classroomio.com>
2024-03-22 06:30:24 +01:00
Adeyemi AdetunjiandRotimi Best 13ab070178 feat: filter community questions by course (#157)
* checkpoint save

* checkpoint

* feat: course dropdown

* added comments

* feat: generate db migration

* fixes

* PR Fixes

* PR Fixes

* refactoring

* show empty state

* improve styling

* fix styling issue

* PR Fixes

* PR Fixes

* PR Fixes

* dropdown for edit mode

* test db schema change on staging

* fix: change course_id to courseId

* fix theming issue

---------

Co-authored-by: Rotimi Best <best@classroomio.com>
2024-02-13 22:17:15 +01:00
Adeyemi AdetunjiandRotimi Best cadfa81913 feat: add icon to create a new lesson from side nav (#145)
* feat: classroomio-issue-143

* issue 143: remove bg-color from the add icon

* fix: hide the + icon for student

---------

Co-authored-by: Rotimi Best <best@classroomio.com>
2024-02-01 20:18:03 +01:00
Rotimi Best 5f2037101b debug: remove redirect if no token found 2023-12-14 22:19:55 +03:00
Rotimi Best bb519d5434 fix: remove unused vars 2023-12-13 10:27:04 +03:00
Rotimi Best 939ccfc962 fix: remove slot css 2023-12-13 10:25:57 +03:00
Rotimi Best 74f3db41bc chore: improve ux of fetching course 2023-12-13 09:29:06 +03:00
Rotimi Best 4a64d2affe fix: course page rerendering twice 2023-12-13 09:02:52 +03:00
Rotimi Best bbe6e78f88 chore: login/signup improvements 2023-12-11 21:18:31 +03:00
Rotimi BestandObakeng 3ff51d6c23 feat: gitpod setup (#91)
* Add setup tasks for gitpod

* chore: updating image name

* chore: update image to workspace-full

* chore: update all instances of workspace:* to file:*

* chore: remove workspaces section on package.json

* chore: update supabase command to use npx

* chore: update gitpod file to use brew to install supabase cli

* revert: all instances of file:* to workspace:*

* chore: consolidate tasks into two steps

* chore: update main to command

* Update 20231115082347_remote_schema.sql

* check if column exists before creating

* Update .gitpod.yml with Supabase setup and project
start commands

* docs: add gitpod setup to readme

* combine all commands

* enable gitpod prebuild

* remove gitpod prebuild & move dep setup to init

* add prebuilds back to config

* complete setup gitpod instructions

* docs: add docs for gitpod setup

---------

Co-authored-by: Obakeng <60041842+obakeng-develops@users.noreply.github.com>
2023-12-09 10:56:46 +03:00
Rotimi Best 798f216cfc feat: add vercel injectSpeedInsights 2023-12-08 18:47:51 +03:00
Rotimi Best 6fa1d0fcfb fix: auth flow bug on joining course 2023-12-05 08:31:26 +03:00