@toutix/whitelabel
Version:
Toutix whitelabel React container components
67 lines • 1.6 kB
TypeScript
import { IEventTicketCategory } from "@/app/dashboard/models/EventTicketCategory";
export interface Seat {
seatNumber: string;
ticketCategoryId?: string;
isSelected?: boolean;
}
export interface ISeatItemProps {
rows: number;
columns: number;
curveFactor: number;
seats?: Seat[];
}
export interface ICommonSeatItemProps {
setSeatRef: (el: HTMLDivElement | null) => void;
colIndex: number;
seat: Seat;
ticketCategory?: IEventTicketCategory;
}
export interface IDrawingItem<T = any> {
id: string;
type: DrawingItemsTypes;
isSelected?: boolean;
isBooked?: boolean;
data: T;
x: number;
y: number;
rotation: number;
scaleX: number;
scaleY: number;
onChangeSeatsXY?: (seats: {
x: number;
y: number;
}[]) => void;
}
export declare enum DrawingItemsTypes {
POLYGON = "POLYGON",
STAGE = "STAGE",
EXIT = "EXIT",
WASHROOM = "WASHROOM",
CYCLE = "CYCLE",
RECTANGLE = "RECTANGLE",
SEAT_GROUP = "SEAT_GROUP",
ROUND_SEAT_GROUP = "ROUND_SEAT_GROUP",
SQUARE_SEAT_GROUP = "SQUARE_SEAT_GROUP"
}
export interface SeatArrangement {
_id: string;
eventId: string;
levels: Level[];
createdAt: string;
updatedAt: string;
}
export interface BookedSeat {
seatId: string;
}
export interface SeatArrangementResponse {
seatArrangement: SeatArrangement;
bookedSeats: BookedSeat[];
}
export interface Level {
levelName: string;
sections: Section[];
}
export interface Section {
seatingAreas: IDrawingItem[];
}
//# sourceMappingURL=Seating.d.ts.map