35 lines
902 B
TypeScript
35 lines
902 B
TypeScript
export interface Exhibition {
|
|
id: string
|
|
name: string
|
|
venue: string
|
|
address: string
|
|
startsAt: string
|
|
endsAt: string
|
|
description: string
|
|
coverUrl?: string
|
|
}
|
|
|
|
export interface Tag { id: string; name: string; color: string }
|
|
export interface ActivityImage { id: string; url: string }
|
|
export interface Participant extends CoffeeChatUser { purpose: string; joinedAt: string }
|
|
export interface ActivityGroup { id: string; name: string; qrImageUrl: string; note: string }
|
|
|
|
export interface Activity {
|
|
id: string
|
|
title: string
|
|
description: string
|
|
location: string
|
|
startsAt: string
|
|
endsAt?: string
|
|
capacity?: number
|
|
status: 'upcoming' | 'active' | 'ended'
|
|
exhibition: Exhibition
|
|
images: ActivityImage[]
|
|
tags: Tag[]
|
|
participantCount: number
|
|
participants: Participant[]
|
|
groups: ActivityGroup[]
|
|
}
|
|
|
|
export interface CatalogMeta { exhibitions: Exhibition[]; tags: Tag[] }
|