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}
) }