41 lines
842 B
TypeScript
41 lines
842 B
TypeScript
/**
|
|
* TeamDetailViewData - Pure ViewData for TeamDetailTemplate
|
|
* Contains only raw serializable data, no methods or computed properties
|
|
*/
|
|
|
|
export interface TeamDetailData {
|
|
id: string;
|
|
name: string;
|
|
tag: string;
|
|
description?: string;
|
|
ownerId: string;
|
|
leagues: string[];
|
|
createdAt?: string;
|
|
specialization?: string;
|
|
region?: string;
|
|
languages?: string[];
|
|
category?: string;
|
|
membership?: {
|
|
role: string;
|
|
joinedAt: string;
|
|
isActive: boolean;
|
|
} | null;
|
|
canManage: boolean;
|
|
}
|
|
|
|
export interface TeamMemberData {
|
|
driverId: string;
|
|
driverName: string;
|
|
role: 'owner' | 'manager' | 'member';
|
|
joinedAt: string;
|
|
isActive: boolean;
|
|
avatarUrl: string;
|
|
}
|
|
|
|
export interface TeamDetailViewData {
|
|
team: TeamDetailData;
|
|
memberships: TeamMemberData[];
|
|
currentDriverId: string;
|
|
isAdmin: boolean;
|
|
}
|