Merge remote-tracking branch 'origin/master' into feat/pricing-plan
Project CI / Backend tests (pull_request) Failing after 1m51s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m10s
Project CI / Frontend tests (pull_request) Failing after 1m31s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 4m59s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 5m50s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m38s
Project CI / Repository checks (pull_request) Failing after 4m27s
Project CI / Native shell tests (pull_request) Successful in 7m43s
Project CI / Backend tests (pull_request) Failing after 1m51s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m10s
Project CI / Frontend tests (pull_request) Failing after 1m31s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 4m59s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 5m50s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m38s
Project CI / Repository checks (pull_request) Failing after 4m27s
Project CI / Native shell tests (pull_request) Successful in 7m43s
# Conflicts: # docs/project-memory/shared-memory/decision-log.md # server-rs/crates/module-runtime/src/lib.rs
This commit is contained in:
@@ -36,6 +36,7 @@ import { FLOATING_FEEDBACK_FORM_URL } from '../common/floatingFeedbackEntryModel
|
||||
import { PlatformActionButton } from '../common/PlatformActionButton';
|
||||
import { PlatformSubpanel } from '../common/PlatformSubpanel';
|
||||
import { ClientDownloadEntry } from '../creation-home/ClientDownloadEntry';
|
||||
import { PaymentCheckoutView } from './PaymentCheckoutView';
|
||||
import {
|
||||
PlatformActiveMobileWelcomeDialog,
|
||||
shouldOpenActiveMobileWelcomeDialog,
|
||||
@@ -47,6 +48,7 @@ import {
|
||||
import { PlatformActiveProfileView } from './PlatformActiveProfileView';
|
||||
import type { PlatformEntryFlowShellProps } from './platformEntryActiveTypes';
|
||||
import { usePlatformDesktopLayout } from './platformEntryResponsive';
|
||||
import { PlatformPaymentServiceView } from './PlatformPaymentServiceView';
|
||||
import { PlatformProfileApiKeysModal } from './PlatformProfileApiKeysModal';
|
||||
import {
|
||||
canPasteFromNativeHostClipboard,
|
||||
@@ -366,6 +368,7 @@ export function PlatformEntryFlowShellImpl({
|
||||
|
||||
const isProfileStage =
|
||||
selectionStage === 'profile' ||
|
||||
selectionStage === 'profile-payment' ||
|
||||
(!isDesktopLayout && selectionStage === 'platform');
|
||||
|
||||
const profileCenter = usePlatformProfileCenterController({
|
||||
@@ -406,6 +409,10 @@ export function PlatformEntryFlowShellImpl({
|
||||
setSelectionStage('profile', { path: '/profile' });
|
||||
}, [setSelectionStage]);
|
||||
|
||||
const openPaymentService = useCallback(() => {
|
||||
setSelectionStage('profile-payment', { path: '/profile/payment' });
|
||||
}, [setSelectionStage]);
|
||||
|
||||
const openGames = useCallback(() => {
|
||||
setSelectionStage('games', { path: '/games' });
|
||||
}, [setSelectionStage]);
|
||||
@@ -578,6 +585,14 @@ export function PlatformEntryFlowShellImpl({
|
||||
);
|
||||
}
|
||||
|
||||
if (selectionStage === 'payment-checkout') {
|
||||
const checkoutToken =
|
||||
typeof window === 'undefined'
|
||||
? ''
|
||||
: (window.location.pathname.split('/').filter(Boolean).at(-1) ?? '');
|
||||
return <PaymentCheckoutView checkoutToken={checkoutToken} />;
|
||||
}
|
||||
|
||||
const isAuthenticated = Boolean(authUi?.user);
|
||||
const balance = mudPointBalance?.totalPoints ?? legacyWalletBalance;
|
||||
const isCreationStage =
|
||||
@@ -773,7 +788,13 @@ export function PlatformEntryFlowShellImpl({
|
||||
id={isCreationStage ? 'platform-tab-panel-create' : undefined}
|
||||
className={`platform-tab-panel min-h-0 min-w-0 flex-1 ${isGamePlayStage ? 'platform-tab-panel--game-play' : 'overflow-auto'} ${isCreationStage || isProfileStage || isGamePlayStage ? '' : 'px-3 py-4 sm:px-6 sm:py-6'}`}
|
||||
>
|
||||
{isProfileStage ? (
|
||||
{selectionStage === 'profile-payment' ? (
|
||||
<PlatformPaymentServiceView
|
||||
user={authUi?.user}
|
||||
onBack={openProfile}
|
||||
onLogin={() => authUi?.openLoginModal()}
|
||||
/>
|
||||
) : isProfileStage ? (
|
||||
<PlatformActiveProfileView
|
||||
dashboard={dashboard}
|
||||
isLoadingDashboard={isLoadingDashboard}
|
||||
@@ -783,6 +804,7 @@ export function PlatformEntryFlowShellImpl({
|
||||
user={authUi?.user}
|
||||
onLogin={() => authUi?.openLoginModal()}
|
||||
onOpenApiKeys={() => setIsApiKeysOpen(true)}
|
||||
onOpenPaymentService={openPaymentService}
|
||||
onOpenCommunity={() =>
|
||||
profileCenter.openProfilePopupPanel('community')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user