From ff558b3f9737c0419f54ef8e9e15606be9e6b4cf Mon Sep 17 00:00:00 2001
From: dusk
Date: Sat, 22 Feb 2025 12:50:34 +0300
Subject: [PATCH] chore: migrate to svelte 5
---
bun.lockb | Bin 188952 -> 187240 bytes
package.json | 6 ++--
src/components/_window_layout.svelte | 18 +++++++---
src/components/navButton.svelte | 17 +++++++---
src/components/note.svelte | 19 ++++++++---
src/components/token.svelte | 23 +++++++++----
src/components/tooltip.svelte | 25 ++++++++++----
src/components/window.svelte | 47 ++++++++++++++++++---------
src/routes/+layout.svelte | 39 +++++++++++++---------
src/routes/+page.svelte | 14 +++++---
src/routes/about/_layout.svelte | 9 +++--
src/routes/entries/+page.svelte | 6 +++-
src/routes/entries/_layout.svelte | 20 +++++++++---
src/routes/guestbook/+page.svelte | 10 ++++--
src/routes/log/+page.svelte | 8 +++--
15 files changed, 184 insertions(+), 77 deletions(-)
diff --git a/bun.lockb b/bun.lockb
index 08765001a4456d3c11dd32a737d7446e9dba6266..d074b4bb043b305475b96cbc8ca3e81d65f51a3a 100755
GIT binary patch
delta 10535
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
delta 12124
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
-
+ {@render children?.()}
\ No newline at end of file
diff --git a/src/components/navButton.svelte b/src/components/navButton.svelte
index 1f1c07e..703ec46 100644
--- a/src/components/navButton.svelte
+++ b/src/components/navButton.svelte
@@ -1,8 +1,17 @@
+
- Hello world!
+ {#if tooltipContent}{@render tooltipContent()}{:else}Hello world!{/if}
-
+ {@render children?.()}
\ No newline at end of file
diff --git a/src/components/window.svelte b/src/components/window.svelte
index d25dce2..13791a9 100644
--- a/src/components/window.svelte
+++ b/src/components/window.svelte
@@ -2,16 +2,33 @@
import { highestZIndex, isMobile } from '$lib/window.ts';
import { draggable } from '@neodrag/svelte';
- export let title: string | undefined = undefined;
- export let iconUri: string = '';
- export let id: string = '';
- export let sticky: boolean = false;
- export let entry: boolean = false;
- export let removePadding: boolean = false;
- export let center: boolean = false;
- export let layered: boolean = false;
- export let style: string = "";
- export let tooltip: boolean = false;
+ interface Props {
+ title?: string | undefined;
+ iconUri?: string;
+ id?: string;
+ sticky?: boolean;
+ entry?: boolean;
+ removePadding?: boolean;
+ center?: boolean;
+ layered?: boolean;
+ style?: string;
+ tooltip?: boolean;
+ children?: import('svelte').Snippet;
+ }
+
+ let {
+ title = undefined,
+ iconUri = '',
+ id = '',
+ sticky = false,
+ entry = false,
+ removePadding = false,
+ center = false,
+ layered = false,
+ style = "",
+ tooltip = false,
+ children
+ }: Props = $props();
const scaleKeyframes = [
"window-open",
@@ -24,7 +41,7 @@
"window-open-move-left",
"window-open-move-right",
];
- $: chosenKeyframe = scaleKeyframes.at(Math.floor(Math.random() * scaleKeyframes.length))
+ let chosenKeyframe = $derived(scaleKeyframes.at(Math.floor(Math.random() * scaleKeyframes.length)))
const isOnMobile = isMobile()
const _draggable = isOnMobile ? () => {} : draggable;
@@ -35,8 +52,8 @@
}
-
-
+
+
{focusWindow(data.currentNode)},
}}
- on:click={(data) => {focusWindow(data.currentTarget)}}
+ onclick={(data) => {focusWindow(data.currentTarget)}}
class="
relative {layered ? "col-[1] row-[1]" : ""} flex flex-col {sticky ? 'md:sticky md:-top-9' : ''} {center ? "mx-auto" : ""}
max-w-screen-md xl:max-w-screen-lg 2xl:max-w-screen-xl {tooltip ? "min-w-fit" : "min-w-[30ch] lg:min-w-[40ch]"} w-full md:w-fit [height:fit-content]
@@ -87,6 +104,6 @@
{removePadding ? "" : tooltip ? "p-1" : "p-2"} bg-gradient-to-tl
to-ralsei-pink-neon/15 from-ralsei-pink-regular/20
">
-
+ {@render children?.()}
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index c5eae1d..f9ef313 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -4,7 +4,12 @@
import Tooltip from '../components/tooltip.svelte';
import '../styles/app.css';
- export let data;
+ interface Props {
+ data: any;
+ children?: import('svelte').Snippet;
+ }
+
+ let { data, children }: Props = $props();
interface MenuItem {
href: string;
@@ -19,9 +24,9 @@
{ href: 'about', name: 'about', iconUri: '/icons/about.webp' }
];
- $: routeComponents = data.route.split('/');
- $: doAddPostItem = routeComponents.length > 3 && routeComponents[1] === 'entries';
- $: isRoute = (_route: string) => {
+ let routeComponents = $derived(data.route.split('/'));
+ let doAddPostItem = $derived(routeComponents.length > 3 && routeComponents[1] === 'entries');
+ let isRoute = $derived((_route: string) => {
if (doAddPostItem) {
if (_route === 'entries') {
return false;
@@ -30,9 +35,9 @@
}
}
return _route === routeComponents[1];
- };
+ });
- $: title = getTitle(data.route);
+ let title = $derived(getTitle(data.route));
const svgSquiggles = [[2], [3], [2], [3], [1]];
@@ -49,13 +54,13 @@
app-grid-background motion-safe:app-grid-background-anim
fixed -z-10 w-full [height:100%] top-0 left-0
"
-/>
+>
+>
-
+ {@render children?.()}
@@ -150,19 +155,21 @@
{/if}
{/each}
-
+
-
-
- total visits = {data.visitCount.toString().padStart(9, ".")}
- uniq recent visits = {data.lastVisitors.size.toString().padStart(3, ".")}
-
-
+ {#snippet tooltipContent()}
+
+
+ total visits = {data.visitCount.toString().padStart(9, ".")}
+ uniq recent visits = {data.lastVisitors.size.toString().padStart(3, ".")}
+
+
+ {/snippet}
{data.recentVisitCount} recent clicks
{#if isRoute("entries") || isRoute("log")}
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index c31f033..def4f40 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -5,7 +5,11 @@
import Window from '../components/window.svelte';
import LatestStuff from './lateststuff.md';
- export let data;
+ interface Props {
+ data: any;
+ }
+
+ let { data }: Props = $props();
const renderDate = (timestamp: number) => {
return (new Date(timestamp)).toLocaleString("en-GB", {
@@ -81,7 +85,7 @@
>
-
+
-
+
{#if data.lastTrack.image}
-
+
{data.lastGame.name}
-
+
-
+ {@render children?.()}
diff --git a/src/routes/entries/+page.svelte b/src/routes/entries/+page.svelte
index ab93852..ff53734 100644
--- a/src/routes/entries/+page.svelte
+++ b/src/routes/entries/+page.svelte
@@ -3,7 +3,11 @@
import type { PostData } from './+layout.server.js';
import LogPage from '../log/+page.svelte';
- export let data;
+ interface Props {
+ data: any;
+ }
+
+ let { data }: Props = $props();
let posts: PostData[] = data.posts as PostData[];
diff --git a/src/routes/entries/_layout.svelte b/src/routes/entries/_layout.svelte
index 264ba4b..cb1a3be 100644
--- a/src/routes/entries/_layout.svelte
+++ b/src/routes/entries/_layout.svelte
@@ -4,11 +4,21 @@
import '../../styles/app.css';
import { page } from '$app/stores';
- export let title;
- export let date;
- export let excerpt;
+ interface Props {
+ title: any;
+ date: any;
+ excerpt: any;
+ children?: import('svelte').Snippet;
+ }
- $: showMetadata = excerpt !== undefined && excerpt !== null;
+ let {
+ title,
+ date,
+ excerpt,
+ children
+ }: Props = $props();
+
+ let showMetadata = $derived(excerpt !== undefined && excerpt !== null);
@@ -20,7 +30,7 @@
-
+ {@render children?.()}
{#if showMetadata}
diff --git a/src/routes/guestbook/+page.svelte b/src/routes/guestbook/+page.svelte
index 9e9030f..dd55fd9 100644
--- a/src/routes/guestbook/+page.svelte
+++ b/src/routes/guestbook/+page.svelte
@@ -3,7 +3,11 @@
import Token from '../../components/token.svelte';
import Window from '../../components/window.svelte';
- export let data;
+ interface Props {
+ data: any;
+ }
+
+ let { data }: Props = $props();
function resetEntriesAnimation() {
var el = document.getElementById('guestbookentries');
@@ -30,7 +34,7 @@
placeholder="say meow!"
maxlength="300"
required
- />
+ >
{#if index < data.entries.length - 1}
-
+
{/if}
{/each}
diff --git a/src/routes/log/+page.svelte b/src/routes/log/+page.svelte
index 19209ef..7e6cb0f 100644
--- a/src/routes/log/+page.svelte
+++ b/src/routes/log/+page.svelte
@@ -3,7 +3,11 @@
import Token from '../../components/token.svelte';
import Note from '../../components/note.svelte';
- export let data;
+ interface Props {
+ data: any;
+ }
+
+ let { data }: Props = $props();
@@ -25,7 +29,7 @@
{#each data.feedPosts as note, index}
{#if index < data.feedPosts.length - 1}
-
+
{/if}
{/each}