* feat: Add mathematics extension and toolbar commands
This commit introduces the mathematics extension for inline and block expressions. It also adds corresponding toolbar commands and updates the drag handle menu to include "Turn Into" and "Add Node" options. The placeholder styling and blockquote styles have also been refined.
Co-authored-by: best <best@classroomio.com>
* Update Tiptap and KaTeX dependencies
Co-authored-by: best <best@classroomio.com>
* Downgrade svelte-tiptap to v2.2.0
Co-authored-by: best <best@classroomio.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* 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>
* feat: move community supabase request to api layer
* chore: pr review checkpoint
* chore: PR fixes
* feat: implement role-based authorization middleware and align the community features with the developer guide.
- Added role-based authorization middleware for organization and course membership checks, including `orgMemberMiddleware`, `orgTeamMemberMiddleware`, and `courseMemberMiddleware`.
- Introduced route-specific middleware for comment and question authorization, ensuring only authors or team members can modify content.
- Updated community routes to utilize the new middleware for enhanced security and access control.
- Refactored community services to streamline upvote functionality and improve error handling.
- Enhanced UI components for community interactions, including new comment and question pages, and improved state management for user actions.
- Updated documentation to reflect new middleware usage and best practices for authorization in the API layer.
* feat: enhance course and organization routes with middleware for improved access control
- Added `courseMemberMiddleware` to course download and clone routes to enforce membership checks.
- Updated lesson route to include `courseMemberMiddleware` for PDF downloads.
- Integrated `orgMemberMiddleware` into organization routes for team and audience access, ensuring only authorized members can retrieve data.
- Refactored lesson and organization routes for consistency and clarity in middleware usage.
* chore: streamline dashboard and API development scripts in package.json
- Consolidated dashboard and API development commands to include all relevant filters in a single line for improved clarity and ease of use.
- Removed redundant full command variants to simplify the script section.
---------
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>
* feat: checkpoint
* feat: Migrate docs to Fumadocs
* chore: docs layout
* chore:
- remove home route
- make docs home route
- remove docs prefix
* chore: docs layout
* chore:
- reorder sidebar
- fix home page redirect
* chore: rename package to avoid error during pnpm clean
* chore: remove private and sideEffects properties from package.json
* chore: requested fixes
* feat: update fumadocs layout
* feat: hide theme switch on sidebar
* add /docs
* feat: enhance documentation and layout with new guides and updates
- Added multiple how-to guides for creating courses, exercises, and managing organization settings.
- Updated existing documentation for clarity and consistency, including renaming sections for better navigation.
- Introduced new assets such as logos and favicon for improved branding.
- Modified layout components to enhance user experience and visual appeal.
- Updated package dependencies to include lucide-react for icon usage.
* chore: update pnpm-lock.yaml with dependency version changes
* add favicon
* fix: update links in documentation for consistency
- Corrected the links in the create-exercise and signup guides to ensure they point to the correct paths, enhancing clarity and navigation for users.
* delete docs
---------
Co-authored-by: Rotimi Best <best@classroomio.com>
- Added comprehensive guidelines for API route naming and structure in `ROUTE_NAMING_BEST_PRACTICES.md`.
- Updated `ARCHITECHTURE.md` to reference the new best practices document.
- Refactored course-related routes to follow new naming conventions, including changes to endpoint paths and validation schemas.
- Removed the deprecated course clone route and integrated cloning functionality directly into the course routes.
- Adjusted various API methods to ensure consistent usage of HTTP methods and parameter structures across the application.
- Create secure server-side API endpoints for course data, marks, exercises, newsfeeds, submissions, and organization management
- Implement role-based permission checking using checkUserCoursePermissions utility
- Move all client-side Supabase calls to authenticated server endpoints in /api/courses/ and /api/org/
- Add proper authentication and authorization middleware via hooks.server.ts
- Update service functions to use getAccessToken() for API authentication
- Ensure data filtering based on user roles (students only see their own data)
- Maintain backward compatibility with existing component interfaces