chore: clear audit backlog (types sync, email norm, docs, members shortcut)
Finishes all remaining tracked work from the full-app audit. - types/database.ts synced: added the 8 missing tables (forum_threads, comments, space_tiers, space_invites, space_onboarding_steps, space_role_labels, space_custom_roles, space_member_custom_roles), the comment_entity_type enum (type + Constants), and the missing columns (space_members.tier_id/onboarding_completed_at/ onboarding_progress, secrets.encrypted_value/encryption_version, knowledge_base.render_markdown). - Email canonicalization: new emailField() helper (trim+lowercase) applied to signIn/signUp/addMember/updateMember/createContact and the import path; prevents case-variant duplicates and sign-in mismatches. - Members directory: per-row "make area lead" picker (admin/board) assigns a member to any area-lead role; mirrors Customize. - Docs refreshed and re-dated: DATABASE_SCHEMA.md (migrations 014-024 summary), DB_SCHEMA_MAP.md (new-table quick map), API_REFERENCE.md (all server actions from migrations 016-024). schema.sql named as source of truth. Backlog is now empty. 271/271 tests pass, build clean. No migration.
This commit is contained in:
@@ -57,10 +57,22 @@ export default async function MembersPage() {
|
||||
.eq('space_id', self.space_id)
|
||||
.order('joined_at')
|
||||
|
||||
// Area-lead roles, so admin/board can assign a lead straight from a member
|
||||
// row (the same capability also lives in Customize -> Area leads).
|
||||
const canManageLeads = self.role === 'admin' || self.role === 'board'
|
||||
const { data: areaLeadRoles } = canManageLeads
|
||||
? await supabase
|
||||
.from('area_leads')
|
||||
.select('id, area_name, lead_id')
|
||||
.eq('space_id', self.space_id)
|
||||
.order('area_name')
|
||||
: { data: [] }
|
||||
|
||||
return (
|
||||
<MembersClient
|
||||
members={members ?? []}
|
||||
currentRole={self.role}
|
||||
areaLeadRoles={(areaLeadRoles ?? []) as Array<{ id: string; area_name: string; lead_id: string | null }>}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user