Hyprland is licensed under the BSD 3-Clause "New" or "Revised" License.
© Hyprland Development 2023.
Doki doki waku waku.
@@ -90,7 +90,7 @@
position: absolute;
top: -450px;
left: 0px;
- width: 100vw;
+ width: 100%;
height: 900px;
z-index: -10;
background: radial-gradient(105vw 450px at 50% 50%, theme(colors.blue.600 / 80%), transparent);
diff --git a/src/lib/components/GitTile.svelte b/src/lib/components/GitTile.svelte
new file mode 100755
index 0000000..6f6f49c
--- /dev/null
+++ b/src/lib/components/GitTile.svelte
@@ -0,0 +1,64 @@
+
+
+
diff --git a/src/lib/images/logo.png b/src/lib/images/logo.png
deleted file mode 100755
index e852e4b..0000000
Binary files a/src/lib/images/logo.png and /dev/null differ
diff --git a/src/lib/images/logos/hyprland-color.svg b/src/lib/images/logos/hyprland-color.svg
new file mode 100755
index 0000000..a8078ba
--- /dev/null
+++ b/src/lib/images/logos/hyprland-color.svg
@@ -0,0 +1,31 @@
+
+
\ No newline at end of file
diff --git a/src/lib/images/vaxry-github.webp b/src/lib/images/vaxry-github.webp
new file mode 100755
index 0000000..3e8b0f1
Binary files /dev/null and b/src/lib/images/vaxry-github.webp differ
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 253fd9a..ff37a69 100755
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -6,12 +6,10 @@
import '@fontsource/ibm-plex-mono/500.css'
-
-
+
-
-
-
+
+
+
-
-
+
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 37d2296..db93b41 100755
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,7 +1,7 @@
-
-
-
-
-
-
- {Math.floor($displayed_count + 1)}
- {Math.floor($displayed_count)}
-
-
-
-
-
-
-
diff --git a/src/routes/DiscordProfilePicture.svelte b/src/routes/DiscordProfilePicture.svelte
index 4ceaff8..33c3c64 100755
--- a/src/routes/DiscordProfilePicture.svelte
+++ b/src/routes/DiscordProfilePicture.svelte
@@ -1,11 +1,9 @@
@@ -72,10 +80,13 @@
style="width: {size}px; height: {size}px;--delay: {delay}ms;"
>
setTimeout(() => (hasEnteredView = true), 750)}
>
@@ -30,7 +30,7 @@
transition: all 540ms cubic-bezier(0.1, -0.81, 0.31, 2);
}
.rice-bg {
- @apply w-[calc(100%-24px)] pointer-events-none transition-[filter] duration-500 absolute left-3 brightness-150 rounded-3xl -z-10 saturate-[5] h-full blur-2xl -bottom-10 opacity-50;
+ @apply pointer-events-none absolute -bottom-10 left-3 -z-10 h-full w-[calc(100%-24px)] rounded-3xl opacity-50 blur-2xl brightness-150 saturate-[5] transition-[filter] duration-500 max-sm:hidden;
.rice:hover & {
@apply brightness-200;
diff --git a/src/routes/FeatureCard.svelte b/src/routes/FeatureCard.svelte
index 8e58f61..70d3ca2 100755
--- a/src/routes/FeatureCard.svelte
+++ b/src/routes/FeatureCard.svelte
@@ -1,9 +1,9 @@
-
+
{title}
Nothing in the slot here
-
-
-
+
+
+
diff --git a/src/routes/Firefly.svelte b/src/routes/Firefly.svelte
index 4bee13a..741545c 100755
--- a/src/routes/Firefly.svelte
+++ b/src/routes/Firefly.svelte
@@ -3,29 +3,40 @@
import { createNoise2D } from 'simplex-noise'
import { match } from 'ts-pattern'
import clsx from 'clsx'
+ import { getIsMobile } from '$lib/Helper.mjs'
// Idea: Boid behavior
- const maxSize = 12
+ const maxSize = 18
const size = Math.max(Math.random() * maxSize, 6)
/** How much the fireflies can vanish into the edges of the screen. Include their invisible padding for mouse detection. */
const edgeClip = maxSize * 8
const noiseY = createNoise2D()
const noiseX = createNoise2D()
+ const SPEED = Math.random() * 5 + 2
- let classes = clsx(Math.random() > 0.5 ? 'bg-primary/70' : 'bg-sky-500/70')
+ let classes = clsx(Math.random() > 0.5 ? 'bg-primary/70' : 'bg-blue-500/70')
let x = 0
let y = 0
+ // TODO add mouse following behaviour - flock behaviour
+ // A couple following the mouse throughout the website
+
onMount(() => {
- x = window.innerWidth / 2 - maxSize * 6
- y = window.innerHeight / 2 + 100
+ x = window.innerWidth / (Math.random() * 4) - maxSize * 6
+ y = window.innerHeight / (Math.random() * 4) + 100
+
+ // The animation is way too heavy for mobile
+ if (getIsMobile()) return
+
let animationId
let i = 0
animate()
+ return () => cancelAnimationFrame(animationId)
+
async function animate() {
x += match(x)
.when(
@@ -36,7 +47,7 @@
(x) => x < -edgeClip,
() => 10
)
- .otherwise(() => noiseX(i, 1) * 5)
+ .otherwise(() => noiseX(i, 1) * SPEED)
y += match(y)
.when(
(y) => y > window.innerHeight + edgeClip,
@@ -46,22 +57,22 @@
(y) => y < -edgeClip,
() => 10
)
- .otherwise(() => noiseY(i, 1) * 5)
+ .otherwise(() => noiseY(i, 1) * SPEED)
i += 0.005
animationId = requestAnimationFrame(animate)
}
-
- return () => cancelAnimationFrame(animationId)
})
diff --git a/src/routes/Hypractive.svelte b/src/routes/Hypractive.svelte
new file mode 100755
index 0000000..e49efbc
--- /dev/null
+++ b/src/routes/Hypractive.svelte
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+ {#each $tiles$ as _}
+
+ {/each}
+
+
+
+ {#if $hasAscended$}
+
+
+
+ {/if}
+
+
+
+
+
+
+
diff --git a/src/routes/InstallButton.svelte b/src/routes/InstallButton.svelte
index b954512..bbe0f4f 100755
--- a/src/routes/InstallButton.svelte
+++ b/src/routes/InstallButton.svelte
@@ -23,16 +23,16 @@
})
-
+
{name}
-
+
+
Copied to clipboard ✔
diff --git a/src/routes/InstallSlice.svelte b/src/routes/InstallSlice.svelte
index 7f22a4d..47d8179 100755
--- a/src/routes/InstallSlice.svelte
+++ b/src/routes/InstallSlice.svelte
@@ -10,31 +10,44 @@
import Title from '$lib/components/Title.svelte'
-
diff --git a/src/routes/Navbar.svelte b/src/routes/Navbar.svelte
index 5cc8fe6..eb6cfb7 100755
--- a/src/routes/Navbar.svelte
+++ b/src/routes/Navbar.svelte
@@ -1,6 +1,6 @@
(isVisible = false)}
on:mouseenter={() => (isShowingControls = true)}
on:mouseleave={() => (isShowingControls = false)}
>
@@ -52,6 +71,7 @@
preload="auto"
poster={previewRiceThumbnail}
on:click={togglePlay}
+ on:dblclick={makeFullscreen}
/>
+ {#if isPaused}
+
+ {/if}
-
+
diff --git a/src/routes/HallOfFameSlice.svelte b/src/routes/WallOfFameSlice.svelte
similarity index 66%
rename from src/routes/HallOfFameSlice.svelte
rename to src/routes/WallOfFameSlice.svelte
index 98b2278..8571329 100755
--- a/src/routes/HallOfFameSlice.svelte
+++ b/src/routes/WallOfFameSlice.svelte
@@ -12,7 +12,7 @@
Memorials of the ricing legends
- Hall of Fame
+ Wall of Fame
@@ -20,23 +20,23 @@
class="w-full -mt-24 max-w-[1100px] flex relative flex-col gap-16 lg:gap-24 items-center justify-end overflow-hidden md:px-16 [perspective:100px]"
use:animateIn={{ slide: 24, fade: 0.5, duration: 800 }}
>
-
-
+
+