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">
import Banner2 from "$lib/banner2.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 Content from "$lib/viewport/content.svelte";
</script>
@@ -20,28 +20,23 @@
<TableOfContents />
<h2 id="games">Games</h2>
{#each projects as project}
{#if project.type == "game"}
{#each games as project}
{@render projectSummary({ project: project })}
{/if}
{/each}
<h2 id="hardware">Hardware</h2>
{#each projects as project}
{#if project.type == "hardware"}
{#each hardware as project}
{@render projectSummary({ project: project })}
{/if}
{/each}
<h2 id="apps">Apps</h2>
{#each projects as project}
{#if project.type == "app"}
{#each apps as project}
{@render projectSummary({ project: project })}
{/if}
{/each}
<h2 id="music">Music</h2>
{#each projects as project}
{#if project.type == "music"}
{#each music as project}
{@render projectSummary({ project: project })}
{/if}
{/each}
</Content>

View File

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