The code for darkworld.download darkworld.download

chore: rewrite

kris.darkworld.download 563b93bf f2e6620d

verified
+106 -122
+1 -1
src/components/DevStateWrench.astro
··· 25 25 panel.style.backdropFilter = "blur(3px)"; 26 26 27 27 const title = document.createElement("div"); 28 - title.textContent = "state debug"; 28 + title.textContent = "atproto debugger"; 29 29 title.style.fontSize = "12px"; 30 30 title.style.letterSpacing = "0.08em"; 31 31 title.style.marginBottom = "6px";
+44
src/components/home/ButtonList88x31.astro
··· 1 + --- 2 + type Button88x31 = { 3 + img: string; 4 + title: string; 5 + url?: string; 6 + }; 7 + 8 + type Props = { 9 + buttons: Button88x31[]; 10 + }; 11 + 12 + const { buttons } = Astro.props as Props; 13 + --- 14 + 15 + <section class="flex flex-col gap-3"> 16 + <ul class="flex flex-wrap gap-2"> 17 + { 18 + buttons.map((button) => ( 19 + <li> 20 + <a href={button.url ?? null} title={button.title} aria-label={button.title} class="group relative block h-[31px] w-[88px]"> 21 + <img 22 + src={`/assets/88x31/${button.img}`} 23 + alt={button.title} 24 + aria-hidden 25 + width={88} 26 + height={31} 27 + class="absolute inset-0 opacity-0" 28 + style={{ imageRendering: "pixelated" }} 29 + /> 30 + <img 31 + src={`/assets/88x31/${button.img}`} 32 + alt={""} 33 + aria-hidden 34 + width={88} 35 + height={31} 36 + class="transition-transform group-hover:-translate-y-16 group-hover:scale-200" 37 + style={{ imageRendering: "pixelated" }} 38 + /> 39 + </a> 40 + </li> 41 + )) 42 + } 43 + </ul> 44 + </section>
+14
src/components/home/Footer.astro
··· 1 + --- 2 + import SectionBlock from "@/components/home/SectionBlock.astro"; 3 + import { ATTRIBUTION_COPYRIGHT_NOTICE } from "@/content/attribution"; 4 + --- 5 + 6 + <SectionBlock> 7 + <div class="flex flex-col gap-3"> 8 + <p class="text-lg antialiased"> 9 + <a href="https://tangled.org/kris.darkworld.download/darkworld" class="underline">source</a> 10 + <a href="https://pdsls.dev/at://did:plc:s7cesz7cr6ybltaryy4meb6y/download.darkworld.state/self" class="underline">state</a> 11 + </p> 12 + <p class="text-xs whitespace-pre-wrap font-[Comic_Sans_MS,sans] text-gray-500">{ATTRIBUTION_COPYRIGHT_NOTICE}</p> 13 + </div> 14 + </SectionBlock>
+7
src/components/home/HomePageShell.astro
··· 1 + <div class="min-h-screen bg-black px-3 py-3 text-white"> 2 + <main class="mx-auto w-full max-w-5xl py-14"> 3 + <div class="flex flex-col gap-4"> 4 + <slot /> 5 + </div> 6 + </main> 7 + </div>
+3
src/components/home/SectionBlock.astro
··· 1 + <section class="flex flex-col gap-4"> 2 + <slot /> 3 + </section>
+9
src/components/home/Socials.astro
··· 1 + <section class="-mt-8"> 2 + <p>social??</p> 3 + <ul class="list-disc pl-6 leading-relaxed"> 4 + <li> <b>atproto:</b> @kris.darkworld.download </li> 5 + <li> <b>discord:</b> <a href="https://discord.com/users/486147449703104523" class="underline">he does not exist</a> <span class="text-white/1">d̴̛̮͈̙̠̫̽͋̾͒͒̀̅̊̈͑̇̃̇̎́͗͌̊̐̈͛͑̐͗̌̄̈́͌́̑̈́͆͊͌͘͘̕͝ͅͅí̷̧̫͈̤͖̲̿̏̐͂̏̀̈̀͘̚͠s̷̢̨̡̢͓̥̺̗̠͕̱͉͉̳͈͉͍͇͇͓͈̥̱̮̬̭̦̩̳͓̦͓͉̻̈́͛̑͂̈́̾̔̀͒̆͋̋́̿̌̈́͛͒̑͋̈̄̍͜͝͝͠ͅͅc̸̖̗̰̪͇͉͔̱̰̦̯̖̹̤̜͈͚͈͎̦̮̤̻͔̜̻͙̱͎̗̥̺͇̦̖̲̐͑̕͜͜ö̶͖̳̺̣̫̣̞̲̘͉̈́̃̊͆̆̑̔̓͋̈́̒̈́̇̌͑̽̐͌́͛́̃̐̚̕̕̚͝͠͠͝ŗ̷̢̛̘̬̻̜̤̰̳̰͕͎̭̺͍̦͚̘̘̯͐̈́̊̿͐̔̍̓̆̇͗̇̐͒̀̇̔̔̄͛̆̒͋́̑̽̿̊̍͒̃͘̚͘͜͝͠͝d̷̹̙͆̿̿̈́̓̍́̀̃͌͒̒̽̾́̎̎́̈̂̈́͛̋͌͑̇̈́̐̑̂̚͘͠͝</span> </li> 6 + <li> <b>✉️:</b> echo a3Jpc0BkYXJrd29ybGQuZG93bmxvYWQK | base64 -d </li> 7 + 8 + </ul> 9 + </section>
+4 -4
src/content/buttons88x31.ts
··· 1 1 export type Button88x31 = { 2 2 title: string; 3 - url: string; 3 + url?: string; 4 4 img: string; 5 5 }; 6 6 7 - function btn(title: string, website: string, img: string): Button88x31 { 7 + function btn(title: string, website: string | undefined, img: string): Button88x31 { 8 8 return { 9 9 title, 10 10 url: website, ··· 12 12 }; 13 13 } 14 14 15 - export const our88x31s: Button88x31[] = [btn("Kris", "#", "kris.png")]; 15 + export const our88x31s: Button88x31[] = [btn("Kris", undefined, "kris.png")]; 16 16 17 17 export const friends88x31s: Button88x31[] = [ 18 18 // btn("Fynn", "https://fynn.pet", "fynn.png") // soon 19 19 ]; 20 20 21 - export const general88x31s: Button88x31[] = [btn("Kris, where the fuck are we?", "#", "kriswheretfarewe.png")]; 21 + export const general88x31s: Button88x31[] = [btn("Kris, where the fuck are we?", undefined, "kriswheretfarewe.png")];
+24 -117
src/pages/index.astro
··· 1 1 --- 2 - export const prerender = false; 2 + export const prerender = true; 3 3 4 - import GasterClicker from "../components/GasterClicker.tsx"; 5 - import ProphecyPanel from "../components/ProphecyPanel.astro"; 6 4 import DevStateWrench from "../components/DevStateWrench.astro"; 7 5 import BaseLayout from "../layouts/BaseLayout.astro"; 8 - import ColoredTitle from "../components/ColoredTitle.astro"; 9 - import { friends88x31s, general88x31s, our88x31s } from "../lib/88x31"; 10 - import { ATTRIBUTION_COPYRIGHT_NOTICE } from "../lib/DO_NOT_DELETE"; 11 6 import { getState, primeState } from "../lib/currentStateSync"; 12 7 import { getTheProphecy } from "../content/prophecy"; 13 8 9 + import HomePageShell from "@/components/home/HomePageShell.astro"; 10 + import Footer from "@/components/home/Footer.astro"; 11 + import Socials from "@/components/home/Socials.astro"; 12 + import ColoredTitle from "@/components/ColoredTitle.astro"; 13 + import ButtonList88X31 from "@/components/home/ButtonList88x31.astro"; 14 + import { friends88x31s, general88x31s, our88x31s } from "@/content/buttons88x31"; 15 + import ProphecyPanel from "@/components/ProphecyPanel.astro"; 16 + 14 17 await primeState(); 15 18 16 19 const state = getState(); 17 20 const heroProphecy = getTheProphecy(state).krisOrSusie; 18 - 19 - const introText = `i am the other kris, not the one from deltarune! 20 - 21 - However, you could probably guess my favorite character, and if it were to be Kris, you'd be right... 22 - In the meantime... check out this site! 23 - 24 - /** TODO: fix this */ 25 - <FunGang /> 26 - <img src="/assets/dancing-kris.gif" />`; 27 - 28 - const comms = [ 29 - { 30 - label: "bluesky", 31 - href: "https://bsky.app/profile/did:plc:s7cesz7cr6ybltaryy4meb6y", 32 - }, 33 - { 34 - label: "discord", 35 - href: "https://discord.com/users/486147449703104523", 36 - }, 37 - ]; 38 21 --- 39 22 40 23 <BaseLayout> 41 - <div class="min-h-screen bg-black px-3 py-3 text-white"> 42 - <div class="mx-auto flex w-full max-w-5xl flex-col gap-3 py-16"> 43 - <ColoredTitle> 44 - hi, i'm kris 45 - </ColoredTitle> 46 - <p class="whitespace-pre-wrap">{introText}</p> 47 - 48 - <main class="flex flex-col gap-3"> 49 - <div class="h-8" /> 50 - <ProphecyPanel {...heroProphecy} /> 51 - <GasterClicker client:load /> 52 - <section aria-label="comms"> 53 - <h2>Comms</h2> 54 - <ul class="mt-3 list-disc pl-6"> 55 - { 56 - comms.map((link) => ( 57 - <li> 58 - <a class="underline" href={link.href} target="_blank" rel="noreferrer"> 59 - {link.label} 60 - </a> 61 - </li> 62 - )) 63 - } 64 - <li> 65 - email: <code>echo a3Jpc0BkYXJrd29ybGQuZG93bmxvYWQK | base64 -d</code> 66 - </li> 67 - </ul> 68 - </section> 69 - </main> 70 - 71 - <footer> 72 - <h3>Friends!!</h3> 73 - <ul class="mt-3 flex flex-wrap gap-2"> 74 - { 75 - friends88x31s.map((button) => ( 76 - <li> 77 - <a href={button.url} title={button.title} class="group w-[88px] h-[31px]"> 78 - <img 79 - src={`/assets/88x31/${button.img}`} 80 - alt={button.title} 81 - width={88} 82 - height={31} 83 - class="absolute transition-opacity group-hover:opacity-25" 84 - style={{ imageRendering: "pixelated" }} 85 - /> 86 - <img 87 - src={`/assets/88x31/${button.img}`} 88 - alt={button.title} 89 - width={88} 90 - height={31} 91 - class="transition-transform group-hover:-translate-y-16 group-hover:scale-200" 92 - style={{ imageRendering: "pixelated" }} 93 - /> 94 - </a> 95 - </li> 96 - )) 97 - } 98 - </ul> 99 - <h3>Buttons!</h3> 100 - <ul class="mt-3 flex flex-wrap gap-2"> 101 - { 102 - [...our88x31s, ...general88x31s].map((button) => ( 103 - <li> 104 - <a href={button.url} title={button.title} class="group w-[88px] h-[31px]"> 105 - <img 106 - src={`/assets/88x31/${button.img}`} 107 - alt={button.title} 108 - width={88} 109 - height={31} 110 - class="absolute transition-opacity group-hover:opacity-25" 111 - style={{ imageRendering: "pixelated" }} 112 - /> 113 - <img 114 - src={`/assets/88x31/${button.img}`} 115 - alt={button.title} 116 - width={88} 117 - height={31} 118 - class="transition-transform group-hover:-translate-y-16 group-hover:scale-200" 119 - style={{ imageRendering: "pixelated" }} 120 - /> 121 - </a> 122 - </li> 123 - )) 124 - } 125 - </ul> 126 - <p class="text-lg antialiased pt-6"> 127 - <a href="https://tangled.org/kris.darkworld.download/darkworld" class="underline">source</a> 128 - </p> 129 - <p class="text-xs font-[Comic_Sans_MS,sans] whitespace-pre-wrap" style={{ color: "gray" }}>{ATTRIBUTION_COPYRIGHT_NOTICE}</p> 130 - </footer> 24 + <HomePageShell> 25 + <ColoredTitle> 26 + hi, i'm kris 27 + </ColoredTitle> 28 + <p class="max-w-3xl whitespace-pre-wrap -mt-6"> 29 + &gt; {`u could prob guess my fav char.. check out my cool site tho..`.replaceAll("\t","")} 30 + <span class="text-red-600/25">i am not the kris from deltarune</span> 31 + </p> 32 + <div class="py-4 gap-4"> 33 + <ProphecyPanel {...heroProphecy} /> 34 + <hr style="color: #333333" class="py-8"/> 35 + <Socials /> 131 36 </div> 132 - </div> 37 + <ButtonList88X31 buttons={[...our88x31s, ...general88x31s, ...friends88x31s]} /> 38 + <Footer /> 39 + </HomePageShell> 133 40 {import.meta.env.DEV && <DevStateWrench />} 134 41 </BaseLayout>