feat: redo settings and all org pages. (#601)

* 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.
This commit is contained in:
Rotimi Best
2025-12-02 09:54:38 +01:00
committed by GitHub
parent 531516a8f7
commit c7854efae3
350 changed files with 13928 additions and 3895 deletions
@@ -1,6 +1,6 @@
<script lang="ts">
import { page } from '$app/state';
import AuthUI from '$lib/components/AuthUI/index.svelte';
import { AuthUI } from '$lib/features/ui';
import type { Profile } from '$lib/components/Course/components/People/types';
import TextField from '$lib/components/Form/TextField.svelte';
import PrimaryButton from '$lib/components/PrimaryButton/index.svelte';
@@ -13,7 +13,6 @@
import { profile, user } from '$lib/utils/store/user';
import { authValidation, getConfirmPasswordError, getDisableSubmit } from '$lib/utils/functions/validator';
import { currentOrg, currentOrgPath } from '$lib/utils/store/org';
import type { CurrentOrg } from '$lib/utils/types/org';
import { onMount, untrack } from 'svelte';
import { snackbar } from '$lib/components/Snackbar/store.js';
@@ -32,12 +31,11 @@
} = $state({});
let submitError: string = $state('');
let formRef: HTMLFormElement | undefined = $state();
const confirmPasswordError = $derived(getConfirmPasswordError(fields));
const disableSubmit = $derived(getDisableSubmit(fields));
async function joinOrg(profileId: string, email: string) {
async function joinOrg(profileId: string, email: string | null) {
if (!profileId || !email || !data.invite.currentOrg?.id) return;
// Update member response
@@ -51,8 +49,6 @@
console.log('Update member response', updateMemberRes);
formRef?.reset();
window.location.href = $currentOrgPath;
}
@@ -146,17 +142,12 @@
}
}
function setCurOrg(cOrg: CurrentOrg) {
if (!cOrg) return;
console.log(cOrg);
currentOrg.set(cOrg);
}
onMount(async () => {
if (!data.invite.currentOrg) return;
setTheme(data.invite.currentOrg?.theme || '');
setCurOrg(data.invite.currentOrg as CurrentOrg);
currentOrg.set(data.invite.currentOrg);
});
const isLoading = $derived(loading || $user.fetchingUser);
@@ -179,15 +170,7 @@
<title>Join ClassroomIO</title>
</svelte:head>
<AuthUI
{supabase}
redirectPathname={page.url.pathname}
isLogin={false}
{handleSubmit}
{isLoading}
showLogo={true}
bind:formRef
>
<AuthUI redirectPathname={page.url.pathname} isLogin={false} {handleSubmit} {isLoading} showLogo={true}>
<div class="mt-4 w-full {shouldLogout ? 'hidden' : ''}">
<p class="mb-6 text-lg font-semibold dark:text-white">
{#if data.invite.profile}