"feat: update data APIs to fetch orders and events via fetch instead of axios, add Order and Event models, update selectors and reducers, add EventDetail page with joined members display"

This commit is contained in:
louiscklaw
2025-06-03 17:04:11 +08:00
parent 24920fb313
commit 7610d80005
18 changed files with 867 additions and 246 deletions

View File

@@ -1,8 +1,19 @@
// 03_source/mobile/src/models/Event.ts
export type IDateValue = string | number | null;
export interface Event {
eventDate: Date;
joinMembers: undefined;
title: string;
id: string;
createdAt: IDateValue;
updatedAt: IDateValue;
//
name: string;
code: string;
price: number;
//
eventDate: Date;
joinMembers: { email: string; avatar: string; sex: string }[];
title: string;
currency: string;
duration_m: number;
ageBottom: number;
@@ -10,5 +21,4 @@ export interface Event {
location: string;
avatar: string;
//
id: string;
}

View File

@@ -1,8 +1,42 @@
export type IDateValue = string | number | null;
export interface Order {
export type IOrderProductItem = {
id: string;
sku: string;
name: string;
price: number;
coverUrl: string;
quantity: number;
};
export type IOrderHistory = {
orderTime: IDateValue;
paymentTime: IDateValue;
deliveryTime: IDateValue;
completionTime: IDateValue;
timeline: { title: string; time: IDateValue }[];
};
export type IOrderDelivery = {
shipBy: string;
speedy: string;
trackingNumber: string;
};
export type IOrderShippingAddress = {
fullAddress: string;
phoneNumber: string;
};
export type IOrderPayment = {
cardType: string;
cardNumber: string;
};
export interface IOrderItem {
id: string;
createdAt: IDateValue;
updatedAt: IDateValue;
//
taxes: number;
status: string;
@@ -12,4 +46,10 @@ export interface Order {
orderNumber: string;
totalAmount: number;
totalQuantity: number;
//
items: IOrderProductItem[];
history: IOrderHistory | undefined;
delivery: IOrderDelivery;
shippingAddress: IOrderShippingAddress;
payment: IOrderPayment;
}