* 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 <best@classroomio.com>
* 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.
* 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>
* 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