Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 2 additions & 89 deletions apps/learn-card-app/src/pages/launchPad/LaunchPad.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import { useConsentFlowByUri } from '../consentFlow/useConsentFlow';

import { IonPage, IonContent, IonList } from '@ionic/react';
import LaunchPadHeader from './LaunchPadHeader/LaunchPadHeader';
import LaunchPadActionModal from './LaunchPadHeader/LaunchPadActionModal';
import LaunchPadBecomeAnApp from './LaunchPadBecomeAnApp';
import LaunchPadAppListItem from './LaunchPadAppListItem';
import LaunchPadContractListItem from './LaunchPadContractListItem';
Expand All @@ -25,8 +24,6 @@ import LaunchPadAppTabs, { LaunchPadTabEnum } from './LaunchPadHeader/LaunchPadA
import GenericErrorBoundary from '../../components/generic/GenericErrorBoundary';

import { aiPassportApps } from '../../components/ai-passport-apps/aiPassport-apps.helpers';
import { useModal, ModalTypes, useIsCurrentUserLCNUser } from 'learn-card-base';
import useLCNGatedAction from '../../components/network-prompts/hooks/useLCNGatedAction';
import {
LaunchPadFilterOptionsEnum,
LaunchPadSortOptionsEnum,
Expand All @@ -48,20 +45,8 @@ const LaunchPad: React.FC = () => {
const flags = useFlags();
const history = useHistory();
const { search } = useLocation();
const {
connectTo,
challenge,
uri,
returnTo,
suppressContractModal,
skipLPAction,
boostUri,
vc_request_url,
claim,
embedUrl,
appName,
appImage,
} = queryString.parse(search);
const { connectTo, challenge, uri, suppressContractModal, embedUrl, appName, appImage } =
queryString.parse(search);
const contractUri = Array.isArray(uri) ? uri[0] ?? '' : uri ?? '';
const embedUrlParam = Array.isArray(embedUrl) ? embedUrl[0] ?? '' : embedUrl ?? '';
const appNameParam = Array.isArray(appName) ? appName[0] ?? '' : appName ?? '';
Expand Down Expand Up @@ -117,10 +102,6 @@ const LaunchPad: React.FC = () => {
[curatedListApps, installedListingIds]
);

const { newModal } = useModal({ desktop: ModalTypes.Freeform, mobile: ModalTypes.Freeform });
const { data: isNetworkUser, isLoading: isNetworkUserLoading } = useIsCurrentUserLCNUser();
const { gate } = useLCNGatedAction();

const connectToProfileId = (!Array.isArray(connectTo) ? connectTo : undefined) || '';
const connectChallenge = (!Array.isArray(challenge) ? challenge : undefined) || '';

Expand Down Expand Up @@ -159,74 +140,6 @@ const LaunchPad: React.FC = () => {
}
}, [contractDetails, suppressContractModal, consentedContractLoading]);

useEffect(() => {
if (isNetworkUserLoading) return;
if (!isNetworkUser) return;
if (consentedContractLoading) return;

const skipParam = Array.isArray(skipLPAction) ? skipLPAction[0] : skipLPAction;
const shouldSkip =
skipParam === '1' ||
(typeof skipParam === 'string' && skipParam.toLowerCase() === 'true');
if (shouldSkip) return;

if (connectToProfileId && connectChallenge) return;

if (contractDetails && !hasConsented && !suppressContractModal) return;

const claimParam = Array.isArray(claim) ? claim[0] : claim;
const isClaiming =
claimParam === '1' ||
(typeof claimParam === 'string' && claimParam.toLowerCase() === 'true');
if (isClaiming) return;

const boostParam = Array.isArray(boostUri) ? boostUri[0] : boostUri;
if (boostParam) return;

const vcReqParam = Array.isArray(vc_request_url) ? vc_request_url[0] : vc_request_url;
if (vcReqParam) return;

const SHOWN_KEY = 'lp_action_shown_after_login';
if (sessionStorage.getItem(SHOWN_KEY)) return;

let cancelled = false;
let rafId: number | null = null;

const open = async () => {
const { prompted } = await gate();
if (cancelled || prompted) return;

rafId = window.requestAnimationFrame(() => {
newModal(<LaunchPadActionModal showFooterNav={true} />, {
className:
'w-full flex items-center justify-center bg-white/70 backdrop-blur-[5px]',
sectionClassName: '!max-w-[380px] disable-scrollbars',
});
sessionStorage.setItem(SHOWN_KEY, '1');
});
};

void open();

return () => {
cancelled = true;
if (rafId !== null) cancelAnimationFrame(rafId);
};
}, [
isNetworkUser,
isNetworkUserLoading,
consentedContractLoading,
gate,
connectToProfileId,
connectChallenge,
contractDetails,
hasConsented,
suppressContractModal,
skipLPAction,
boostUri,
vc_request_url,
]);

let aiApps: LaunchPadItem[] = flags?.enableLaunchPadUpdates
? (aiPassportApps as unknown as LaunchPadItem[])
: [];
Expand Down
Loading