From c6070715eb034100998080b23be7c60cd7428b46 Mon Sep 17 00:00:00 2001 From: nevins321 Date: Mon, 27 Jul 2026 14:07:31 -0500 Subject: [PATCH 1/2] missed in rename migration --- .../20260727190000_rename_coach_user_id_index/migration.sql | 3 +++ prisma/seed.ts | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 prisma/migrations/20260727190000_rename_coach_user_id_index/migration.sql diff --git a/prisma/migrations/20260727190000_rename_coach_user_id_index/migration.sql b/prisma/migrations/20260727190000_rename_coach_user_id_index/migration.sql new file mode 100644 index 0000000..81e3faf --- /dev/null +++ b/prisma/migrations/20260727190000_rename_coach_user_id_index/migration.sql @@ -0,0 +1,3 @@ +DROP INDEX "Poster_userId_key"; + +CREATE UNIQUE INDEX "Coach_userId_key" ON "Coach"("userId"); diff --git a/prisma/seed.ts b/prisma/seed.ts index a8795b1..e04e5c5 100644 --- a/prisma/seed.ts +++ b/prisma/seed.ts @@ -77,7 +77,6 @@ async function main() { email: seededEmails[2], emailVerified: true, role: 'admin', - admin: true, accounts: { create: { id: 'seed_account_6', From 1c555d58ce9234236351cbb11dcf7aa6767f9ae7 Mon Sep 17 00:00:00 2001 From: nevins321 Date: Mon, 27 Jul 2026 18:30:00 -0500 Subject: [PATCH 2/2] coach onboarding and teacher verification --- app/layouts/coach.css | 3 + app/layouts/coach.vue | 3 + app/middleware/auth.global.ts | 16 ++- app/pages/admin/teacher-verification.vue | 73 +++++++----- app/pages/coach/onboarding.vue | 105 ++++++++++++++++++ server/api/admin/classes.post.ts | 2 +- server/api/admin/teacher-verification.get.ts | 29 +++++ .../admin/teacher-verification/[id].patch.ts | 40 +++++++ server/api/coach/profile.get.ts | 18 +++ server/api/coach/profile.post.ts | 41 +++++++ 10 files changed, 301 insertions(+), 29 deletions(-) create mode 100644 app/pages/coach/onboarding.vue create mode 100644 server/api/admin/teacher-verification.get.ts create mode 100644 server/api/admin/teacher-verification/[id].patch.ts create mode 100644 server/api/coach/profile.get.ts create mode 100644 server/api/coach/profile.post.ts diff --git a/app/layouts/coach.css b/app/layouts/coach.css index 8eeb848..5f4d66c 100644 --- a/app/layouts/coach.css +++ b/app/layouts/coach.css @@ -54,6 +54,9 @@ html, body { margin: 0; padding: 0; height: 100%; } .rh-header { min-height:5.5rem; flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1rem 2rem; background:#f8fafc; border-bottom:1px solid #dbe3ec; } .rh-header-label { margin:0 0 .2rem; color:#94a3b8; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; } .rh-header-title { margin:0; color:#0f172a; font-size:1.35rem; font-weight:600; } +.rh-verified-badge, .rh-pending-badge { display:inline-flex; margin-top:6px; padding:4px 8px; border-radius:999px; font-size:11px; font-weight:700; } +.rh-verified-badge { background:#dcfce7; color:#15803d; } +.rh-pending-badge { background:#fef3c7; color:#b45309; } .rh-main { min-height:0; flex:1; overflow-y:auto; padding:24px 32px; } .rh-tab-content { max-width:56rem; margin:0 auto; } diff --git a/app/layouts/coach.vue b/app/layouts/coach.vue index a362781..6f9cd6b 100644 --- a/app/layouts/coach.vue +++ b/app/layouts/coach.vue @@ -1,6 +1,7 @@ @@ -163,8 +175,15 @@ function saveApplicationChanges() {
+
+ Loading teacher applications... +
+
@@ -229,7 +248,7 @@ function saveApplicationChanges() {
No matching teacher applications found. @@ -293,18 +312,18 @@ function saveApplicationChanges() {