website cleanup

This commit is contained in:
2025-12-24 14:01:52 +01:00
parent a7aee42409
commit 9b683a59d3
65 changed files with 880 additions and 745 deletions

View File

@@ -11,8 +11,7 @@ import InfoBanner from '@/components/ui/InfoBanner';
import PageHeader from '@/components/ui/PageHeader';
import { siteConfig } from '@/lib/siteConfig';
import { BillingViewModel } from '@/lib/view-models/BillingViewModel';
import { SponsorService } from '@/lib/services/sponsors/SponsorService';
import { ServiceFactory } from '@/lib/services/ServiceFactory';
import { useServices } from '@/lib/services/ServiceProvider';
import {
CreditCard,
DollarSign,
@@ -200,7 +199,7 @@ function InvoiceRow({ invoice, index }: { invoice: any; index: number }) {
platform: 'Platform',
};
const status = statusConfig[invoice.status];
const status = statusConfig[invoice.status as keyof typeof statusConfig];
const StatusIcon = status.icon;
return (
@@ -218,7 +217,7 @@ function InvoiceRow({ invoice, index }: { invoice: any; index: number }) {
<div className="flex items-center gap-2 mb-0.5">
<span className="font-medium text-white truncate">{invoice.description}</span>
<span className="px-2 py-0.5 rounded text-xs bg-iron-gray text-gray-400 flex-shrink-0">
{typeLabels[invoice.sponsorshipType]}
{typeLabels[invoice.sponsorshipType as keyof typeof typeLabels]}
</span>
</div>
<div className="flex items-center gap-3 text-sm text-gray-500">
@@ -261,6 +260,7 @@ function InvoiceRow({ invoice, index }: { invoice: any; index: number }) {
export default function SponsorBillingPage() {
const shouldReduceMotion = useReducedMotion();
const { sponsorService } = useServices();
const [data, setData] = useState<BillingViewModel | null>(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState<string | null>(null);
@@ -269,7 +269,6 @@ export default function SponsorBillingPage() {
useEffect(() => {
const loadBilling = async () => {
try {
const sponsorService = ServiceFactory.getSponsorService();
const billingData = await sponsorService.getBilling('demo-sponsor-1');
setData(new BillingViewModel(billingData));
} catch (err) {

View File

@@ -8,8 +8,7 @@ import Card from '@/components/ui/Card';
import Button from '@/components/ui/Button';
import StatusBadge from '@/components/ui/StatusBadge';
import InfoBanner from '@/components/ui/InfoBanner';
import { SponsorService } from '@/lib/services/sponsors/SponsorService';
import { ServiceFactory } from '@/lib/services/ServiceFactory';
import { useServices } from '@/lib/services/ServiceProvider';
import { SponsorSponsorshipsViewModel } from '@/lib/view-models/SponsorSponsorshipsViewModel';
import {
Megaphone,
@@ -133,7 +132,7 @@ function SponsorshipCard({ sponsorship }: { sponsorship: any }) {
const shouldReduceMotion = useReducedMotion();
const typeConfig = TYPE_CONFIG[sponsorship.type as keyof typeof TYPE_CONFIG];
const statusConfig = STATUS_CONFIG[sponsorship.status];
const statusConfig = STATUS_CONFIG[sponsorship.status as keyof typeof STATUS_CONFIG];
const TypeIcon = typeConfig.icon;
const StatusIcon = statusConfig.icon;
@@ -365,6 +364,7 @@ export default function SponsorCampaignsPage() {
const router = useRouter();
const searchParams = useSearchParams();
const shouldReduceMotion = useReducedMotion();
const { sponsorService } = useServices();
const initialType = (searchParams.get('type') as SponsorshipType) || 'all';
const [typeFilter, setTypeFilter] = useState<SponsorshipType>(initialType);
@@ -377,7 +377,6 @@ export default function SponsorCampaignsPage() {
useEffect(() => {
const loadSponsorships = async () => {
try {
const sponsorService = ServiceFactory.getSponsorService();
const sponsorshipsData = await sponsorService.getSponsorSponsorships('demo-sponsor-1');
if (sponsorshipsData) {
setData(sponsorshipsData);

View File

@@ -35,9 +35,8 @@ import {
RefreshCw
} from 'lucide-react';
import Link from 'next/link';
import { SponsorService } from '@/lib/services/sponsors/SponsorService';
import { useServices } from '@/lib/services/ServiceProvider';
import { SponsorDashboardViewModel } from '@/lib/view-models/SponsorDashboardViewModel';
import { ServiceFactory } from '@/lib/services/ServiceFactory';
@@ -45,6 +44,7 @@ import { ServiceFactory } from '@/lib/services/ServiceFactory';
export default function SponsorDashboardPage() {
const shouldReduceMotion = useReducedMotion();
const { sponsorService } = useServices();
const [timeRange, setTimeRange] = useState<'7d' | '30d' | '90d' | 'all'>('30d');
const [loading, setLoading] = useState(true);
const [data, setData] = useState<SponsorDashboardViewModel | null>(null);
@@ -53,7 +53,6 @@ export default function SponsorDashboardPage() {
useEffect(() => {
const loadDashboard = async () => {
try {
const sponsorService = ServiceFactory.getSponsorService();
const dashboardData = await sponsorService.getSponsorDashboard('demo-sponsor-1');
if (dashboardData) {
setData(dashboardData);