* 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 <[email protected]>
* Update Tiptap and KaTeX dependencies
Co-authored-by: best <[email protected]>
* Downgrade svelte-tiptap to v2.2.0
Co-authored-by: best <[email protected]>
---------
Co-authored-by: Cursor Agent <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
- 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.
* feat: setup dashboard analytics api
* chore: requested pr fixes
* fix: dash analytics server side type
* refactor: update Avatar component usage across the dashboard
- Replaced custom Avatar component with the new @cio/ui/base/avatar implementation for consistency.
- Enhanced avatar rendering with fallback options and improved accessibility.
- Cleaned up unused Avatar component files and related functions.
- Updated various components to utilize the new Avatar structure, ensuring a uniform appearance and behavior across the application.
* chore: remove console.log statements from analytics routes and API calls
- Eliminated console.log statements for orgId and siteName in the dash analytics router and DashStatApi class to clean up the code and improve performance.
---------
Co-authored-by: Rotimi Best <[email protected]>
* feat: new components, deploy storybook
* refactor: simplify component field definitions and enhance button loading state
- Removed unnecessary type imports and simplified the FIELDS array definitions across multiple components in Storybook.
- Updated button component to use a loading state instead of isLoading, improving clarity and consistency in props.
- Adjusted button stories to reflect the new loading prop and enhanced the button's loading visual feedback.
- Minor CSS adjustments for better layout and styling consistency.
* chore: add field, card, password components
* feat: improve page component & update AuthUI path
* chore: update bits-ui to version 2.14.4 and all org related UI's
- Updated bits-ui dependency in pnpm-lock.yaml and package.json to version 2.14.4.
- Refactored imports for RoleBasedSecurity and UpgradeBanner components to use the new ui feature directory.
- Removed unused Course components and related files to clean up the codebase.
- Enhanced various components to improve consistency and maintainability.
* chore: move all setting buttons to the top and update auth ui styles
* chore: remove svelte-loading-spinners and replace with @cio/ui/base/spinner
- Removed all instances of svelte-loading-spinners from the project.
- Updated components to use the new Spinner from @cio/ui/base/spinner.
- Cleaned up pnpm-lock.yaml and package.json to reflect the removal of svelte-loading-spinners.
- Added new CSS animations for rocket launch effects in app.css.
- Enhanced email change flow with updated verification messages in translations.
* chore: remove supabase file upload from dashboard and move to r2
* chore: update organization API and UI components
- Added new API methods for organization plan operations and team management.
- Introduced middleware for API key authentication and organization admin checks.
- Refactored organization-related components to utilize the new API structure.
- Updated various UI components to improve consistency and maintainability.
- Enhanced error handling and validation for organization-related actions.
- Removed deprecated services and streamlined the codebase.
* feat: Add .gitignore file and update package.json with pnpm version
feat: Enhance course queries with error handling and new course retrieval
feat: Implement exercise queries for creating and fetching exercises, questions, and options
feat: Create group queries for managing groups and group members
feat: Add lesson queries for creating lessons and fetching sections by course ID
feat: Update seed script to include seeding for users, profiles, accounts, organizations, groups, courses, lessons, exercises, questions, and options
* feat: Enhance course cloning functionality by refining course and lesson data handling
* chore: remove console.log
* feat: update role assignment in cloneCourse function and clean up unused types in database.ts
* 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.
* 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 <[email protected]>
* clean up examprep
* v0.0.11
---------
Co-authored-by: Em_Dev <[email protected]>
* feat: v1 templates
* update nvm
* working on the displaying the course content
* working on the displaying the course content
* displayed the content
* finished with the logic for rendering the content for all the courses and lessons
* post hog template UI is good to go
* classic and minimalistic template UI is good to go
* some refactoring
* some refactoring
* layout adjustments
* update tsconfig
* trying to get the filter to work well
* this is working now
* cleanup
* cleanup
* UI updates
* course page UI for posthog
* navbar and sidebar for course page in all templates complete
* all templates course page showing lesson content from md file with mdsvex
configured
* wokring on sections
* posthog lesson content done
* all templates fetches the lesson content from the section
* all templates properly typed
* scaffolding the new template
* finished the webflow-saas
* done with the webflow saas UI
* new calcom template
* new calcom template
* masonry layout for testitomonail section layout done
* calcom UI done
* UI all done
* cleanup
* trying to fix dark mode for the course page and home page
* done with this
* done with this
* working on tests
* migrated minimalistic template to svelte 5
* updated the syntax to svelte 5 for webflow
* migrated classic to svelte 5
* migrated posthog to svelte 5
* used svelte 5 syntax in calcom
* cli tool woks locally
* rename to course-sites
* use pnpm in root
* calcom refactoring
* remove unused files
* chore: biggest refactoring in my life
* add basic readme
* refactoring on course page
* restructure how courses are ordered
* proper state propagation
* add cf adapter
* fix pnpm i issue
* fix folder icon size
* use 18.17 version
* update npmrc
* add engine to packagejson
* pnpm install
* add engine to cio-com
* make it 18.x
* remove sequence
* move mdsvex to dependencies
* update lock
* mdsvex please work
* replace fs with import from vite
* add lock
* styling improvements
* fix styling
* sidebar style improvements
* fix: mobile concerns
* fix spacing of course header on desktop
* update header
* top nav fix
* feat: make cal template
* setup another template
* classic basic UI
* fixed the /courses fetching wrong page content
* fix breaking template cause of logo
* adding some updates
* improve styles theming
* finished updates from reviews
* updated the custom styling css
* clean up posthog template
* cli tool done, needs some cleaning though
* moved components to home
* improved the UI of the minimal template
* Add CLI tool and course app site
* prettier lint
* improve CLI
* ignore sveltekit folder
* publish course app
* fix tailwing theme + improve README
* finish up course-app site
* update README.md
---------
Co-authored-by: emmanuel <[email protected]>
* working on the UI of the grading
* working on the grading function of the radio and checkboxes
* ai grading fully implemented with dummy functions for generating scores
* working on the openai response
* working on the openai response
* finished with the ai_grading
* finished with the ai_grading
* creating new migration file
* working on reviews
* updated the translations
* improvements
---------
Co-authored-by: Rotimi Best <[email protected]>