wall of fame, improve performance
|
@ -6,8 +6,8 @@
|
||||||
let developers = [
|
let developers = [
|
||||||
['Fufexan', 'Core Developer', 'cyan', 'https://github.com/fufexan'],
|
['Fufexan', 'Core Developer', 'cyan', 'https://github.com/fufexan'],
|
||||||
['NotAShelf', 'Core Member', 'teal', 'https://github.com/NotAShelf'],
|
['NotAShelf', 'Core Member', 'teal', 'https://github.com/NotAShelf'],
|
||||||
['VDawg', 'Webdesign-and dev', 'green', 'https://github.com/Visual-Dawg'],
|
['VDawg', 'Webdesign-and dev', 'emerald', 'https://github.com/Visual-Dawg'],
|
||||||
['System-x64', 'Webdev', 'lime', 'https://github.com/System-x64']
|
['System-x64', 'Webdev', 'green', 'https://github.com/System-x64']
|
||||||
]
|
]
|
||||||
function createRole(role, color) {
|
function createRole(role, color) {
|
||||||
return `<span class='text-${color}-500'><span class='text-${color}-600'>[ </span>${role}<span class='text-${color}-600'> ]</span></span>`
|
return `<span class='text-${color}-500'><span class='text-${color}-600'>[ </span>${role}<span class='text-${color}-600'> ]</span></span>`
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
{/each}
|
{/each}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/hyprwm/Hyprland/graphs/contributors" target="_blank"
|
<a href="https://github.com/hyprwm/Hyprland/graphs/contributors" target="_blank"
|
||||||
>and our <span class="text-indigo-400">fellow contributors</span></a
|
>and our <span class="text-indigo-500">fellow contributors</span></a
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
BIN
src/lib/images/community-bg.png
Executable file
After Width: | Height: | Size: 1.1 MiB |
BIN
src/lib/images/features/config default.png
Executable file
After Width: | Height: | Size: 160 KiB |
BIN
src/lib/images/features/config hover.png
Executable file
After Width: | Height: | Size: 169 KiB |
BIN
src/lib/images/features/tiling_default.png
Executable file
After Width: | Height: | Size: 138 KiB |
BIN
src/lib/images/features/tiling_hover.png
Executable file
After Width: | Height: | Size: 163 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 2.1 MiB |
|
@ -9,6 +9,7 @@
|
||||||
import { animateIn } from '$lib/Helper.mjs'
|
import { animateIn } from '$lib/Helper.mjs'
|
||||||
import { setContext } from 'svelte'
|
import { setContext } from 'svelte'
|
||||||
import Title from '$lib/components/Title.svelte'
|
import Title from '$lib/components/Title.svelte'
|
||||||
|
import background from '$lib/images/community-bg.png'
|
||||||
|
|
||||||
let sectionElement
|
let sectionElement
|
||||||
let isDraggingChan = false
|
let isDraggingChan = false
|
||||||
|
@ -174,7 +175,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<section
|
<section
|
||||||
class="relative flex flex-col items-center w-screen overflow-hidden min-h-max h-[1100px] -mb-[200px] max-w-[100vw]"
|
class="relative flex flex-col items-center w-screen min-h-max h-[1100px] -mb-[200px]"
|
||||||
bind:this={sectionElement}
|
bind:this={sectionElement}
|
||||||
>
|
>
|
||||||
<Title>
|
<Title>
|
||||||
|
@ -211,23 +212,8 @@
|
||||||
/>
|
/>
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<!-- Background color blobs -->
|
|
||||||
<div
|
|
||||||
class="_bg-color bg-yellow-500 top-[146px] right-[17px] w-[359px] h-[207px] opacity-20"
|
|
||||||
/>
|
|
||||||
<div class="_bg-color bg-orange-500 top-[411px] right-0 w-[400px] h-[300px] opacity-30" />
|
|
||||||
<div
|
|
||||||
class="_bg-color bg-purple-500 opacity-30 w-[321px] h-[295px] top-[209px] left-[368px]"
|
|
||||||
/>
|
|
||||||
<div class="_bg-color bg-cyan-500 opacity-30 w-[363px] h-[250px] left-[402px] top-[462px]" />
|
|
||||||
<div class="_bg-color bg-red-500 opacity-30 w-[323px] h-[482px] left-[53px] top-[179px]" />
|
|
||||||
<div
|
|
||||||
class="_bg-color bg-fuchsia-500 opacity-30 w-[243px] h-[167px] left-[135px] top-[596px]"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<img src={background} class="absolute top-0 w-[1400px] -z-10" alt="" aria-hidden="true" />
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<style lang="postcss">
|
<style lang="postcss">
|
||||||
|
@ -252,13 +238,4 @@
|
||||||
transition: scale 80ms;
|
transition: scale 80ms;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
._bg-color {
|
|
||||||
position: absolute;
|
|
||||||
pointer-events: none;
|
|
||||||
filter: blur(80px);
|
|
||||||
border-radius: 50%;
|
|
||||||
z-index: -50;
|
|
||||||
contain: strict;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -8,10 +8,14 @@
|
||||||
import { writable } from 'svelte/store'
|
import { writable } from 'svelte/store'
|
||||||
import PluginsIcon from '~icons/gg/arrange-back'
|
import PluginsIcon from '~icons/gg/arrange-back'
|
||||||
import ShortcutsIcon from '~icons/gg/push-chevron-right-o'
|
import ShortcutsIcon from '~icons/gg/push-chevron-right-o'
|
||||||
import BleedingEdgeIcon from '~icons/gg/controller'
|
import TouchpadIcon from '~icons/gg/touchpad'
|
||||||
import Title from '$lib/components/Title.svelte'
|
import Title from '$lib/components/Title.svelte'
|
||||||
import Hypractive from './Hypractive.svelte'
|
import Hypractive from './Hypractive.svelte'
|
||||||
import { getIsMobile } from '$lib/Helper.mjs'
|
import { getIsMobile } from '$lib/Helper.mjs'
|
||||||
|
import configDefaultImage from '$lib/images/features/config default.png'
|
||||||
|
import tileDefaultImage from '$lib/images/features/tiling_default.png'
|
||||||
|
import configHoverImage from '$lib/images/features/config hover.png'
|
||||||
|
import tileHoverImage from '$lib/images/features/tiling_hover.png'
|
||||||
|
|
||||||
let isMobile = false
|
let isMobile = false
|
||||||
|
|
||||||
|
@ -67,10 +71,9 @@
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="absolute _wrapper inset-0 select-none" aria-hidden>
|
<div class="absolute _wrapper inset-0 select-none" aria-hidden>
|
||||||
<div
|
<div class="feature-image">
|
||||||
class="absolute text-[440px] -bottom-10 text-slate-500 _configure -right-40 md:right-0 font-mono"
|
<img src={configDefaultImage} class="config-default" alt="" aria-hidden="true" />
|
||||||
>
|
<img src={configHoverImage} class="config-hover" alt="" aria-hidden="true" />
|
||||||
{'<>'}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</FeatureCard>
|
</FeatureCard>
|
||||||
|
@ -79,10 +82,9 @@
|
||||||
Automatic tiling which just works. Supports multiple fine-tuneable layouts.
|
Automatic tiling which just works. Supports multiple fine-tuneable layouts.
|
||||||
</p>
|
</p>
|
||||||
<div class="absolute _wrapper inset-0 select-none" aria-hidden>
|
<div class="absolute _wrapper inset-0 select-none" aria-hidden>
|
||||||
<div
|
<div class="feature-image">
|
||||||
class="absolute text-[280px] text-slate-500 font-extrabold gap-y-4 [line-height:1] -z-10 bottom-[20px] tiling right-0 md:right-8 font-mono tiles"
|
<img src={tileDefaultImage} class="config-default" alt="" aria-hidden="true" />
|
||||||
>
|
<img src={tileHoverImage} class="config-hover" alt="" aria-hidden="true" />
|
||||||
<div class="tile" style={''}>[ ]</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</FeatureCard>
|
</FeatureCard>
|
||||||
|
@ -106,9 +108,12 @@
|
||||||
<ShortcutsIcon class="h-8 w-8" />
|
<ShortcutsIcon class="h-8 w-8" />
|
||||||
Global shortcuts for apps
|
Global shortcuts for apps
|
||||||
</a>
|
</a>
|
||||||
<div class="icon-feature">
|
<a
|
||||||
<BleedingEdgeIcon class="h-8 w-8" />Bleeding edge tech
|
href="https://wiki.hyprland.org/Configuring/Variables/#gestures"
|
||||||
</div>
|
class="icon-feature hover:underline"
|
||||||
|
>
|
||||||
|
<TouchpadIcon class="h-8 w-8" />Touchpad gestures
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -117,69 +122,31 @@
|
||||||
@apply flex items-center justify-center gap-3 font-bold text-slate-400;
|
@apply flex items-center justify-center gap-3 font-bold text-slate-400;
|
||||||
}
|
}
|
||||||
|
|
||||||
._configure {
|
.feature-image {
|
||||||
@apply bg-gradient-to-tl from-pink-500 to-blue-500 bg-clip-text text-blue-700;
|
position: absolute;
|
||||||
line-height: 1;
|
inset: 0 0 0 0;
|
||||||
z-index: -1;
|
opacity: 0.5;
|
||||||
transition: all 850ms ease-in-out;
|
|
||||||
color: rgb(255, 121, 170);
|
|
||||||
opacity: 0.4;
|
|
||||||
color: transparent;
|
|
||||||
text-shadow:
|
|
||||||
10px -10px 40px theme(colors.pink.700 / 20),
|
|
||||||
5px 5px 20px cyan,
|
|
||||||
-10px 10px 40px theme(colors.blue.700 / 20);
|
|
||||||
filter: saturate(2) drop-shadow(8px 8px 20px theme(colors.pink.700))
|
|
||||||
drop-shadow(-8px -8px 20px theme(colors.blue.700));
|
|
||||||
|
|
||||||
._wrapper:hover & {
|
& img {
|
||||||
color: transparent;
|
width: 800px;
|
||||||
opacity: 0.6;
|
height: 800px;
|
||||||
filter: saturate(2) drop-shadow(8px 8px 12px theme(colors.pink.700))
|
position: absolute;
|
||||||
drop-shadow(-8px -8px 12px theme(colors.blue.700));
|
right: -200px;
|
||||||
text-shadow:
|
top: -209px;
|
||||||
15px -15px 40px theme(colors.pink.700 / 80),
|
transition: opacity 1500ms ease-in-out;
|
||||||
8px 8px 20px cyan,
|
pointer-events: none;
|
||||||
-15px 15px 40px theme(colors.blue.700 / 40);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.config-hover {
|
||||||
.tile {
|
opacity: 0;
|
||||||
/* Animate a pulse animation for the glow effect */
|
|
||||||
/* Use different colors for the different windows */
|
|
||||||
background: radial-gradient(ellipse, var(--color1, cyan) 50%, var(--color2, magenta));
|
|
||||||
background-clip: text;
|
|
||||||
color: transparent;
|
|
||||||
letter-spacing: -55px;
|
|
||||||
text-shadow:
|
|
||||||
-5px 5px 8px color-mix(in srgb, var(--color1, magenta), transparent 90%),
|
|
||||||
5px -5px 8px color-mix(in srgb, color-mix(in srgb, var(--color1, rgb(0, 187, 255)), black 20%), transparent
|
|
||||||
10%),
|
|
||||||
0px 0px 15px var(--color2, magenta);
|
|
||||||
|
|
||||||
filter: saturate(1) drop-shadow(8px 8px 24px var(--color2, blue))
|
|
||||||
drop-shadow(
|
|
||||||
-8px -8px 24px color-mix(in srgb, var(--color1, rgb(0, 187, 255)), rgba(0, 0, 0, 0.056) 80%)
|
|
||||||
);
|
|
||||||
opacity: 0.4;
|
|
||||||
transition: all 850ms ease-in-out;
|
|
||||||
|
|
||||||
._wrapper:hover & {
|
|
||||||
opacity: 0.7;
|
|
||||||
text-shadow:
|
|
||||||
-15px 15px 0px color-mix(in srgb, var(--color1, cyan), transparent 60%),
|
|
||||||
15px -15px 8px color-mix(in srgb, color-mix(in srgb, var(--colo1r, magenta), rgb(0, 0, 111)
|
|
||||||
50%), transparent 30%),
|
|
||||||
0px 0px 15px var(--color2, magenta);
|
|
||||||
|
|
||||||
filter: saturate(2) drop-shadow(8px 8px 24px var(--color2, blue))
|
|
||||||
drop-shadow(
|
|
||||||
-8px -8px 24px color-mix(in srgb, var(--color1, magenta), rgba(0, 0, 0, 0.056) 20%)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
._wrapper:hover {
|
||||||
|
& .config-default {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
& .config-hover {
|
||||||
|
opacity: 1 !important;
|
||||||
|
filter: saturate(1.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tiles {
|
|
||||||
filter: drop-shadow(0px 0px 5px rgb(0, 191, 255));
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -11,6 +11,8 @@
|
||||||
function toggleExpanded() {
|
function toggleExpanded() {
|
||||||
isExpanded = !isExpanded
|
isExpanded = !isExpanded
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! TODO close mobile menu on navigation
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<header
|
<header
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
let isMuted = true
|
let isMuted = true
|
||||||
let isPaused = false
|
let isPaused = false
|
||||||
|
|
||||||
$: console.log({ isVisible })
|
|
||||||
|
|
||||||
function toggleMute() {
|
function toggleMute() {
|
||||||
isMuted = !isMuted
|
isMuted = !isMuted
|
||||||
}
|
}
|
||||||
|
@ -45,7 +43,7 @@
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class={clsx(
|
class={clsx(
|
||||||
'rounded-xl group relative overflow-hidden border-sky-400 border-2 transition-all [transition-duration:1460ms] mx-3 shadow-2xl shadow-cyan-400/40',
|
'rounded-xl group relative border-sky-400 border-2 transition-all [transition-duration:1460ms] mx-3 shadow-2xl shadow-cyan-400/40',
|
||||||
!isVisible && 'opacity-20 scale-90'
|
!isVisible && 'opacity-20 scale-90'
|
||||||
)}
|
)}
|
||||||
role="banner"
|
role="banner"
|
||||||
|
@ -67,6 +65,7 @@
|
||||||
src={previewRice}
|
src={previewRice}
|
||||||
disablepictureinpicture="true"
|
disablepictureinpicture="true"
|
||||||
disableremoteplayback="true"
|
disableremoteplayback="true"
|
||||||
|
class="rounded-xl"
|
||||||
loop
|
loop
|
||||||
muted={isMuted}
|
muted={isMuted}
|
||||||
preload="auto"
|
preload="auto"
|
||||||
|
@ -98,7 +97,13 @@
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<a
|
||||||
|
class="px-3 pt-2 block absolute -bottom-7 left-0 max-w-max text-sm text-slate-100/70 hover:underline"
|
||||||
|
href="https://github.com/end-4/">Setup by @end_4</a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="preview-rice-bg overflow-x-hidden" aria="hidden" />
|
<div class="preview-rice-bg overflow-x-hidden" aria="hidden" />
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,76 @@
|
||||||
<div class="h-screen flex items-center justify-center p-8 overflow-hidden">
|
<script lang="ts">
|
||||||
<img
|
import Title from '$lib/components/Title.svelte'
|
||||||
src="https://i.giphy.com/media/H8w9SE95izloQ/giphy.webp"
|
import Contest from './Contest.svelte'
|
||||||
alt="Under construction"
|
import FamedRice from './FamedRice.svelte'
|
||||||
class="w-full max-w-4xl"
|
</script>
|
||||||
/>
|
|
||||||
|
<section class="min-h-screen flex flex-col gap-14 items-center justify-center p-8 overflow-hidden">
|
||||||
|
<div class="h-[50vh] min-h-min flex flex-col items-center justify-center">
|
||||||
|
<Title>
|
||||||
|
<h1 slot="title">Wall of fame</h1>
|
||||||
|
<div slot="subtitle">
|
||||||
|
The chronicles of the triumphant<br /> from bygone rice contests held within our Discord
|
||||||
</div>
|
</div>
|
||||||
|
</Title>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Contest name="Summer" number={2}>
|
||||||
|
<FamedRice
|
||||||
|
name="Novel Nock"
|
||||||
|
creator="end_4"
|
||||||
|
pretitel="#1"
|
||||||
|
dotfilesLink="https://github.com/end-4/dots-hyprland/tree/novelknock"
|
||||||
|
creatorProfilePicture="https://avatars.githubusercontent.com/u/97237370?s=24&v=4"
|
||||||
|
thumbnail="/imgs/ricingcomp2/end_4.jpg"
|
||||||
|
blurredThumbnail="/imgs/ricingcomp2/end_4.jpg"
|
||||||
|
/>
|
||||||
|
<FamedRice
|
||||||
|
name="/ᐠ?_?ᐟ\ノ"
|
||||||
|
creator="Flafy"
|
||||||
|
pretitel="#2"
|
||||||
|
dotfilesLink="https://github.com/Flafy"
|
||||||
|
creatorProfilePicture="https://avatars.githubusercontent.com/u/25975326?v=4"
|
||||||
|
thumbnail="/imgs/ricingcomp2/flafy.png"
|
||||||
|
blurredThumbnail="/imgs/ricingcomp2/flafy.png"
|
||||||
|
/>
|
||||||
|
<FamedRice
|
||||||
|
name="Aurora"
|
||||||
|
creator="flick0"
|
||||||
|
pretitel="#3"
|
||||||
|
dotfilesLink="https://github.com/flick0/dotfiles"
|
||||||
|
creatorProfilePicture="https://avatars.githubusercontent.com/u/77581181?v=4&s=24"
|
||||||
|
thumbnail="/imgs/img4.webp"
|
||||||
|
blurredThumbnail="/imgs/img4.webp"
|
||||||
|
/>
|
||||||
|
</Contest>
|
||||||
|
|
||||||
|
<Contest name="Winter" number={1}>
|
||||||
|
<FamedRice
|
||||||
|
name="/ᐠ!_!ᐟ\ノ"
|
||||||
|
creator="Flafy"
|
||||||
|
pretitel="#1"
|
||||||
|
dotfilesLink="https://github.com/Flafy"
|
||||||
|
creatorProfilePicture="https://avatars.githubusercontent.com/u/25975326?v=4"
|
||||||
|
thumbnail="/imgs/ricingcomp1/flafy.png"
|
||||||
|
blurredThumbnail="/imgs/ricingcomp1/flafy.png"
|
||||||
|
/>
|
||||||
|
<FamedRice
|
||||||
|
name="Novel Nock"
|
||||||
|
creator="end_4"
|
||||||
|
pretitel="#2"
|
||||||
|
dotfilesLink="https://github.com/end-4/dots-hyprland/tree/novelknock"
|
||||||
|
creatorProfilePicture="https://avatars.githubusercontent.com/u/97237370?s=24&v=4"
|
||||||
|
thumbnail="/imgs/ricingcomp2/end_4.jpg"
|
||||||
|
blurredThumbnail="/imgs/ricingcomp2/end_4.jpg"
|
||||||
|
/>
|
||||||
|
<FamedRice
|
||||||
|
name="Aurora"
|
||||||
|
creator="flick0"
|
||||||
|
pretitel="#3"
|
||||||
|
dotfilesLink="https://github.com/flick0/dotfiles"
|
||||||
|
creatorProfilePicture="https://avatars.githubusercontent.com/u/77581181?v=4&s=24"
|
||||||
|
thumbnail="/imgs/img4.webp"
|
||||||
|
blurredThumbnail="/imgs/img4.webp"
|
||||||
|
/>
|
||||||
|
</Contest>
|
||||||
|
</section>
|
||||||
|
|
50
src/routes/wall_of_fame/Contest.svelte
Executable file
|
@ -0,0 +1,50 @@
|
||||||
|
<script>
|
||||||
|
/** @type {string} */
|
||||||
|
export let name
|
||||||
|
/** @type {number} */
|
||||||
|
export let number
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<section class="flex flex-col mt-24">
|
||||||
|
<div class="relative mb-24">
|
||||||
|
<div class="mix-blend-color-dodge p-6 flex items-center flex-col">
|
||||||
|
<div class="text-2xl font-bold text-slate-300/80">Contest #{number}</div>
|
||||||
|
<h2 class="text-9xl text-slate-200/80 text-center font-bold">{name}</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="background" aria-hidden="true"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-col gap-40">
|
||||||
|
<slot />
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<style lang="postcss">
|
||||||
|
.background {
|
||||||
|
position: absolute;
|
||||||
|
top: 150px;
|
||||||
|
left: 50%;
|
||||||
|
translate: -50% -50%;
|
||||||
|
width: 100vw;
|
||||||
|
height: 1000px;
|
||||||
|
z-index: -10;
|
||||||
|
background: radial-gradient(
|
||||||
|
140px 100px at 50% 45%,
|
||||||
|
var(--color, theme(colors.cyan.500)),
|
||||||
|
transparent
|
||||||
|
),
|
||||||
|
radial-gradient(
|
||||||
|
145px 110px at 50% 45%,
|
||||||
|
var(--color, theme(colors.blue.500 / 80%)) 80%,
|
||||||
|
transparent
|
||||||
|
),
|
||||||
|
radial-gradient(210px 140px, var(--color, theme(colors.blue.600)), transparent),
|
||||||
|
radial-gradient(300px 200px, var(--color, theme(colors.sky.600)), transparent),
|
||||||
|
radial-gradient(600px 220px, var(--color, theme(colors.blue.700)), transparent);
|
||||||
|
|
||||||
|
& ::after {
|
||||||
|
content: ' ';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
51
src/routes/wall_of_fame/FamedRice.svelte
Executable file
|
@ -0,0 +1,51 @@
|
||||||
|
<script>
|
||||||
|
/** @type {string} */
|
||||||
|
export let name
|
||||||
|
/** @type {string} */
|
||||||
|
export let creator
|
||||||
|
/** @type {string} */
|
||||||
|
export let dotfilesLink
|
||||||
|
/** @type {string} */
|
||||||
|
export let creatorProfilePicture
|
||||||
|
/** @type {string} */
|
||||||
|
export let thumbnail
|
||||||
|
/** @type {string} */
|
||||||
|
export let blurredThumbnail
|
||||||
|
/** @type {string} */
|
||||||
|
export let pretitel
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="flex flex-col gap-14">
|
||||||
|
<div class="flex justify-center items-center flex-col">
|
||||||
|
<div class="text-lg font-bold mb-2">{pretitel}</div>
|
||||||
|
<h3 class="text-6xl hover:text-slate-200 mb-6 font-bold">
|
||||||
|
<a href={dotfilesLink} target="_blank">{name}</a>
|
||||||
|
</h3>
|
||||||
|
<a class="flex gap-3 group" href={dotfilesLink} target="_blank">
|
||||||
|
<img
|
||||||
|
src={creatorProfilePicture}
|
||||||
|
class="rounded-full h-6 aspect-square"
|
||||||
|
alt={creator + ' profile picture'}
|
||||||
|
/>
|
||||||
|
<div class="font-medium text-lg transition-colors group-hover:text-white text-slate-300">
|
||||||
|
{creator}
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="px-6 sm:px-8 w-full max-w-[1100px] relative">
|
||||||
|
<a class="" href={dotfilesLink} target="_blank">
|
||||||
|
<img
|
||||||
|
src={thumbnail}
|
||||||
|
alt={`${name} by ${creator} thumbnail`}
|
||||||
|
class="rounded-lg hover:scale-[1.01] duration-300 transition-transform w-full"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
<img
|
||||||
|
src={blurredThumbnail}
|
||||||
|
aria-hidden="true"
|
||||||
|
class="absolute pointer-events-none -bottom-5 -z-10 opacity-20 inset-x-0 w-full rounded-lg"
|
||||||
|
alt={`${name} by ${creator} thumbnail`}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
Before Width: | Height: | Size: 17 KiB |
BIN
static/imgs/env_4 novelknock-10.webp
Executable file
After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 76 KiB |
BIN
static/imgs/img1.webp
Executable file
After Width: | Height: | Size: 30 KiB |
BIN
static/imgs/img2.webp
Executable file
After Width: | Height: | Size: 26 KiB |
BIN
static/imgs/img3.webp
Executable file
After Width: | Height: | Size: 43 KiB |
BIN
static/imgs/img4.webp
Executable file
After Width: | Height: | Size: 36 KiB |
BIN
static/imgs/img5.webp
Executable file
After Width: | Height: | Size: 46 KiB |
BIN
static/imgs/img6.webp
Executable file
After Width: | Height: | Size: 41 KiB |
|
@ -28,6 +28,8 @@ export default {
|
||||||
'text-cyan-600',
|
'text-cyan-600',
|
||||||
'text-green-500',
|
'text-green-500',
|
||||||
'text-green-600',
|
'text-green-600',
|
||||||
|
'text-emerald-500',
|
||||||
|
'text-emerald-600',
|
||||||
'text-lime-500',
|
'text-lime-500',
|
||||||
'text-lime-600'
|
'text-lime-600'
|
||||||
]
|
]
|
||||||
|
|