Files
cozsweet-frontend-nextjs/src/router/navigation-types.ts
T
Codex 74b7eae18b
Docker Image / Build and Push Docker Image (push) Successful in 2m14s
feat(payment): add chat support discounts and gratitude
(cherry picked from commit ef9b79bc83)
2026-07-28 17:54:36 +08:00

52 lines
1.4 KiB
TypeScript

import type { PayChannel } from "@/data/schemas/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-zone"
| "profile"
| null;
export interface OpenSubscriptionInput {
type: AppSubscriptionType;
payChannel?: PayChannel;
returnTo?: AppSubscriptionReturnTo;
replace?: boolean;
analytics?: PaymentAnalyticsContext;
chatActionId?: string;
planId?: string;
commercialOfferId?: string;
}
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;
chatActionId?: string;
}