import {compareDate} from "../_utils/date.ts" import { GameData } from "../_utils/game.ts"; import {GameTable} from "../_components/GameTable.tsx" import {compareGameProgress} from "../_utils/game.ts" import {GlobalData} from "../_utils/site.ts" export const layout = "base.tsx" export default function(data: GlobalData, helpers: Lume.Helpers) { const intro_section = data.content ? ( {data.children} ) : null const games: GameData[] = data.search.pages("game") const active_games = games .filter(game => game.active) .sort(compareDate as any) const active_games_section = ( Now playing ) const top_games = games .sort((a, b) => ((b.rating ?? 0) - (a.rating ?? 0))) .slice(0, 10) const top_games_section = ( Top games ) const played_games = games .sort((a, b) => ((b.hours_played ?? 0) - (a.hours_played ?? 0))) .slice(0, 10) const played_games_section = ( Most played games ) const progress_games = games .sort((a, b) => -compareGameProgress(a, b)) .slice(0, 10) const progress_games_section = ( Most progressed games ) const latest_games = games .sort((a, b) => -compareDate(a, b)) .slice(0, 10) const latest_games_section = ( Latest updates ) const games_cols = ( games.length > 0 ) ? ( Videogames View all {active_games.length > 0 && ( {active_games_section} )} {top_games_section} {progress_games_section} {played_games_section} {latest_games_section} ) : null return ( {intro_section} {games_cols} ) }