feat(tip): support dynamic gift products
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
/** Context shared by the default and Tip payment catalogs. */
|
||||
import type {
|
||||
GiftCategory,
|
||||
GiftProduct,
|
||||
PayChannel,
|
||||
PaymentOrderStatus,
|
||||
PaymentPlan,
|
||||
TipMessageResponse,
|
||||
} from "@/data/schemas/payment";
|
||||
|
||||
export type PaymentPlanCatalog = "default" | "tip";
|
||||
@@ -10,6 +13,12 @@ export type PaymentPlanCatalog = "default" | "tip";
|
||||
export interface PaymentState {
|
||||
planCatalog: PaymentPlanCatalog;
|
||||
plans: readonly PaymentPlan[];
|
||||
giftCategories: readonly GiftCategory[];
|
||||
giftProducts: readonly GiftProduct[];
|
||||
giftCharacterId: string | null;
|
||||
selectedGiftCategory: string | null;
|
||||
requestedGiftCategory: string | null;
|
||||
requestedGiftPlanId: string | null;
|
||||
isFirstRecharge: boolean;
|
||||
selectedPlanId: string;
|
||||
payChannel: PayChannel;
|
||||
@@ -19,8 +28,8 @@ export interface PaymentState {
|
||||
currentOrderPlanId: string | null;
|
||||
payParams: Record<string, unknown> | null;
|
||||
orderStatus: PaymentOrderStatus | null;
|
||||
tipCount: number | null;
|
||||
thankYouMessage: string | null;
|
||||
tipMessage: TipMessageResponse | null;
|
||||
tipMessageError: string | null;
|
||||
orderPollingStartedAt: number | null;
|
||||
errorMessage: string | null;
|
||||
launchNonce: number;
|
||||
@@ -29,6 +38,12 @@ export interface PaymentState {
|
||||
export const initialState: PaymentState = {
|
||||
planCatalog: "default",
|
||||
plans: [],
|
||||
giftCategories: [],
|
||||
giftProducts: [],
|
||||
giftCharacterId: null,
|
||||
selectedGiftCategory: null,
|
||||
requestedGiftCategory: null,
|
||||
requestedGiftPlanId: null,
|
||||
isFirstRecharge: false,
|
||||
selectedPlanId: "",
|
||||
payChannel: "stripe",
|
||||
@@ -38,8 +53,8 @@ export const initialState: PaymentState = {
|
||||
currentOrderPlanId: null,
|
||||
payParams: null,
|
||||
orderStatus: null,
|
||||
tipCount: null,
|
||||
thankYouMessage: null,
|
||||
tipMessage: null,
|
||||
tipMessageError: null,
|
||||
orderPollingStartedAt: null,
|
||||
errorMessage: null,
|
||||
launchNonce: 0,
|
||||
|
||||
Reference in New Issue
Block a user