- AuthProvider: mock email OTP (123456), password (shitaye/demo123), social, booking refs - Profile: points, shuttle, appointments, tabbed orders, rewards; orders persist in localStorage - Guest hub /guest with room service, laundry, gym/spa deep links to /services?kind= - RequireAuth + HeaderAccount; nav/footer links; spa save to profile from services - Homepage CTA strip: Guest hub + Spa & gym Made-with: Cursor
46 lines
782 B
TypeScript
46 lines
782 B
TypeScript
export type LaundryItem = {
|
|
id: string;
|
|
name: string;
|
|
description: string;
|
|
priceUsd: number;
|
|
unit: string;
|
|
};
|
|
|
|
export const laundryItems: LaundryItem[] = [
|
|
{
|
|
id: "l-1",
|
|
name: "Shirt / blouse",
|
|
description: "Pressed",
|
|
priceUsd: 4,
|
|
unit: "each",
|
|
},
|
|
{
|
|
id: "l-2",
|
|
name: "Trousers / skirt",
|
|
description: "Pressed",
|
|
priceUsd: 5,
|
|
unit: "each",
|
|
},
|
|
{
|
|
id: "l-3",
|
|
name: "Suit (2 pc)",
|
|
description: "Clean & press",
|
|
priceUsd: 18,
|
|
unit: "set",
|
|
},
|
|
{
|
|
id: "l-4",
|
|
name: "Dress",
|
|
description: "Delicate cycle",
|
|
priceUsd: 12,
|
|
unit: "each",
|
|
},
|
|
{
|
|
id: "l-5",
|
|
name: "Express (same day)",
|
|
description: "Surcharge on top of item prices",
|
|
priceUsd: 15,
|
|
unit: "per order",
|
|
},
|
|
];
|