Skip to content

Commit

Permalink
cheesecake 🍰
Browse files Browse the repository at this point in the history
  • Loading branch information
tookender committed Aug 20, 2023
1 parent 833a751 commit ff87fec
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 192 deletions.
112 changes: 50 additions & 62 deletions src/components/Navbar.astro
Original file line number Diff line number Diff line change
@@ -1,77 +1,65 @@
---
import Button from "../components/MenuButton.astro";
import NavbarLink from "../components/NavbarLink.astro";
import NavbarLink from "./NavbarLink.astro";
import MenuButton from "./MenuButton.astro";
---

<!-- Desktop navbar -->
<div class="hidden sm:flex sm:fixed justify-center items-center z-10 top-5 h-10 w-[75vh] transition-opacity ease-in-out duration-300" id="navbar">
<div class="flex flex-row items-center justify-center w-full h-full">
<img class="mr-2 duration-500" id="navbarLogo" src="Logo.svg" alt="Rustbyte Logo" width="31px" height="28px">
<img class="mr-24 duration-500" id="navbarText" src="Rustbyte.svg" alt="Rustbyte Text" width="134px" height="36px">
</div>

<div class="flex flex-row items-center justify-center rounded-full w-full h-full
bg-white dark:bg-black border-2 border-secondary-light dark:border-secondary-dark">
<div class="flex flex-row mx-8 gap-6">
<NavbarLink text="Solutions" href="#solutions"/>
<NavbarLink text="Team" href="#team"/>
<NavbarLink text="Contact" href="#contact"/>
<header class="fixed top-0 bg-background-light/80 dark:bg-background-dark/80 flex flex-col justify-around items-center w-full z-20 px-6 h-16 border-b border-secondary-light dark:border-secondary-dark backdrop-blur-sm bakdrop-saturate-[180%]">
<nav class="w-full flex flex-row items-center max-w-[1400px] relative flex-1">
<div class="flex flex-row w-full items-center">
<img class="mr-2 duration-500" id="navbarLogo" src="Logo.svg" alt="Rustbyte Logo" height="28px" width="31px">
<img class="duration-500" id="navbarText" src="Rustbyte.svg" alt="Rustbyte Text" height="36px" width="134px">

<div class="hidden md:flex flex-row ml-6 gap-2">
<NavbarLink text="Solutions" href="#solutions"/>
<NavbarLink text="Team" href="#team"/>
<NavbarLink text="Contact" href="#contact"/>
</div>
</div>
</div>

<div class="flex flex-row items-center justify-center sm:mx-8 w-full h-full">
<button class="w-16 h-full flex items-center justify-center rounded-full
bg-white dark:bg-black border-2 border-secondary-light dark:border-secondary-dark
hover:border-2 hover:border-primary hover:dark:border-primary duration-500"
aria-label="Dark/light mode switch" id="themeButton">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6 hidden" id="moon">
<path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z"/>
</svg>

<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6 hidden" id="sun">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"/>
</svg>
</button>
</div>
</div>

<div class="flex md:hidden flex-row">
<button class="fill-accent-light dark:fill-accent-dark hover:fill-text-light hover:dark:fill-text-dark duration-500" id="menuButton" aria-label="Menu button">
<svg xmlns="http://www.w3.org/2000/svg" height="1.75rem" viewBox="0 0 448 512">
<path d="M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"/>
</svg>
</button>
</div>

<!-- Mobile menu button -->
<button id="menuButton" title="Menu button" class="z-20 fixed sm:hidden top-2 right-2 rounded-full flex-row px-2 py-2 bg-white/20 dark:bg-black/20 backdrop-blur-[8px] shadow-sm">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
stroke="currentColor" class="w-8 h-8" stroke-width="1.5">
<path stroke-linecap="round" stroke-linejoin="round"
d="M3.75 6.75h16.5M3.75 12h16.5M12 17.25h8.25"/>
</svg>
</button>
<div class="hidden md:flex flex-row items-center gap-5">
<a href="https://discord.rustbyte.dev" class="fill-accent-light dark:fill-accent-dark hover:fill-text-light hover:dark:fill-text-dark duration-500" aria-label="Rustbyte Discord Server">
<svg xmlns="http://www.w3.org/2000/svg" height="1.75rem" viewBox="0 0 640 512">
<path d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"/>
</svg>
</a>

<a href="https://github.rustbyte.dev" class="fill-accent-light dark:fill-accent-dark hover:fill-text-light hover:dark:fill-text-dark duration-500" aria-label="Rustbyte GitHub">
<svg xmlns="http://www.w3.org/2000/svg" height="1.75rem" viewBox="0 0 496 512">
<path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/>
</svg>
</a>

<button class="flex fill-accent-light dark:fill-accent-dark hover:fill-text-light hover:dark:fill-text-dark duration-500" aria-label="Dark/light mode switch" id="themeButton">
<svg xmlns="http://www.w3.org/2000/svg" height="1.75rem" viewBox="0 0 512 512" id="moon" class="hidden w-auto">
<path d="M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"/>
</svg>

<svg xmlns="http://www.w3.org/2000/svg" height="1.75rem" viewBox="0 0 512 512" id="sun" class="hidden w-auto">
<path d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"/>
</svg>
</button>
</div>
</nav>
</header>

<!-- Mobile menu -->
<menu id="menu" class="fixed top-0 left-0 z-10 flex items-center justify-center w-screen h-screen opacity-0 pointer-events-none">
<div class="flex flex-col justify-center items-start gap-2 sm:gap-4 md:gap-6 bg-clip-text bg-gradient-to-r from-[#38e5e3] to-[#4e89d3] text-3xl">
<Button text="Solutions" href="#solutions"/>
<Button text="Team" href="#team"/>
<Button text="Contact" href="#contact"/>
<menu id="menu" class="fixed flex items-center justify-center w-screen h-screen opacity-0 pointer-events-none">
<div class="flex flex-col justify-center items-start gap-2 sm:gap-4 md:gap-6 text-5xl">
<MenuButton text="Solutions" href="#solutions"/>
<MenuButton text="Team" href="#team"/>
<MenuButton text="Contact" href="#contact"/>
</div>
</menu>

<script>
// On scroll down navbar fade out
// On scroll up navbar fade in
let prevScrollY = window.scrollY;
const navbar = document.getElementById("navbar") as HTMLElement;

window.addEventListener("scroll", () => {
if (prevScrollY < window.scrollY) {
navbar.classList.add("opacity-0");
navbar.classList.add("pointer-events-none");
} else {
navbar.classList.remove("opacity-0");
navbar.classList.remove("pointer-events-none");
}

prevScrollY = window.scrollY;
});

// Theme toggle button
const sun = document.getElementById("sun") as HTMLElement;
const moon = document.getElementById("moon") as HTMLElement;
Expand Down
Loading

0 comments on commit ff87fec

Please sign in to comment.