Änderungen (relevant):
- Add‑on Checkout auf Transactions + Transaction‑ID speichern: app/Services/Addons/EventAddonCheckoutService.php
- Paket/Marketing Checkout auf Transactions: app/Services/Paddle/PaddleCheckoutService.php
- Gift‑Voucher Checkout: Customer anlegen/finden + Transactions: app/Services/GiftVouchers/
GiftVoucherCheckoutService.php
- Tests aktualisiert: tests/Feature/Tenant/EventAddonCheckoutTest.php, tests/Unit/PaddleCheckoutServiceTest.php,
tests/Unit/GiftVoucherCheckoutServiceTest.php
This commit is contained in:
@@ -8,7 +8,7 @@ import { SizableText as Text } from '@tamagui/text';
|
||||
import { OnboardingShell } from '../components/OnboardingShell';
|
||||
import { MobileCard, CTAButton } from '../components/Primitives';
|
||||
import { ADMIN_HOME_PATH, ADMIN_WELCOME_BASE_PATH, ADMIN_WELCOME_PACKAGES_PATH, ADMIN_WELCOME_SUMMARY_PATH, adminPath } from '../../constants';
|
||||
import { getTenantPackagesOverview } from '../../api';
|
||||
import { getTenantPackagesOverview, trackOnboarding } from '../../api';
|
||||
import { getSelectedPackageId } from '../lib/onboardingSelection';
|
||||
|
||||
export default function WelcomeEventPage() {
|
||||
@@ -24,6 +24,10 @@ export default function WelcomeEventPage() {
|
||||
|
||||
const hasActivePackage =
|
||||
Boolean(overview?.activePackage) || Boolean(overview?.packages?.some((pkg) => pkg.active));
|
||||
const handleSkip = React.useCallback(() => {
|
||||
void trackOnboarding('dismissed');
|
||||
navigate(ADMIN_HOME_PATH);
|
||||
}, [navigate]);
|
||||
|
||||
const backTarget = selectedId
|
||||
? ADMIN_WELCOME_SUMMARY_PATH
|
||||
@@ -40,7 +44,7 @@ export default function WelcomeEventPage() {
|
||||
'Fill in a few details, invite co-hosts, and open your guest gallery for the big day.',
|
||||
)}
|
||||
onBack={() => navigate(backTarget)}
|
||||
onSkip={() => navigate(ADMIN_HOME_PATH)}
|
||||
onSkip={handleSkip}
|
||||
skipLabel={t('layout.jumpToDashboard', 'Jump to dashboard')}
|
||||
>
|
||||
<MobileCard space="$3">
|
||||
|
||||
@@ -7,7 +7,7 @@ import { YStack, XStack } from '@tamagui/stacks';
|
||||
import { SizableText as Text } from '@tamagui/text';
|
||||
import { MobileCard, CTAButton, PillBadge } from '../components/Primitives';
|
||||
import { OnboardingShell } from '../components/OnboardingShell';
|
||||
import { getTenantPackagesOverview } from '../../api';
|
||||
import { getTenantPackagesOverview, trackOnboarding } from '../../api';
|
||||
import { useEventContext } from '../../context/EventContext';
|
||||
import {
|
||||
ADMIN_HOME_PATH,
|
||||
@@ -29,6 +29,10 @@ export default function WelcomeLandingPage() {
|
||||
|
||||
const hasActivePackage =
|
||||
Boolean(packagesData?.activePackage) || Boolean(packagesData?.packages?.some((pkg) => pkg.active));
|
||||
const handleSkip = React.useCallback(() => {
|
||||
void trackOnboarding('dismissed');
|
||||
navigate(ADMIN_HOME_PATH);
|
||||
}, [navigate]);
|
||||
|
||||
return (
|
||||
<OnboardingShell
|
||||
@@ -38,7 +42,7 @@ export default function WelcomeLandingPage() {
|
||||
'layout.subtitle',
|
||||
'Begin with an inspired introduction, secure your package, and craft the perfect guest gallery – all optimised for mobile hosts.',
|
||||
)}
|
||||
onSkip={() => navigate(ADMIN_HOME_PATH)}
|
||||
onSkip={handleSkip}
|
||||
skipLabel={t('layout.jumpToDashboard', 'Jump to dashboard')}
|
||||
>
|
||||
<MobileCard space="$3">
|
||||
|
||||
Reference in New Issue
Block a user