diff --git a/src/lib/components/about/GameCard.svelte b/src/lib/components/about/GameCard.svelte new file mode 100644 index 0000000..fb2753d --- /dev/null +++ b/src/lib/components/about/GameCard.svelte @@ -0,0 +1,115 @@ + + + +
+ + Play +
+
+ {game.name} + {store.label} +
+
+ + diff --git a/src/lib/components/about/MediaGrid.svelte b/src/lib/components/about/MediaGrid.svelte new file mode 100644 index 0000000..5477ef1 --- /dev/null +++ b/src/lib/components/about/MediaGrid.svelte @@ -0,0 +1,41 @@ + + +
+ {#each visibleItems as item (item.url)} + + {/each} +
+ + + + diff --git a/src/lib/components/ui/Pagination.svelte b/src/lib/components/ui/Pagination.svelte new file mode 100644 index 0000000..b855aa6 --- /dev/null +++ b/src/lib/components/ui/Pagination.svelte @@ -0,0 +1,38 @@ + + +{#if totalPages > 1} + +{/if} + + diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte index 59d3c88..ba42432 100644 --- a/src/routes/about/+page.svelte +++ b/src/routes/about/+page.svelte @@ -5,9 +5,9 @@ import SectionNav from '#lib/components/ui/SectionNav.svelte'; import Section from '#lib/components/ui/Section.svelte'; import Panel from '#lib/components/ui/Panel.svelte'; - import LinkButton from '#lib/components/ui/LinkButton.svelte'; import AnimeSection from '#lib/components/about/AnimeSection.svelte'; - import MediaCard from '#lib/components/about/MediaCard.svelte'; + import MediaGrid from '#lib/components/about/MediaGrid.svelte'; + import GameCard from '#lib/components/about/GameCard.svelte'; import type { PageProps } from './$types'; let { data }: PageProps = $props(); @@ -46,23 +46,16 @@
-
+
{#each about.games as game (game.name)} - - {game.name} - Play - + {/each}
{#each mediaGroups as group (group.id)}
-
- {#each group.items as item (item.name)} - - {/each} -
+
{/each} @@ -78,21 +71,15 @@ margin: 0; } - .media-grid { + .game-grid { display: grid; - grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); + grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem 0.85rem; } @container (max-width: 520px) { - .media-grid { - grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); + .game-grid { + grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); } } - - .game-image { - width: 100%; - aspect-ratio: 16 / 9; - object-fit: cover; - } diff --git a/src/routes/blog/+page.svelte b/src/routes/blog/+page.svelte index 749192c..e5982ef 100644 --- a/src/routes/blog/+page.svelte +++ b/src/routes/blog/+page.svelte @@ -3,6 +3,7 @@ import { blogSettings } from '#lib/content'; import { formatPostDate } from '#lib/blog/date'; import PageHeader from '#lib/components/ui/PageHeader.svelte'; + import Pagination from '#lib/components/ui/Pagination.svelte'; let { data }: PageProps = $props(); @@ -72,13 +73,7 @@ {/each} - {#if totalPages > 1} - - {/if} + {/if} @@ -112,16 +107,14 @@ margin: 0.75rem 0 1.25rem; } - .tags button, - .pagination button { + .tags button { padding: 0.1rem 0.6rem; background: none; border: 1px solid color-mix(in srgb, var(--foreground) 25%, transparent); color: var(--muted); } - .tags button:hover, - .pagination button:hover:not(:disabled) { + .tags button:hover { border-color: var(--accent); color: var(--foreground); } @@ -177,16 +170,4 @@ font-size: 0.8rem; } - .pagination { - display: flex; - justify-content: center; - align-items: center; - gap: 1rem; - margin-top: 1.25rem; - } - - .pagination button:disabled { - opacity: 0.4; - cursor: default; - }