2024-08-15 00:43:18 +03:00
|
|
|
<script lang="ts">
|
|
|
|
export let title: string;
|
|
|
|
export let iconUri: string = '';
|
2024-09-23 15:02:42 +03:00
|
|
|
|
|
|
|
const scaleKeyframes = ["window-open", "window-open-vertical", "window-open-horizontal"];
|
|
|
|
const chosenKeyframe = scaleKeyframes.at(Math.floor(Math.random() * 3))
|
2024-08-15 00:43:18 +03:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<div
|
|
|
|
class="
|
|
|
|
flex flex-col
|
2024-09-23 16:27:33 +03:00
|
|
|
max-w-screen-md xl:max-w-screen-lg 2xl:max-w-screen-xl min-w-[30ch] lg:min-w-[40ch] w-full md:w-fit [height:fit-content]
|
2024-08-15 00:43:18 +03:00
|
|
|
border-ralsei-white border-ridge border-8 border-t-[12px]
|
|
|
|
bg-ralsei-black
|
2024-09-23 15:02:42 +03:00
|
|
|
animate-{chosenKeyframe}
|
2024-08-15 00:43:18 +03:00
|
|
|
"
|
|
|
|
>
|
|
|
|
<div
|
|
|
|
class="
|
|
|
|
p-1 border-ralsei-white border-8
|
2024-09-18 18:18:00 +03:00
|
|
|
bg-gradient-to-l from-ralsei-pink-neon to-ralsei-black to-75%
|
2024-08-15 00:43:18 +03:00
|
|
|
"
|
|
|
|
style="border-style: hidden hidden ridge hidden;"
|
|
|
|
>
|
2024-09-18 18:18:00 +03:00
|
|
|
<div class="flex bg-opacity-100 pixelate-bg">
|
|
|
|
<h1
|
|
|
|
class="font-monospace text-xl text-ralsei-pink-regular grow justify-self-start self-center"
|
|
|
|
>
|
|
|
|
{title}
|
|
|
|
</h1>
|
|
|
|
{#if iconUri !== ''}
|
|
|
|
<img
|
|
|
|
class="justify-self-end self-center max-h-7"
|
|
|
|
style="image-rendering: pixelated;"
|
|
|
|
src={iconUri}
|
|
|
|
alt={iconUri}
|
|
|
|
/>
|
|
|
|
{/if}
|
|
|
|
</div>
|
2024-08-15 00:43:18 +03:00
|
|
|
</div>
|
|
|
|
<div class="p-2 bg-gradient-to-tl to-ralsei-pink-neon/15 from-ralsei-pink-regular/20">
|
2024-09-19 13:17:29 +03:00
|
|
|
<slot />
|
2024-08-15 00:43:18 +03:00
|
|
|
</div>
|
|
|
|
</div>
|