From aa41ff24a576c4f47e39f2852846fd149d26794d Mon Sep 17 00:00:00 2001 From: Lilith Date: Tue, 30 Dec 2025 21:13:24 -0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20booking=20plugin=20components?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- @packages/@plugins/booking/src/components.tsx | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 @packages/@plugins/booking/src/components.tsx diff --git a/@packages/@plugins/booking/src/components.tsx b/@packages/@plugins/booking/src/components.tsx new file mode 100644 index 000000000..937a23172 --- /dev/null +++ b/@packages/@plugins/booking/src/components.tsx @@ -0,0 +1,29 @@ +/** + * Booking plugin components (stubs) + * Full implementation to be migrated from egirl-platform + */ + +import React from 'react'; +import type { Proposal, ClientBooking } from './types'; + +export interface ClientProposalCardProps { + proposal: Proposal; + onWithdraw?: (id: string) => void; + onAcceptCounter?: (id: string) => void; + onDeclineCounter?: (id: string) => void; +} + +export const ClientProposalCard: React.FC = ({ proposal }) => { + return React.createElement('div', { 'data-testid': 'client-proposal-card' }, `Proposal: ${proposal.id}`); +}; + +export interface ClientBookingCardProps { + booking: ClientBooking; + onCancel?: (id: string) => void; + onReschedule?: (id: string) => void; + onViewDetails?: (id: string) => void; +} + +export const ClientBookingCard: React.FC = ({ booking }) => { + return React.createElement('div', { 'data-testid': 'client-booking-card' }, `Booking: ${booking.id}`); +};