split up project groups into individual arrays and removed 'type' property

This commit is contained in:
2026-02-07 18:53:53 +01:00
parent acb7892122
commit 79cce84495
2 changed files with 22 additions and 32 deletions

View File

@@ -1,7 +1,7 @@
<script lang="ts"> <script lang="ts">
import Banner2 from "$lib/banner2.svelte"; import Banner2 from "$lib/banner2.svelte";
import TableOfContents from "$lib/table-of-contents.svelte"; import TableOfContents from "$lib/table-of-contents.svelte";
import { type Project, projects } from './projects'; import { type Project, games, hardware, apps, music } from './projects';
import LinkList from "$lib/lists/link-list.svelte"; import LinkList from "$lib/lists/link-list.svelte";
import Content from "$lib/viewport/content.svelte"; import Content from "$lib/viewport/content.svelte";
</script> </script>
@@ -20,28 +20,23 @@
<TableOfContents /> <TableOfContents />
<h2 id="games">Games</h2> <h2 id="games">Games</h2>
{#each projects as project} {#each games as project}
{#if project.type == "game"} {@render projectSummary({ project: project })}
{@render projectSummary({ project: project })}
{/if}
{/each} {/each}
<h2 id="hardware">Hardware</h2> <h2 id="hardware">Hardware</h2>
{#each projects as project} {#each hardware as project}
{#if project.type == "hardware"} {@render projectSummary({ project: project })}
{@render projectSummary({ project: project })}
{/if}
{/each} {/each}
<h2 id="apps">Apps</h2> <h2 id="apps">Apps</h2>
{#each projects as project} {#each apps as project}
{#if project.type == "app"} {@render projectSummary({ project: project })}
{@render projectSummary({ project: project })}
{/if}
{/each} {/each}
<h2 id="music">Music</h2> <h2 id="music">Music</h2>
{#each projects as project} {#each music as project}
{#if project.type == "music"} {@render projectSummary({ project: project })}
{@render projectSummary({ project: project })}
{/if}
{/each} {/each}
</Content> </Content>

View File

@@ -1,6 +1,5 @@
export interface Project { export interface Project {
id: string; id: string;
type: string; // currently used types: game, app, hardware, music
isActive: boolean; // whether the project is currently active (true) or a past project (false) isActive: boolean; // whether the project is currently active (true) or a past project (false)
banner: string; banner: string;
icon: string; icon: string;
@@ -16,10 +15,9 @@ export interface Link {
link: string; link: string;
} }
export const projects: Project[] = [ export const games: Project[] = [
{ {
id: "projectn5", id: "projectn5",
type: "game",
isActive: true, isActive: true,
banner: "/projects/projectn5/banner.webp", banner: "/projects/projectn5/banner.webp",
icon: "", icon: "",
@@ -47,7 +45,6 @@ export const projects: Project[] = [
}, },
{ {
id: "magician", id: "magician",
type: "game",
isActive: false, isActive: false,
banner: "/projects/magician/banner.webp", banner: "/projects/magician/banner.webp",
icon: "", icon: "",
@@ -67,7 +64,6 @@ export const projects: Project[] = [
}, },
{ {
id: "projektike", id: "projektike",
type: "game",
isActive: false, isActive: false,
banner: "/projects/projektike/banner.webp", banner: "/projects/projektike/banner.webp",
icon: "", icon: "",
@@ -83,7 +79,6 @@ export const projects: Project[] = [
}, },
{ {
id: "swordsnstuff", id: "swordsnstuff",
type: "game",
isActive: false, isActive: false,
banner: "/projects/swordsnstuff/banner.webp", banner: "/projects/swordsnstuff/banner.webp",
icon: "", icon: "",
@@ -104,7 +99,6 @@ export const projects: Project[] = [
}, },
{ {
id: "tads", id: "tads",
type: "game",
isActive: false, isActive: false,
banner: "/projects/tads/banner.webp", banner: "/projects/tads/banner.webp",
icon: "/projects/tads/icon.webp", icon: "/projects/tads/icon.webp",
@@ -126,9 +120,11 @@ export const projects: Project[] = [
}, },
], ],
}, },
];
export const hardware: Project[] = [
{ {
id: "daisyfm", id: "daisyfm",
type: "hardware",
isActive: false, isActive: false,
banner: "/projects/daisyfm/banner.webp", banner: "/projects/daisyfm/banner.webp",
icon: "", icon: "",
@@ -153,9 +149,11 @@ export const projects: Project[] = [
}, },
], ],
}, },
];
export const apps: Project[] = [
{ {
id: "weserplaner", id: "weserplaner",
type: "app",
isActive: false, isActive: false,
banner: "/projects/weserplaner/banner.webp", banner: "/projects/weserplaner/banner.webp",
icon: "/projects/weserplaner/icon.webp", icon: "/projects/weserplaner/icon.webp",
@@ -180,7 +178,6 @@ export const projects: Project[] = [
}, },
{ {
id: "textbasic", id: "textbasic",
type: "app",
isActive: false, isActive: false,
banner: "", banner: "",
icon: "/projects/textbasic/icon.webp", icon: "/projects/textbasic/icon.webp",
@@ -204,7 +201,6 @@ export const projects: Project[] = [
}, },
{ {
id: "qwark", id: "qwark",
type: "app",
isActive: false, isActive: false,
banner: "", banner: "",
icon: "/projects/qwark/icon.webp", icon: "/projects/qwark/icon.webp",
@@ -225,7 +221,6 @@ export const projects: Project[] = [
}, },
{ {
id: "avhplan", id: "avhplan",
type: "app",
isActive: false, isActive: false,
banner: "", banner: "",
date: "April 2019 March 2020", date: "April 2019 March 2020",
@@ -249,9 +244,11 @@ export const projects: Project[] = [
}, },
], ],
}, },
];
export const music: Project[] = [
{ {
id: "dreamworld", id: "dreamworld",
type: "music",
isActive: false, isActive: false,
banner: "/projects/dreamworld/banner.webp", banner: "/projects/dreamworld/banner.webp",
icon: "/projects/dreamworld/icon.webp", icon: "/projects/dreamworld/icon.webp",
@@ -273,7 +270,6 @@ export const projects: Project[] = [
}, },
{ {
id: "anewbeginning", id: "anewbeginning",
type: "music",
isActive: false, isActive: false,
banner: "", banner: "",
icon: "/projects/anewbeginning/icon.webp", icon: "/projects/anewbeginning/icon.webp",
@@ -293,7 +289,6 @@ export const projects: Project[] = [
}, },
{ {
id: "soundcloud", id: "soundcloud",
type: "music",
isActive: false, isActive: false,
banner: "", banner: "",
icon: "/projects/soundcloud/icon.webp", icon: "/projects/soundcloud/icon.webp",