website refactor
This commit is contained in:
@@ -2,19 +2,19 @@
|
||||
|
||||
import React, { useState, useMemo } from 'react';
|
||||
import { SponsorLeaguesTemplate, type SortOption, type TierFilter, type AvailabilityFilter } from '@/templates/SponsorLeaguesTemplate';
|
||||
import { ClientWrapperProps } from '@/lib/contracts/components/ComponentContracts';
|
||||
import { ViewData } from '@/lib/contracts/view-data/ViewData';
|
||||
|
||||
export function SponsorLeaguesPageClient({ data }: { data: unknown }) {
|
||||
export function SponsorLeaguesPageClient({ viewData }: ClientWrapperProps<ViewData>) {
|
||||
const [searchQuery, setSearchQuery] = useState('');
|
||||
const [tierFilter] = useState<TierFilter>('all');
|
||||
const [availabilityFilter] = useState<AvailabilityFilter>('all');
|
||||
const [sortBy] = useState<SortOption>('rating');
|
||||
|
||||
const filteredLeagues = useMemo(() => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const d = data as any;
|
||||
const d = viewData as any;
|
||||
if (!d?.leagues) return [];
|
||||
return d.leagues
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
.filter((league: any) => {
|
||||
if (searchQuery && !league.name.toLowerCase().includes(searchQuery.toLowerCase())) {
|
||||
return false;
|
||||
@@ -30,7 +30,6 @@ export function SponsorLeaguesPageClient({ data }: { data: unknown }) {
|
||||
}
|
||||
return true;
|
||||
})
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
.sort((a: any, b: any) => {
|
||||
switch (sortBy) {
|
||||
case 'rating': return b.rating - a.rating;
|
||||
@@ -40,12 +39,11 @@ export function SponsorLeaguesPageClient({ data }: { data: unknown }) {
|
||||
default: return 0;
|
||||
}
|
||||
});
|
||||
}, [data, searchQuery, tierFilter, availabilityFilter, sortBy]);
|
||||
}, [viewData, searchQuery, tierFilter, availabilityFilter, sortBy]);
|
||||
|
||||
return (
|
||||
<SponsorLeaguesTemplate
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
viewData={data as any}
|
||||
viewData={viewData as any}
|
||||
filteredLeagues={filteredLeagues}
|
||||
searchQuery={searchQuery}
|
||||
setSearchQuery={setSearchQuery}
|
||||
|
||||
Reference in New Issue
Block a user