ungültige paket-IDs werden nun abgefangen

This commit is contained in:
Codex Agent
2025-12-20 16:59:14 +01:00
parent 6500b8df2c
commit 80985828d8
7 changed files with 57 additions and 13 deletions

View File

@@ -1,5 +1,5 @@
import React, { useState, useEffect, useMemo, useRef, useLayoutEffect } from 'react';
import { Link } from '@inertiajs/react';
import { Link, usePage } from '@inertiajs/react';
import { useTranslation } from 'react-i18next';
import type { TFunction } from 'i18next';
import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@/components/ui/dialog';
@@ -16,6 +16,7 @@ import { useCtaExperiment } from '@/hooks/useCtaExperiment';
import { useLocalizedRoutes } from '@/hooks/useLocalizedRoutes';
import { useLocale } from '@/hooks/useLocale';
import { ArrowRight, Check, Star } from 'lucide-react';
import toast from 'react-hot-toast';
interface Package {
id: number;
@@ -255,11 +256,18 @@ const Packages: React.FC<PackagesProps> = ({ endcustomerPackages, resellerPackag
const locale = useLocale();
const { t } = useTranslation('marketing');
const { t: tCommon } = useTranslation('common');
const { flash } = usePage<{ flash?: { error?: string } }>().props;
const {
variant: packagesHeroVariant,
trackClick: trackPackagesHeroClick,
} = useCtaExperiment('packages_hero_cta');
useEffect(() => {
if (flash?.error) {
toast.error(flash.error);
}
}, [flash?.error]);
useEffect(() => {
const urlParams = new URLSearchParams(window.location.search);
const packageId = urlParams.get('package_id');

View File

@@ -66,6 +66,7 @@ return [
'limits_label' => 'Limits & Kapazitäten',
'paddle_not_configured' => 'Dieses Package ist noch nicht für den Paddle-Checkout konfiguriert. Bitte kontaktiere den Support.',
'paddle_checkout_failed' => 'Der Paddle-Checkout konnte nicht gestartet werden. Bitte versuche es später erneut.',
'package_not_found' => 'Dieses Package ist nicht verfügbar. Bitte wähle ein anderes aus.',
],
'nav' => [
'home' => 'Startseite',

View File

@@ -66,6 +66,7 @@ return [
'limits_label' => 'Limits & Capacity',
'paddle_not_configured' => 'This package is not ready for Paddle checkout. Please contact support.',
'paddle_checkout_failed' => 'We could not start the Paddle checkout. Please try again later.',
'package_not_found' => 'This package is no longer available. Please choose another one.',
],
'nav' => [
'home' => 'Home',