website refactor

This commit is contained in:
2026-01-18 16:43:32 +01:00
parent 13567d51af
commit b263de3a35
418 changed files with 1986 additions and 2161 deletions

View File

@@ -1,9 +1,8 @@
import React from 'react';
import { Stack } from '@/ui/Stack';
import { Text } from '@/ui/Text';
import { Icon } from '@/ui/Icon';
import { LucideIcon } from 'lucide-react';
import { Grid } from '@/ui/Grid';
import { Icon } from '@/ui/Icon';
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
import { LucideIcon } from 'lucide-react';
interface BillingStatProps {
label: string;

View File

@@ -1,13 +1,13 @@
'use client';
import React, { useState } from 'react';
import { Building } from 'lucide-react';
import { Stack } from '@/ui/Stack';
import { Text } from '@/ui/Text';
import { SponsorshipRequestItem } from '@/components/sponsors/SponsorshipRequestItem';
import { Badge } from '@/ui/Badge';
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { Badge } from '@/ui/Badge';
import { SponsorshipRequestItem } from '@/components/sponsors/SponsorshipRequestItem';
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
import { Building } from 'lucide-react';
import { useState } from 'react';
export interface PendingRequestDTO {
id: string;

View File

@@ -1,8 +1,7 @@
import React from 'react';
import { Stack } from '@/ui/Stack';
import { Text } from '@/ui/Text';
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
import { Check, Info } from 'lucide-react';
export interface PricingTier {

View File

@@ -1,10 +1,10 @@
import { LucideIcon } from 'lucide-react';
import { Stack } from '@/ui/Stack';
import { Button } from '@/ui/Button';
import { Icon } from '@/ui/Icon';
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
import { LucideIcon } from 'lucide-react';
interface RenewalItemProps {
name: string;

View File

@@ -1,5 +1,4 @@
import React from 'react';
import { Stack } from '@/ui/Stack';
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
interface SponsorActivityItemProps {

View File

@@ -1,9 +1,8 @@
import React from 'react';
import { Text } from '@/ui/Text';
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { LucideIcon, Clock } from 'lucide-react';
import { Stack } from '@/ui/Stack';
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
import { Clock, LucideIcon } from 'lucide-react';
export interface Activity {
id: string;

View File

@@ -1,10 +1,9 @@
'use client';
import React from 'react';
import { Card , Card as Surface } from '@/ui/Card';
import { Stack } from '@/ui/Stack';
import { Text } from '@/ui/Text';
import { SponsorLogo } from '@/components/sponsors/SponsorLogo';
import { Card, Card as Surface } from '@/ui/Card';
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
interface SponsorBrandingPreviewProps {
name: string;

View File

@@ -1,24 +1,23 @@
'use client';
import React from 'react';
import { Button } from '@/ui/Button';
import { Card } from '@/ui/Card';
import { Stack } from '@/ui/Stack';
import { Text } from '@/ui/Text';
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { Button } from '@/ui/Button';
import {
Trophy,
Users,
Car,
Flag,
Megaphone,
ChevronRight,
ExternalLink,
Calendar,
BarChart3
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
import {
BarChart3,
Calendar,
Car,
ChevronRight,
ExternalLink,
Flag,
Megaphone,
Trophy,
Users
} from 'lucide-react';
import { SponsorStatusChip, SponsorStatus } from './SponsorStatusChip';
import { SponsorStatus, SponsorStatusChip } from './SponsorStatusChip';
export type SponsorshipType = 'league' | 'team' | 'driver' | 'race' | 'platform';

View File

@@ -1,20 +1,19 @@
'use client';
import React from 'react';
import { Stack } from '@/ui/Stack';
import { Heading } from '@/ui/Heading';
import { Text } from '@/ui/Text';
import { Button } from '@/ui/Button';
import { Icon } from '@/ui/Icon';
import { Surface } from '@/ui/Surface';
import {
LayoutDashboard,
RefreshCw,
Settings,
Bell
} from 'lucide-react';
import { Link } from '@/ui/Link';
import { routes } from '@/lib/routing/RouteConfig';
import { Button } from '@/ui/Button';
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { Link } from '@/ui/Link';
import { Stack } from '@/ui/primitives/Stack';
import { Surface } from '@/ui/primitives/Surface';
import { Text } from '@/ui/Text';
import {
Bell,
LayoutDashboard,
RefreshCw,
Settings
} from 'lucide-react';
interface SponsorDashboardHeaderProps {
sponsorName: string;

View File

@@ -1,10 +1,10 @@
import React from 'react';
import { LucideIcon } from 'lucide-react';
import { Stack } from '@/ui/Stack';
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { Surface } from '@/ui/Surface';
import { Stack } from '@/ui/primitives/Stack';
import { Surface } from '@/ui/primitives/Surface';
import { Text } from '@/ui/Text';
import { LucideIcon } from 'lucide-react';
import React from 'react';
interface SponsorHeaderPanelProps {
icon: LucideIcon;

View File

@@ -1,12 +1,12 @@
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { Box } from '@/ui/primitives/Box';
import { Text } from '@/ui/Text';
import { motion, useReducedMotion } from 'framer-motion';
import { Building2 } from 'lucide-react';
import { useEffect, useState } from 'react';
import { Box } from '@/ui/Box';
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { Text } from '@/ui/Text';
interface SponsorHeroProps {
title: string;

View File

@@ -1,18 +1,30 @@
'use client';
import React, { useCallback, useState } from 'react';
import { SponsorMetricCard } from '@/components/sponsors/SponsorMetricCard';
import { SponsorshipTierBadge } from '@/components/sponsors/SponsorshipTierBadge';
import { SponsorSlotCard } from '@/components/sponsors/SponsorSlotCard';
import { Button } from '@/ui/Button';
import { Card } from '@/ui/Card';
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { InfoBox } from '@/ui/InfoBox';
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
import {
Activity,
Check,
Loader2,
MessageCircle,
Shield,
Target,
Users,
Zap,
Calendar,
LucideIcon
Activity,
Calendar,
Check,
Loader2,
LucideIcon,
MessageCircle,
Shield,
Target,
Users,
Zap
} from 'lucide-react';
import { useCallback, useState } from 'react';
import { getEntityLabel, getSponsorshipTagline, getTierStyles } from './SponsorInsightsCardHelpers';
import { SponsorMetric, SponsorshipSlot } from './SponsorInsightsCardTypes';
const ICON_MAP: Record<string, LucideIcon> = {
users: Users,
@@ -23,18 +35,6 @@ const ICON_MAP: Record<string, LucideIcon> = {
target: Target,
message: MessageCircle,
};
import { Button } from '@/ui/Button';
import { Card } from '@/ui/Card';
import { Stack } from '@/ui/Stack';
import { Text } from '@/ui/Text';
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { SponsorMetricCard } from '@/components/sponsors/SponsorMetricCard';
import { SponsorSlotCard } from '@/components/sponsors/SponsorSlotCard';
import { SponsorshipTierBadge } from '@/components/sponsors/SponsorshipTierBadge';
import { InfoBox } from '@/ui/InfoBox';
import { SponsorMetric, SponsorshipSlot } from './SponsorInsightsCardTypes';
import { getTierStyles, getEntityLabel, getSponsorshipTagline } from './SponsorInsightsCardHelpers';
export type EntityType = 'league' | 'race' | 'driver' | 'team';

View File

@@ -1,8 +1,7 @@
import React from 'react';
import { Box } from '@/ui/Box';
import { Image } from '@/ui/Image';
import { Building2 } from 'lucide-react';
import { Icon } from '@/ui/Icon';
import { Image } from '@/ui/Image';
import { Box } from '@/ui/primitives/Box';
import { Building2 } from 'lucide-react';
export interface SponsorLogoProps {
sponsorId?: string;

View File

@@ -1,7 +1,6 @@
import React from 'react';
import { Box } from '@/ui/Box';
import { Text } from '@/ui/Text';
import { Icon } from '@/ui/Icon';
import { Box } from '@/ui/primitives/Box';
import { Text } from '@/ui/Text';
import { LucideIcon } from 'lucide-react';
interface SponsorMetricCardProps {

View File

@@ -1,17 +1,16 @@
'use client';
import React from 'react';
import { Table, TableHead, TableBody, TableRow, TableHeader, TableCell } from '@/ui/Table';
import { Stack } from '@/ui/Stack';
import { Text } from '@/ui/Text';
import { Icon } from '@/ui/Icon';
import { Badge } from '@/ui/Badge';
import {
Clock,
CheckCircle2,
AlertCircle,
ArrowUpRight,
DollarSign
import { Icon } from '@/ui/Icon';
import { Stack } from '@/ui/primitives/Stack';
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/ui/Table';
import { Text } from '@/ui/Text';
import {
AlertCircle,
ArrowUpRight,
CheckCircle2,
Clock,
DollarSign
} from 'lucide-react';
export interface PayoutItem {

View File

@@ -1,6 +1,6 @@
import React, { ReactNode } from 'react';
import { Box } from '@/ui/Box';
import { Box } from '@/ui/primitives/Box';
import { Text } from '@/ui/Text';
import { ReactNode } from 'react';
interface SponsorSlotCardProps {
title: string;

View File

@@ -1,16 +1,15 @@
'use client';
import React from 'react';
import { Stack } from '@/ui/Stack';
import { Text } from '@/ui/Text';
import { Icon } from '@/ui/Icon';
import {
Check,
Clock,
ThumbsUp,
ThumbsDown,
XCircle,
AlertTriangle
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
import {
AlertTriangle,
Check,
Clock,
ThumbsDown,
ThumbsUp,
XCircle
} from 'lucide-react';
export type SponsorStatus = 'active' | 'pending' | 'approved' | 'declined' | 'expired' | 'warning';

View File

@@ -1,12 +1,12 @@
import { CheckCircle2, LucideIcon } from 'lucide-react';
import { Badge } from '@/ui/Badge';
import { Stack } from '@/ui/Stack';
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { Surface } from '@/ui/Surface';
import { Stack } from '@/ui/primitives/Stack';
import { Surface } from '@/ui/primitives/Surface';
import { Text } from '@/ui/Text';
import { CheckCircle2, LucideIcon } from 'lucide-react';
interface SponsorTierCardProps {
type: 'main' | 'secondary';

View File

@@ -1,10 +1,9 @@
import React from 'react';
import { LucideIcon } from 'lucide-react';
import { Link } from '@/ui/Link';
import { Card } from '@/ui/Card';
import { Stack } from '@/ui/Stack';
import { Text } from '@/ui/Text';
import { Icon } from '@/ui/Icon';
import { Link } from '@/ui/Link';
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
import { LucideIcon } from 'lucide-react';
interface SponsorshipCategoryCardProps {
icon: LucideIcon;

View File

@@ -1,14 +1,14 @@
import { Building, Check, Clock, DollarSign, MessageCircle, X } from 'lucide-react';
import React from 'react';
import { Badge } from '@/ui/Badge';
import { Box } from '@/ui/Box';
import { Button } from '@/ui/Button';
import { Heading } from '@/ui/Heading';
import { Icon } from '@/ui/Icon';
import { Image } from '@/ui/Image';
import { Box } from '@/ui/primitives/Box';
import { Text } from '@/ui/Text';
import { Building, Check, Clock, DollarSign, MessageCircle, X } from 'lucide-react';
import React from 'react';
interface SponsorshipRequestItemProps {
sponsorName: string;

View File

@@ -1,10 +1,9 @@
import React from 'react';
import { Text } from '@/ui/Text';
import { Icon } from '@/ui/Icon';
import { Button } from '@/ui/Button';
import { Download, Receipt, Clock, Check, AlertTriangle } from 'lucide-react';
import { Grid } from '@/ui/Grid';
import { Stack } from '@/ui/Stack';
import { Icon } from '@/ui/Icon';
import { Stack } from '@/ui/primitives/Stack';
import { Text } from '@/ui/Text';
import { AlertTriangle, Check, Clock, Download, Receipt } from 'lucide-react';
export interface Transaction {
id: string;