feat(Header): enhance usability and design improvements

This commit is contained in:
ZhymabekRoman 2024-11-02 04:45:53 +05:00
parent 1a7954d54e
commit 57da4b77bc

View file

@ -21,11 +21,14 @@
const toggleSearch = () => { const toggleSearch = () => {
isSearchOpen = !isSearchOpen; isSearchOpen = !isSearchOpen;
}; };
// Add transition duration variable
const transitionDuration = 200;
</script> </script>
<nav <nav
id="header" id="header"
class="sticky top-0 z-20 w-full bg-white border-b shadow-sm dark:bg-zinc-900 border-zinc-200 dark:border-zinc-800" class="sticky top-0 z-20 w-full border-b shadow-sm bg-white/95 backdrop-blur-sm dark:bg-zinc-900/95 border-zinc-200 dark:border-zinc-800"
> >
<Advertise /> <Advertise />
<ProgressLine /> <ProgressLine />
@ -37,11 +40,12 @@
<div class="flex-grow max-w-md mx-2"> <div class="flex-grow max-w-md mx-2">
<Button <Button
class="items-center hidden w-full h-8 gap-2 pl-2 pr-3 text-sm transition bg-white rounded-full ui-not-focus-visible:outline-none text-zinc-500 ring-1 ring-zinc-900/10 hover:ring-zinc-900/20 lg:flex dark:bg-white/5 dark:text-zinc-400 dark:ring-inset dark:ring-white/10 dark:hover:ring-white/20" class="items-center hidden w-full h-8 gap-2 pl-2 pr-3 text-sm transition bg-white rounded-full ui-not-focus-visible:outline-none text-zinc-500 ring-1 ring-zinc-900/10 hover:ring-zinc-900/20 hover:bg-zinc-50 focus-visible:ring-2 focus-visible:ring-primary lg:flex dark:bg-white/5 dark:text-zinc-400 dark:ring-inset dark:ring-white/10 dark:hover:ring-white/20 dark:hover:bg-white/10"
on:click={toggleSearch} on:click={toggleSearch}
aria-label="Open search"
> >
<Icon icon="heroicons:magnifying-glass" /> <Icon icon="heroicons:magnifying-glass" />
Search <span>Search articles, topics, and more...</span>
</Button> </Button>
</div> </div>
@ -57,7 +61,7 @@
url="https://liberapay.com/ZhymabekRoman/" url="https://liberapay.com/ZhymabekRoman/"
icon="simple-icons:liberapay" icon="simple-icons:liberapay"
/> />
<!-- <PayButtons name="PayPal" url="" icon="simple-icons:paypal" /> --> <PayButtons name="Discord" url="discord.gg/dAxCuG9nYM" icon="simple-icons:discord" />
<div class="w-px h-6 bg-zinc-300 dark:bg-zinc-700"></div> <div class="w-px h-6 bg-zinc-300 dark:bg-zinc-700"></div>
<ThemeToggle /> <ThemeToggle />
<ReportProblem /> <ReportProblem />
@ -68,19 +72,38 @@
<Icon class="size-5" icon="heroicons:magnifying-glass" /> <Icon class="size-5" icon="heroicons:magnifying-glass" />
</Button> </Button>
<ThemeToggle /> <ThemeToggle />
<Button variant="ghost" size="icon" on:click={toggleNav}> <Button
<Menu /> variant="ghost"
size="icon"
on:click={toggleNav}
aria-expanded={isNavOpen}
aria-controls="mobile-menu"
class="hover:bg-zinc-100 dark:hover:bg-zinc-800"
>
<Menu aria-hidden="true" />
<span class="sr-only">Toggle menu</span>
</Button> </Button>
</div> </div>
</div> </div>
{#if isNavOpen} {#if isNavOpen}
<div <div
class="!sticky w-full bg-white border-b shadow-sm md:hidden dark:bg-zinc-900 border-zinc-200 dark:border-zinc-800" id="mobile-menu"
class="!sticky w-full bg-white/95 backdrop-blur-sm border-b shadow-sm md:hidden dark:bg-zinc-900/95 border-zinc-200 dark:border-zinc-800"
> >
<div <div class="sticky z-20 flex flex-wrap items-center justify-center gap-2 px-4 py-3 mx-auto">
class="sticky z-20 flex flex-wrap items-center justify-center px-4 py-2 mx-auto space-x-2 space-y-2" <PayButtons
> name="Ko-fi"
url="https://ko-fi.com/zhymabekroman"
icon="teenyicons:cup-solid"
/>
<PayButtons
name="Liberapay"
url="https://liberapay.com/ZhymabekRoman/"
icon="simple-icons:liberapay"
/>
<PayButtons name="Discord" url="discord.gg/dAxCuG9nYM" icon="simple-icons:discord" />
<!-- <ExtensionsButton /> -->
<ReportProblem /> <ReportProblem />
</div> </div>
</div> </div>