feat: event team management with departments and roles - Migration 023: event_roles, event_departments, event_member_departments tables - Auto-seed default roles (Head Organizer, Team Lead, Organizer, Volunteer, Sponsor) and departments (Logistics, IT & Tech, Marketing, Finance, Program, Sponsorship, Design, Volunteers) on event creation - API: full CRUD for roles, departments, member-department assignments - Enhanced fetchEventMembers with role + department resolution - Team page: sidebar with department filter + role legend, list/dept view toggle, add/edit/remove members with role + multi-department + notes - i18n: 25 new keys in EN and ET for team management - svelte-check: 0 errors, vitest: 112/112 passed

This commit is contained in:
AlacrisDevs
2026-02-07 12:47:34 +02:00
parent edc5f8af85
commit 1f2484da3d
8 changed files with 1135 additions and 308 deletions

View File

@@ -2,7 +2,7 @@
import { page } from "$app/stores";
import { Avatar } from "$lib/components/ui";
import type { Snippet } from "svelte";
import type { Event, EventMember } from "$lib/api/events";
import type { Event, EventMemberWithDetails, EventRole, EventDepartment } from "$lib/api/events";
import * as m from "$lib/paraglide/messages";
interface Props {
@@ -10,14 +10,9 @@
org: { id: string; name: string; slug: string };
userRole: string;
event: Event;
eventMembers: (EventMember & {
profile?: {
id: string;
email: string;
full_name: string | null;
avatar_url: string | null;
};
})[];
eventMembers: EventMemberWithDetails[];
eventRoles: EventRole[];
eventDepartments: EventDepartment[];
};
children: Snippet;
}