fix(dashboard): save validation feedback, public site light mode, global verify modal (#716)
* fix(dashboard): surface save errors, force public site light mode, global verify modal - Show snackbar with first validation error when course update fails client-side validation - Force light mode on public org-site pages; lesson player and dashboard keep theme selector - Mount VerifyEmailModal in root layout for all authenticated routes; keep trigger=app email guard Co-authored-by: Rotimi Best <rotimi-best@users.noreply.github.com> * fix: instructor editor sync, auto-enroll after auth, email verification API - Initialize instructor form from org fallbacks and batch metadata updates - Auto-complete course enrollment after login/signup return from enroll page - Block new org auto-enroll and course enroll until email is verified Co-authored-by: Rotimi Best <rotimi-best@users.noreply.github.com> * fix: address PR review on instructor setter, color scheme, auto-enroll - Use existing setter with batched metadata.instructor updates in InstructorForm - Allowlist public org-site paths so /lms and /courses/:id keep theme selector - Auto-enroll logged-in users via Better Auth session; remove sessionStorage flow - Retry enrollment after email verification without duplicate Join Course clicks Co-authored-by: Rotimi Best <rotimi-best@users.noreply.github.com> * fix: allow enrollment without verification; gate dashboard only - Remove API email verification checks from enroll and auto-enroll flows - Move VerifyEmailModal to (app) layout so public org-site pages stay usable - Unverified users can enroll but hit the verification modal in LMS/dashboard Co-authored-by: Rotimi Best <rotimi-best@users.noreply.github.com> * fix: address PR feedback on verify modal, routes, instructor form - Restore currentOrg.id guard on VerifyEmailModal open condition - InstructorForm imports currentOrg directly instead of prop drilling - Move public org-site light-mode route patterns to routes constants - Reset enrollment attempt key on enroll failure to allow retry Co-authored-by: Rotimi Best <rotimi-best@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Rotimi Best <rotimi-best@users.noreply.github.com>
This commit is contained in:
co-authored by
Rotimi Best
Cursor Agent
parent
35f5216839
commit
be0085f090
@@ -2,6 +2,7 @@
|
||||
import { page } from '$app/state';
|
||||
|
||||
import { UpgradeModal, PageLoadProgress, PageRestricted } from '$features/ui';
|
||||
import { VerifyEmailModal } from '$features/onboarding/components';
|
||||
import { CommandPalette, KeyboardShortcutListener } from '$features/search';
|
||||
import { isPublicRoute } from '$lib/utils/functions/routes/isPublicRoute';
|
||||
import { currentOrg } from '$lib/utils/store/org';
|
||||
@@ -42,6 +43,7 @@
|
||||
</script>
|
||||
|
||||
<UpgradeModal />
|
||||
<VerifyEmailModal />
|
||||
<CommandPalette />
|
||||
<KeyboardShortcutListener />
|
||||
|
||||
|
||||
@@ -10,8 +10,6 @@
|
||||
import { AppHeader } from '$features/ui';
|
||||
import { PUBLIC_IS_SELFHOSTED } from '$env/static/public';
|
||||
|
||||
import { VerifyEmailModal } from '$features/onboarding/components';
|
||||
|
||||
import { OrgSidebar } from '$features/ui/sidebar/org-sidebar';
|
||||
import { AddOrgModal } from '$features/org';
|
||||
|
||||
@@ -41,8 +39,6 @@
|
||||
<AddOrgModal />
|
||||
{/if}
|
||||
|
||||
<VerifyEmailModal />
|
||||
|
||||
<Sidebar.Provider>
|
||||
<OrgSidebar />
|
||||
|
||||
|
||||
Reference in New Issue
Block a user