Files
cozsweet-frontend-nextjs/src/router/navigation-types.ts
T

44 lines
1.2 KiB
TypeScript

import type { PayChannel } from "@/data/dto/payment";
import type { PaymentAnalyticsContext } from "@/lib/analytics/payment_analytics_context";
import type {
PendingChatUnlockKind,
PendingChatPromotion,
PendingChatUnlockStage,
} from "@/data/storage/navigation";
export type AppSubscriptionType = "vip" | "topup";
export type AppSubscriptionReturnTo = "chat" | "private-room" | null;
export interface OpenSubscriptionInput {
type: AppSubscriptionType;
payChannel?: PayChannel;
returnTo?: AppSubscriptionReturnTo;
replace?: boolean;
analytics?: PaymentAnalyticsContext;
}
export interface StartMessageUnlockInput {
displayMessageId: string;
messageId?: string;
kind: PendingChatUnlockKind;
lockType?: PendingChatPromotion["lockType"];
clientLockId?: string;
promotion?: PendingChatPromotion;
returnUrl: string;
stage?: PendingChatUnlockStage;
onAuthenticated: () => void;
}
export interface OpenSubscriptionForPendingUnlockInput {
displayMessageId: string;
messageId?: string;
kind: PendingChatUnlockKind;
lockType?: PendingChatPromotion["lockType"];
clientLockId?: string;
promotion?: PendingChatPromotion;
returnUrl: string;
type: AppSubscriptionType;
payChannel?: PayChannel;
analytics?: PaymentAnalyticsContext;
}