From e073df59fd615c3a2e7baa3d01916a51338d1bfd Mon Sep 17 00:00:00 2001 From: dusk <y.bera003.06@protonmail.com> Date: Wed, 2 Apr 2025 12:32:12 +0300 Subject: [PATCH] feat: add cool stuff section --- src/routes/+page.server.ts | 44 ++++++++++++++++++------------------- src/routes/+page.svelte | 30 +++++++++++++++---------- src/routes/coolstuff.md | 12 ++++++++++ src/routes/lateststuff.md | 4 ++-- static/others/skylar.gif | Bin 0 -> 12060 bytes 5 files changed, 54 insertions(+), 36 deletions(-) create mode 100644 src/routes/coolstuff.md create mode 100644 static/others/skylar.gif diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index 4333997..cb6555b 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -1,25 +1,25 @@ -import { getLastPosts } from "$lib/bluesky.js" -import { getNowPlaying } from "$lib/lastfm" -import { getLastGame } from "$lib/steam" -import { noteFromBskyPost } from "../components/note.svelte" +import { getLastPosts } from '$lib/bluesky.js'; +import { getNowPlaying } from '$lib/lastfm'; +import { getLastGame } from '$lib/steam'; +import { noteFromBskyPost } from '../components/note.svelte'; -export const load = async ({}) => { - const lastTrack = getNowPlaying() - const lastGame = getLastGame() - const lastPosts = getLastPosts() - const lastNote = lastPosts.length > 0 ? noteFromBskyPost(lastPosts[0]) : null - let banners: number[] = [] - while (banners.length < 3) { - const no = getBannerNo(banners) - banners.push(no) - } - return {banners, lastTrack, lastGame, lastNote} -} +export const load = async () => { + const lastTrack = getNowPlaying(); + const lastGame = getLastGame(); + const lastPosts = getLastPosts(); + const lastNote = lastPosts.length > 0 ? noteFromBskyPost(lastPosts[0]) : null; + let banners: number[] = []; + while (banners.length < 3) { + const no = getBannerNo(banners); + banners.push(no); + } + return { banners, lastTrack, lastGame, lastNote }; +}; const getBannerNo = (others: number[]) => { - const no = Math.floor(Math.random() * 20) + 1 - if (others.includes(no)) { - return ((no + (Math.floor(Math.random() * 20))) % 20) + 1 - } - return no -}; \ No newline at end of file + const no = Math.floor(Math.random() * 20) + 1; + if (others.includes(no)) { + return ((no + Math.floor(Math.random() * 20)) % 20) + 1; + } + return no; +}; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 98b34ba..3571761 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -3,6 +3,7 @@ import Note from '../components/note.svelte'; import Window from '../components/window.svelte'; import LatestStuff from './lateststuff.md'; + import CoolStuff from './coolstuff.md'; import { renderDate, renderRelativeDate } from '$lib/dateFmt'; import Tooltip from '../components/tooltip.svelte'; @@ -15,13 +16,13 @@ </script> <div class="flex flex-col md:flex-row gap-4 md:gap-8 md:h-full h-card"> - <div class="flex flex-col gap-4 md:gap-8 ml-auto"> - <Window title="latest stuff" iconUri="/icons/msg_information.webp"> + <div class="flex flex-col gap-4 md:gap-8 ml-auto place-items-end"> + <Window title="stuff im doing.." iconUri="/icons/msg_information.webp"> <div class="prose prose-ralsei prose-img:m-0 leading-6"> <LatestStuff /> </div> </Window> - <Window style="md:ml-4" title="status" iconUri="/icons/msn.webp" removePadding> + <Window style="md:mr-4" title="status" iconUri="/icons/msn.webp" removePadding> {#if data.lastNote} <div class="m-1.5 flex flex-col font-monospace text-sm"> <p @@ -117,9 +118,14 @@ </div> {/if} </Window> + <Window title="cool stuff,,"> + <div class="max-w-[50ch] prose prose-ralsei prose-a:!animate-none prose-img:m-0 leading-snug"> + <CoolStuff /> + </div> + </Window> </div> - <div class="flex flex-col gap-4 md:gap-8 mr-auto w-full md:w-fit place-items-end"> - <Window style="md:mr-12" title="links!" iconUri="/icons/contact.webp"> + <div class="flex flex-col gap-4 md:gap-8 mr-auto w-full md:w-fit place-items-start"> + <Window title="links!" iconUri="/icons/contact.webp"> <div class="[width:40ch] prose prose-ralsei prose-ul:px-[0.9rem] prose-ul:leading-[1.1rem] prose-headings:leading-none" > @@ -172,7 +178,7 @@ </div> </div> </Window> - <Window title="readme?" iconUri="/icons/question.webp" removePadding> + <Window style="md:ml-2" title="readme?" iconUri="/icons/question.webp" removePadding> <div class="flex flex-col p-1.5 gap-1.5 prose prose-ralsei prose-img:m-0 leading-none"> <div class="flex flex-row gap-3 mx-auto bg-ralsei-black/20 overflow-hidden"> {#each data.banners as bannerNo, index} @@ -180,7 +186,7 @@ <img width="150" height="20" - title="banners from https://blinkies.cafe/" + title="banners from https://blinkies.cafe/ (refresh to get different ones! :3)" alt="banner" class=" {hideIfMobile ? 'hidden' : ''} sm:inline w-[150px] [height:20px] @@ -193,7 +199,7 @@ <div class="flex flex-grow"> <Tooltip> {#snippet tooltipContent()} - that's me! my angelsona :3c + that's me! my angelsona ^^ {/snippet} <div class="w-36 [padding:8px] place-content-center place-self-center bg-ralsei-black/20" @@ -215,14 +221,14 @@ <li class="[list-style-type:'->'] p-note"> <Tooltip x="translate-x-none" - y="translate-y-none" - targetX="group-hover:translate-x-[80%]" + y="-translate-y-[40%]" + targetX="group-hover:translate-x-[40%]" targetY="group-hover:-translate-y-[70%]" > {#snippet tooltipContent()} - angelrobotdollpuppything + angelrobotpuppydollthing {/snippet} - is a thing (it/they) + is a <i>thing</i> (it/they) </Tooltip> </li> <li class="[list-style-type:'->']"> diff --git a/src/routes/coolstuff.md b/src/routes/coolstuff.md new file mode 100644 index 0000000..3aa24d8 --- /dev/null +++ b/src/routes/coolstuff.md @@ -0,0 +1,12 @@ ++++ +layout = false ++++ + +<div class="flex flex-row gap-3 place-items-start"> + <a title="skyrina" href="https://skyrina.dev/"><img src="/others/skylar.gif" alt="skyrina"></a> + <a title="candlelitsmiles" href="https://candlelitsmiles.neocities.org"><img src="https://candlelitsmiles.neocities.org/candlebuttonone.png" alt="candlelitsmiles"></a> + <a title="indieweb" href="https://indieweb.org/"><img src="https://indieweb.org/images/9/91/indieweb88x31-retro-gif.gif" alt="indieweb"></a> +</div> + +<span class="text-sm">please send me your buttons or stuff to add !! ;3</span><br> +<span class="text-xs italic">last updated on: 02-04-2025</span> diff --git a/src/routes/lateststuff.md b/src/routes/lateststuff.md index 58b93a3..ca870dd 100644 --- a/src/routes/lateststuff.md +++ b/src/routes/lateststuff.md @@ -2,6 +2,6 @@ layout = false +++ -*last updated on: 19-02-2025* +currently working on a game under the name `packet.runner`, read some very WIP stuff about it [here](https://doc.gaze.systems/LsE08EU7QOSKm7xps_treA). -currently working on a game under the name `packet.runner`, read some very WIP stuff about it [here](https://doc.gaze.systems/LsE08EU7QOSKm7xps_treA). \ No newline at end of file +<span class="text-xs italic">last updated on: 19-02-2025</span> diff --git a/static/others/skylar.gif b/static/others/skylar.gif new file mode 100644 index 0000000000000000000000000000000000000000..14496a8d8a038943240353246c7f80452b71ad69 GIT binary patch literal 12060 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�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 literal 0 HcmV?d00001