* feat: move mock exercise template to api
* feat: add template migration file
* chore:
- remove exercise templates form api
- rework api to pull exercise templates from db
- add exercise template seed to seed file
- declutter seed file
* chore:
- refactor template fetch to be dependent on the selected tag
- add tag to schema, remote db and template's seed file
- clear remote db's template table and replace data and their respective tags
* chore: add number of questions and center loading screen on the frontend
* chore: pr fixes
* chore: type fixes
* chore:
- move seed functionality to /seed folder
- add typing for individual seed functions
- pr fixes
* chore: pr fixes v2
* update output css
* refactor: update seeding script and schema definitions
- Renamed `seedTypes` to `seedQuestionTypes` for clarity in the seeding process.
- Enhanced the seeding script to include a command-line interface for better usability, allowing specific seed functions to be executed based on flags.
- Removed redundant unique constraints in the schema definitions for `courseNewsfeedComment` and `exerciseTemplate` to streamline database structure.
* feat: add email verification error handling page and update session management
- Introduced a new page for handling email verification errors, providing user-friendly messages based on error types.
- Updated session management logic to improve handling of public routes and session states.
- Enhanced security policies in the Svelte configuration to include additional sources for styles and scripts.
- Removed the old email verification error page to streamline the codebase.
* move the exercise template to cloudflare cdn
---------
Co-authored-by: Rotimi Best <best@classroomio.com>
* chore: fix storybook build
* chore: implement theming
* community list not showing properly
* refactor: migrate Chip component to @cio/ui/custom/chip
- Updated imports for the Chip component across multiple files to use the new location in the @cio/ui package.
- Replaced the previous Chip implementation with a new version that utilizes a Badge for better styling and functionality.
- Adjusted related components to ensure consistent usage of the updated Chip component.
* fix: align course sidebar design to match organization design (#611)
* fix: align course sidebar design to match organization design
* feat: add hideSearch prop to AppHeader and update sidebar layout
---------
Co-authored-by: Rotimi Best <best@classroomio.com>
* refactor: replace PrimaryButton with Button component across multiple files
- Updated various components to use the new Button component from @cio/ui/base/button instead of the deprecated PrimaryButton.
- Ensured consistent button usage throughout the application for improved styling and functionality.
- Removed the PrimaryButton component and its associated constants from the codebase.
* refactor: standardize button and input usage across components
- Replaced instances of deprecated components such as TextField, TextArea, and IconButton with their updated counterparts (InputField, TextareaField, and updated IconButton).
- Ensured consistent event handling by changing `onClick` to `onclick` for better alignment with Svelte's event binding conventions.
- Removed unused components and streamlined imports to enhance code maintainability and readability.
* chore: themeing, course card, use $features
* refactor: centralize UI components and update modal implementations
- Refactored various components to centralize UI elements, improving discoverability and maintainability.
- Replaced deprecated modal components with the new Dialog component for consistent modal behavior across the application.
- Removed unused components and streamlined imports to enhance code clarity and reduce complexity.
* feat: add new documentation and refactor org and lms UI components
- Introduced new documentation files for Auth Flow, Breadcrumbs Refactoring, Page and Route Creation, and Route Page Setup to enhance developer onboarding and reference.
- Refactored various UI components, including the Course Sidebar and Lesson Modal, to improve layout and functionality.
- Removed deprecated components and streamlined imports for better maintainability.
- Updated translations across multiple languages to ensure consistency in user experience.
* refactor: update UI components and improve styling consistency
- Refactored various components to enhance styling consistency, including updates to button and text color classes.
- Removed deprecated components and streamlined imports for better maintainability.
- Replaced instances of PageBody with a more flexible Page component structure across multiple routes.
- Updated translations and UI elements to align with the new design system.
- Deleted unused components to reduce code complexity and improve clarity.
* update output.css
---------
Co-authored-by: Abdulmuizz Hamzat <103611443+canhamzacode@users.noreply.github.com>
- Add https://*.i.posthog.com to both enforcement and reportOnly CSP
- Resolves CSP violations blocking PostHog source maps and assets
- Fixes blocked requests to recorder.js.map and surveys.js.map
This ensures PostHog analytics work properly without CSP violations.
- Add https://api.classroomio.com to connect-src for API calls
- Add https://*.r2.cloudflarestorage.com for Cloudflare R2 storage
- Add media-src directive to allow video/document loading
- Fixes CSP violations blocking video downloads and API requests
Resolves CSP errors preventing presigned URL requests and media playback.
* feat: add README for @cio/db package and remove existingAccounts.json
* load session, load profile and organization, add create profile hook
* chore: cache session request
The trick was passing all the cookies to the backend. Previously I was only passing the better-auth.session_token and not better-auth.session_data. Read about the difference here https://www.better-auth.com/docs/concepts/cookies#custom-cookies
* feat: login, logout, onboarding, verify email, reset password.
* feat: complete change email and email verification
* feat: standardise how we make rpc calls and create org endpoints
* fix ui errors
* fix: handle potential undefined customerId and standardize avatar URL property
* refactor: standardize custom domain handling and update telegram chat ID references
* chore: add tailwind prefix to @cio/ui
this fixed the media query issues because @cio/ui classes were overriding this dashboard tailwind build
* chore: clean up org sidebar
* chore: persist mode state
* feat: implement order breadcrumbs
* chore: upgrade to better auth 1.4
* chore: address common auth flow bugs and setup app for others to setup locally.
- Updated docker-compose.yaml to use double quotes for version and port mappings.
- Removed DEPLOYMENT_PROVIDER from global environment variables in turbo.json and Dockerfile.
- Adjusted dashboard build command in package.json to remove DEPLOYMENT_PROVIDER.
- Cleaned up .env.example by removing the DEPLOYMENT_PROVIDER comment.
- Simplified SvelteKit adapter condition in svelte.config.js.
* working on moving the email logic to the backend
* Moved nodemailer to the backend
* uninstall defer
* updated relative import path in tsconfig
* working on the zod validation
* Merge branch 'main' into send-email
* fixed the zod import issue
* fixed the zod import issue
* updated the env example files
* docs: update README.md (#249)
* fix: handle catex error
* chore: remove fly.io github action
* Update README.md
Updated the Readme to reflect changes made to the emailing flow
---------
Co-authored-by: Rotimi Best <best@classroomio.com>
* chore: wrapp up email sending
---------
Co-authored-by: Rotimi Best <best@classroomio.com>
* Merge main into turbo-monrepo
* feat: rename apps
* feat: remove supbase videos and serve all from project
* feat: move supabase to root
* feat: update README
* docs: update link