umfangreiche Behebung von TS-Fehlern. "npm run types" läuft nun ohne Fehler durch

This commit is contained in:
Codex Agent
2025-11-21 07:45:21 +01:00
parent b6f6cdeffe
commit 07fe049b8a
25 changed files with 74 additions and 63 deletions

View File

@@ -19,7 +19,7 @@ export default function HomePage() {
const { name, hydrated } = useGuestIdentity();
const stats = useEventStats();
const { event } = useEventData();
const { completedCount } = useGuestTaskProgress(token);
const { completedCount } = useGuestTaskProgress(token ?? '');
const { t, locale } = useTranslation();
const { branding } = useEventBranding();
@@ -86,15 +86,16 @@ export default function HomePage() {
async function loadMissions() {
setMissionLoading(true);
try {
const response = await fetch(
`/api/v1/events/${encodeURIComponent(token)}/tasks?locale=${encodeURIComponent(locale)}`,
{
headers: {
Accept: 'application/json',
'X-Locale': locale,
},
}
);
const safeToken = token ?? '';
const response = await fetch(
`/api/v1/events/${encodeURIComponent(safeToken)}/tasks?locale=${encodeURIComponent(locale)}`,
{
headers: {
Accept: 'application/json',
'X-Locale': locale,
},
}
);
if (!response.ok) throw new Error('Aufgaben konnten nicht geladen werden.');
const payload = await response.json();
if (cancelled) return;

View File

@@ -30,7 +30,7 @@ const INITIAL_STATE: GalleryState = {
const GALLERY_PAGE_SIZE = 30;
export default function PublicGalleryPage(): JSX.Element | null {
export default function PublicGalleryPage(): React.ReactElement | null {
const { token } = useParams<{ token: string }>();
const { t } = useTranslation();
const [state, setState] = useState<GalleryState>(INITIAL_STATE);

View File

@@ -2,7 +2,7 @@
import { useNavigate, useParams, useSearchParams } from 'react-router-dom';
import { Button } from '@/components/ui/button';
import { Alert, AlertDescription } from '@/components/ui/alert';
import { Sparkles, RefreshCw, Smile, Camera, Timer as TimerIcon, Heart, ChevronRight } from 'lucide-react';
import { Sparkles, RefreshCw, Smile, Camera, Timer as TimerIcon, Heart, ChevronRight, CheckCircle2 } from 'lucide-react';
import type { LucideIcon } from 'lucide-react';
import { useGuestTaskProgress } from '../hooks/useGuestTaskProgress';
import { ToggleGroup, ToggleGroupItem } from '@/components/ui/toggle-group';

View File

@@ -882,7 +882,7 @@ const renderWithDialog = (content: ReactNode, wrapperClassName = 'space-y-6 pb-[
<AlertDescription>
{t('upload.limitReached')
.replace('{used}', `${eventPackage?.used_photos || 0}`)
.replace('{max}', `${eventPackage?.package.max_photos || 0}`)}
.replace('{max}', `${eventPackage?.package?.max_photos || 0}`)}
</AlertDescription>
</Alert>
</>