starshard/peafowl
Template
1
Fork 0
mirror of https://github.com/starshardstudio/peafowl.git synced 2024-11-24 05:54:19 +00:00

Reformat file

This commit is contained in:
Steffo 2024-11-05 13:46:02 +01:00
parent 55683da844
commit ee9ea9b6ae
Signed by: steffo
GPG key ID: 5ADA3868646C3FC0

View file

@ -1,24 +1,25 @@
import {compareDate} from "../_utils/date.ts" import { compareDate } from "../_utils/date.ts";
import { GameData } from "../_utils/game.ts"; import { GameData } from "../_utils/game.ts";
import {GameTable} from "../_components/GameTable.tsx" import { GameTable } from "../_components/GameTable.tsx";
import {compareGameProgress} from "../_utils/game.ts" import { compareGameProgress } from "../_utils/game.ts";
import {GlobalData} from "../_utils/site.ts" import { GlobalData } from "../_utils/site.ts";
export const layout = "base.tsx";
export const layout = "base.tsx"
export default function (data: GlobalData, helpers: Lume.Helpers) { export default function (data: GlobalData, helpers: Lume.Helpers) {
const intro_section = data.content ? ( const intro_section = data.content
? (
<section id={"index-section-intro"}> <section id={"index-section-intro"}>
{data.children} {data.children}
</section> </section>
) : null )
: null;
const games: GameData[] = data.search.pages("game") const games: GameData[] = data.search.pages("game");
const active_games = games const active_games = games
.filter(game => game.active) .filter((game) => game.active)
.sort(compareDate as any) .sort(compareDate as any);
const active_games_section = ( const active_games_section = (
<section id={"index-section-games-active"} className={"flex flex-v"}> <section id={"index-section-games-active"} className={"flex flex-v"}>
@ -26,14 +27,18 @@ export default function(data: GlobalData, helpers: Lume.Helpers) {
Now playing Now playing
</h3> </h3>
<div> <div>
<GameTable games={active_games} columns={["progress", "name", "hoursplayed", "date"]} priority={"progress"}/> <GameTable
games={active_games}
columns={["progress", "name", "hoursplayed", "date"]}
priority={"progress"}
/>
</div> </div>
</section> </section>
) );
const top_games = games const top_games = games
.sort((a, b) => ((b.rating ?? 0) - (a.rating ?? 0))) .sort((a, b) => ((b.rating ?? 0) - (a.rating ?? 0)))
.slice(0, 10) .slice(0, 10);
const top_games_section = ( const top_games_section = (
<section id={"index-section-games-top"} className={"flex flex-v"}> <section id={"index-section-games-top"} className={"flex flex-v"}>
@ -41,14 +46,18 @@ export default function(data: GlobalData, helpers: Lume.Helpers) {
Top games Top games
</h3> </h3>
<div> <div>
<GameTable games={top_games} columns={["rating", "name", "hascontent"]} priority={"rating"}/> <GameTable
games={top_games}
columns={["rating", "name", "hascontent"]}
priority={"rating"}
/>
</div> </div>
</section> </section>
) );
const played_games = games const played_games = games
.sort((a, b) => ((b.hours_played ?? 0) - (a.hours_played ?? 0))) .sort((a, b) => ((b.hours_played ?? 0) - (a.hours_played ?? 0)))
.slice(0, 10) .slice(0, 10);
const played_games_section = ( const played_games_section = (
<section id={"index-section-games-top"} className={"flex flex-v"}> <section id={"index-section-games-top"} className={"flex flex-v"}>
@ -56,14 +65,17 @@ export default function(data: GlobalData, helpers: Lume.Helpers) {
Most played games Most played games
</h3> </h3>
<div> <div>
<GameTable games={played_games} columns={["hoursplayed", "name"]}/> <GameTable
games={played_games}
columns={["hoursplayed", "name"]}
/>
</div> </div>
</section> </section>
) );
const progress_games = games const progress_games = games
.sort((a, b) => -compareGameProgress(a, b)) .sort((a, b) => -compareGameProgress(a, b))
.slice(0, 10) .slice(0, 10);
const progress_games_section = ( const progress_games_section = (
<section id={"index-section-games-top"} className={"flex flex-v"}> <section id={"index-section-games-top"} className={"flex flex-v"}>
@ -71,14 +83,18 @@ export default function(data: GlobalData, helpers: Lume.Helpers) {
Most progressed games Most progressed games
</h3> </h3>
<div> <div>
<GameTable games={progress_games} columns={["progress", "name", "hoursplayed"]} priority={"progress"}/> <GameTable
games={progress_games}
columns={["progress", "name", "hoursplayed"]}
priority={"progress"}
/>
</div> </div>
</section> </section>
) );
const latest_games = games const latest_games = games
.sort((a, b) => -compareDate(a, b)) .sort((a, b) => -compareDate(a, b))
.slice(0, 10) .slice(0, 10);
const latest_games_section = ( const latest_games_section = (
<section id={"index-section-games-latest"} className={"flex flex-v"}> <section id={"index-section-games-latest"} className={"flex flex-v"}>
@ -86,20 +102,27 @@ export default function(data: GlobalData, helpers: Lume.Helpers) {
Latest updates Latest updates
</h3> </h3>
<div> <div>
<GameTable games={latest_games} columns={["hascontent", "name", "date"]}/> <GameTable
games={latest_games}
columns={["hascontent", "name", "date"]}
/>
</div> </div>
</section> </section>
) );
const games_cols = ( const games_cols = (
games.length > 0 games.length > 0
) ? ( )
? (
<section className={"flex flex-v"}> <section className={"flex flex-v"}>
<h2> <h2>
Videogames Videogames
<small> <small>
<a href={helpers.url("~/list-games.md")}> <a href={helpers.url("~/list-games.md")}>
<i className={"fa-sharp fa-solid fa-magnifying-glass"}/> View all <i
className={"fa-sharp fa-solid fa-magnifying-glass"}
/>{" "}
View all
</a> </a>
</small> </small>
</h2> </h2>
@ -117,12 +140,13 @@ export default function(data: GlobalData, helpers: Lume.Helpers) {
{latest_games_section} {latest_games_section}
</div> </div>
</section> </section>
) : null )
: null;
return ( return (
<main id={"index-main"} className={"flex flex-v"}> <main id={"index-main"} className={"flex flex-v"}>
{intro_section} {intro_section}
{games_cols} {games_cols}
</main> </main>
) );
} }