feat(auth): add Messenger topup handoff entry
Docker Image / Build and Push Docker Image (push) Successful in 2m9s
Docker Image / Build and Push Docker Image (push) Successful in 2m9s
This commit is contained in:
@@ -13,7 +13,8 @@ import { getCharacterRoutes, ROUTES } from "@/router/routes";
|
||||
export type ExternalEntryTarget =
|
||||
| typeof ROUTES.chat
|
||||
| typeof ROUTES.tip
|
||||
| typeof ROUTES.privateZone;
|
||||
| typeof ROUTES.privateZone
|
||||
| typeof ROUTES.subscription;
|
||||
|
||||
export interface ExternalEntryPayload {
|
||||
deviceId?: string | null;
|
||||
@@ -50,7 +51,8 @@ export function shouldBindExternalFacebookIdentity({
|
||||
const isRealUser =
|
||||
loginStatus === "email" ||
|
||||
loginStatus === "google" ||
|
||||
loginStatus === "facebook";
|
||||
loginStatus === "facebook" ||
|
||||
loginStatus === "facebookMessenger";
|
||||
return (
|
||||
hasInitialized &&
|
||||
!isLoading &&
|
||||
@@ -90,6 +92,9 @@ export function resolveExternalEntryDestination({
|
||||
getCharacterBySlug(character)?.slug ?? DEFAULT_CHARACTER_SLUG;
|
||||
const routes = getCharacterRoutes(characterSlug);
|
||||
const resolvedTarget = resolveExternalEntryTarget({ target });
|
||||
if (resolvedTarget === ROUTES.subscription) {
|
||||
return `${ROUTES.subscription}?type=topup`;
|
||||
}
|
||||
if (resolvedTarget === ROUTES.tip) return routes.tip;
|
||||
if (resolvedTarget === ROUTES.privateZone) return routes.privateZone;
|
||||
return routes.chat;
|
||||
@@ -132,6 +137,7 @@ function resolveTarget(
|
||||
if (target === "private-zone" || target === "private-room") {
|
||||
return ROUTES.privateZone;
|
||||
}
|
||||
if (target === "topup") return ROUTES.subscription;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user