diff --git a/content/desktop.json b/content/desktop.json
index 69f2838..9751e39 100644
--- a/content/desktop.json
+++ b/content/desktop.json
@@ -33,6 +33,22 @@
{ "label": "btop", "icon": "ph:chart-line-duotone", "open": { "app": "btop" } }
]
},
+ {
+ "name": "apps",
+ "side": "right",
+ "icons": [
+ { "label": "tcg", "icon": "mdi:pokeball", "open": { "app": "tcg" } }
+ ]
+ },
+ {
+ "name": "games",
+ "side": "right",
+ "icons": [
+ { "label": "snake", "icon": "mdi:snake", "open": { "app": "snake" } },
+ { "label": "breakout", "icon": "mdi:wall", "open": { "app": "breakout" } },
+ { "label": "robot", "icon": "ph:robot-duotone", "open": { "app": "pet" } }
+ ]
+ },
{
"name": "socials",
"icons": [
diff --git a/content/tcgDecks.json b/content/tcgDecks.json
new file mode 100644
index 0000000..b234eab
--- /dev/null
+++ b/content/tcgDecks.json
@@ -0,0 +1,35 @@
+[
+ {
+ "id": "cynthias-garchomp",
+ "name": "Cynthia's Garchomp",
+ "cards": [
+ { "count": 4, "name": "Cynthia's Gible", "set": "DRI", "category": "pokemon" },
+ { "count": 4, "name": "Cynthia's Gabite", "set": "DRI", "category": "pokemon" },
+ { "count": 3, "name": "Cynthia's Garchomp ex", "set": "DRI", "category": "pokemon" },
+ { "count": 2, "name": "Cynthia's Roselia", "set": "DRI", "category": "pokemon" },
+ { "count": 2, "name": "Cynthia's Roserade", "set": "DRI", "category": "pokemon" },
+ { "count": 1, "name": "Munkidori", "set": "TWM", "category": "pokemon" },
+ { "count": 1, "name": "Cynthia's Spiritomb", "set": "DRI", "category": "pokemon" },
+ { "count": 4, "name": "Arven", "category": "trainer" },
+ { "count": 4, "name": "Iono", "category": "trainer" },
+ { "count": 4, "name": "Buddy-Buddy Poffin", "category": "trainer" },
+ { "count": 4, "name": "Cynthia's Power Weight", "category": "trainer" },
+ { "count": 3, "name": "Boss's Orders", "category": "trainer" },
+ { "count": 2, "name": "Technical Machine: Evolution", "category": "trainer" },
+ { "count": 2, "name": "Team Rocket's Watchtower", "category": "trainer" },
+ { "count": 2, "name": "Counter Catcher", "category": "trainer" },
+ { "count": 2, "name": "Earthen Vessel", "category": "trainer" },
+ { "count": 1, "name": "Night Stretcher", "category": "trainer" },
+ { "count": 1, "name": "Crispin", "category": "trainer" },
+ { "count": 1, "name": "Super Rod", "category": "trainer" },
+ { "count": 1, "name": "Team Rocket's Petrel", "category": "trainer" },
+ { "count": 1, "name": "Artazon", "category": "trainer" },
+ { "count": 1, "name": "Unfair Stamp", "category": "trainer" },
+ { "count": 1, "name": "Professor's Research", "category": "trainer" },
+ { "count": 1, "name": "Rare Candy", "category": "trainer" },
+ { "count": 6, "name": "Fighting Energy", "category": "energy" },
+ { "count": 1, "name": "Luminous Energy", "category": "energy" },
+ { "count": 1, "name": "Darkness Energy", "category": "energy" }
+ ]
+ }
+]
diff --git a/src/lib/components/desktop/Desktop.svelte b/src/lib/components/desktop/Desktop.svelte
index 8933664..9451b0e 100644
--- a/src/lib/components/desktop/Desktop.svelte
+++ b/src/lib/components/desktop/Desktop.svelte
@@ -8,6 +8,10 @@
import { imageFileName } from '#lib/desktop/imageViewer';
import { defaultFloatingRect, floatingStyle, moveRect, resizeRect } from '#lib/desktop/floating';
import SystemMonitor from '../btop/SystemMonitor.svelte';
+ import Snake from '../games/Snake.svelte';
+ import Breakout from '../games/Breakout.svelte';
+ import DesktopPet from '../pet/DesktopPet.svelte';
+ import TcgBrowser from '../tcg/TcgBrowser.svelte';
import DesktopIcons from './DesktopIcons.svelte';
import Window from './Window.svelte';
@@ -98,6 +102,10 @@
+ {#if !isNarrow}
+
+ {/if}
+
{#if pageOpen}
{@render children()}
@@ -141,6 +149,35 @@
{/each}
+
+ {#each windowManager.games as gameWindow (gameWindow.id)}
+ windowManager.closeWindow(gameWindow.id)}
+ >
+ {#if gameWindow.game === 'snake'}
+
+ {:else if gameWindow.game === 'breakout'}
+
+ {/if}
+
+ {/each}
+
+ {#each windowManager.tcgBrowsers as browser (browser.id)}
+ windowManager.closeWindow(browser.id)}
+ >
+
+
+ {/each}
+
diff --git a/src/lib/components/desktop/DesktopIcons.svelte b/src/lib/components/desktop/DesktopIcons.svelte
index 2892b96..7111235 100644
--- a/src/lib/components/desktop/DesktopIcons.svelte
+++ b/src/lib/components/desktop/DesktopIcons.svelte
@@ -1,23 +1,43 @@
-