chore: Merge branch dev to main (#284)

This commit is contained in:
oSumAtrIX
2025-05-06 13:35:40 +02:00
committed by GitHub
6 changed files with 42 additions and 24 deletions

View File

@@ -1,11 +1,5 @@
<script lang="ts"> <script lang="ts">
import { slide } from 'svelte/transition';
import { quintOut } from 'svelte/easing';
import ChevronDown from 'svelte-material-icons/ChevronDown.svelte';
export let title: string; export let title: string;
let expanded: boolean = false;
</script> </script>
<div class="desktop-only"> <div class="desktop-only">
@@ -16,20 +10,14 @@
</div> </div>
<div class="mobile-only"> <div class="mobile-only">
<!-- svelte-ignore a11y-click-events-have-key-events --> <button class="title">
<button class="title" on:click={() => (expanded = !expanded)}>
<span> <span>
{title} {title}
</span> </span>
<div class="arrow" style:transform={expanded ? 'rotate(180deg)' : 'rotate(0deg)'}>
<ChevronDown size="24px" color="var(--surface-six)" />
</div>
</button> </button>
{#if expanded} <ul>
<ul transition:slide={{ easing: quintOut, duration: 500 }}> <slot />
<slot /> </ul>
</ul>
{/if}
</div> </div>
<style lang="scss"> <style lang="scss">

View File

@@ -20,7 +20,7 @@
background-color: var(--surface-seven); background-color: var(--surface-seven);
user-select: none; user-select: none;
} }
@media (max-width: 1700px) { @media screen and (max-width: 1700px) {
.hero-img { .hero-img {
height: 100vh; height: 100vh;
right: 6rem; right: 6rem;

View File

@@ -46,10 +46,9 @@
} }
.social-buttons { .social-buttons {
justify-content: center; max-width: 30rem;
position: absolute; position: absolute;
bottom: 1rem; bottom: 1rem;
z-index: 1;
transition: opacity 0.1s var(--bezier-one); transition: opacity 0.1s var(--bezier-one);
} }
@@ -69,18 +68,41 @@
span { span {
color: var(--primary); color: var(--primary);
} }
@media (max-width: 1700px) {
@media screen and (max-width: 1700px) {
.hero { .hero {
height: 80vh; height: 80vh;
} }
} }
@media screen and (max-height: 820px) {
.social-buttons {
bottom: initial;
left: initial;
position: initial;
width: initial;
opacity: 100% !important;
}
}
@media screen and (max-width: 1100px) or (min-height: 820px) {
.social-buttons {
transform: translateX(-50%);
width: 100%;
position: absolute;
justify-content: center;
}
}
@media screen and (max-width: 450px) { @media screen and (max-width: 450px) {
.internal-buttons { .internal-buttons {
flex-direction: column; flex-direction: column;
gap: 1rem; gap: 1rem;
} }
.social-buttons {
justify-content: center;
}
.hero { .hero {
height: initial; height: initial;
} }

View File

@@ -202,6 +202,7 @@
} }
#nav-container { #nav-container {
z-index: 1;
top: 0; top: 0;
position: sticky; position: sticky;
width: 100%; width: 100%;

View File

@@ -16,11 +16,18 @@
svg { svg {
transition: opacity 0.1s var(--bezier-one); transition: opacity 0.1s var(--bezier-one);
position: absolute; position: absolute;
bottom: 0rem; bottom: -1px;
z-index: -1;
width: 100%; width: 100%;
height: 40vh; height: 40vh;
} }
@media screen and (max-height: 820px) {
svg {
opacity: 0 !important;
}
}
.wave { .wave {
animation: wave-anim 30s; animation: wave-anim 30s;
animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1); animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);

View File

@@ -11,7 +11,7 @@
onMount(() => { onMount(() => {
const checkVisibility = () => { const checkVisibility = () => {
const wave = document.querySelector('.wave'); const wave = document.querySelector('.wave');
bottomVisibility = !(wave && wave.getBoundingClientRect().bottom < window.innerHeight); bottomVisibility = !(wave && wave.getBoundingClientRect().bottom < window.innerHeight - 1);
}; };
window.addEventListener('scroll', checkVisibility, { passive: true }); window.addEventListener('scroll', checkVisibility, { passive: true });
@@ -165,10 +165,10 @@
} }
.hero-img-container { .hero-img-container {
z-index: 1; z-index: 0;
} }
@media (max-width: 1100px) { @media screen and (max-width: 1100px) {
.hero-img-container { .hero-img-container {
display: none; display: none;
} }