Skip to content

Commit

Permalink
update to again
Browse files Browse the repository at this point in the history
  • Loading branch information
ipipi2024 committed Nov 13, 2024
1 parent 282f856 commit 31832fa
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 26 deletions.
16 changes: 14 additions & 2 deletions components/shared/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,27 @@
import { useTheme } from "next-themes"
import Image from "next/image"
import Link from "next/link"
import { useEffect, useState } from "react"

const Footer = () => {
const { theme } = useTheme();
const [isThemeLoaded, setIsThemeLoaded] = useState(false);

useEffect(() => {
// Ensure theme is set before rendering
setIsThemeLoaded(true);
}, [theme]);

if (!isThemeLoaded) {
return null; // Optionally, show a loading state here
}

return (
<footer className="border-t">
<div className="flex-center wrapper flex-between flex flex-col gap-4 p-5 text-center sm:flex-row">
<Link href='/'>
<Image
src={theme === "dark" ? "/assets/images/logo-white.svg" : "/assets/images/logo.svg"}
src={theme === "dark" ? "/assets/images/logo-white.svg" : "/assets/images/logo.svg"}
alt="logo"
width={128}
height={38}
Expand All @@ -24,4 +36,4 @@ const Footer = () => {
)
}

export default Footer
export default Footer;
49 changes: 29 additions & 20 deletions components/shared/Header.tsx
Original file line number Diff line number Diff line change
@@ -1,28 +1,37 @@
"use client"

import { SignedIn, SignedOut, UserButton } from "@clerk/nextjs"
import Image from "next/image"
import Link from "next/link"
import NavItems from "./NavItems"
import MobileNav from "./MobileNav"
import * as React from "react"
import { SignedIn, SignedOut, UserButton } from "@clerk/nextjs";
import Image from "next/image";
import Link from "next/link";
import NavItems from "./NavItems";
import MobileNav from "./MobileNav";
import * as React from "react";
import { Button } from "@/components/ui/button";
import { ModeToggle } from "@/components/shared/ModeToggle";
import { useTheme } from "next-themes";

import { Button } from "@/components/ui/button"
import { ModeToggle } from "@/components/shared/ModeToggle"
import { useTheme } from "next-themes"
const Header = () => {
const { theme, setTheme } = useTheme();
const [isThemeLoaded, setIsThemeLoaded] = React.useState(false);

React.useEffect(() => {
// Ensure the theme is set before rendering
setIsThemeLoaded(true);
}, [theme]);

if (!isThemeLoaded) {
return null; // Optionally return a loader or empty state until the theme is loaded
}

const Header = () => {
const { theme } = useTheme();
return (
<header className="w-full border-b">
<div className="wrapper flex items-center justify-between">
<Link href="/" className="w-36">
<Image
src={theme === "dark" ? "/assets/images/logo-white.svg" : "/assets/images/logo.svg"}
width={128}
height={38}
alt="Evently logo"
<Image
src={theme === "dark" ? "/assets/images/logo-white.svg" : "/assets/images/logo.svg"}
width={128}
height={38}
alt="Evently logo"
/>
</Link>

Expand All @@ -34,7 +43,7 @@ const Header = () => {

<div className="flex items-center gap-3">
<ModeToggle />

<SignedIn>
<UserButton afterSignOutUrl="/" />
<MobileNav />
Expand All @@ -50,7 +59,7 @@ const Header = () => {
</div>
</div>
</header>
)
}
);
};

export default Header
export default Header;
16 changes: 12 additions & 4 deletions components/shared/MobileNav.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,25 @@ import { useTheme } from "next-themes";
import {
Sheet,
SheetContent,
SheetDescription,
SheetHeader,
SheetTitle,
SheetTrigger,
} from "@/components/ui/sheet";
import Image from "next/image";
import { Separator } from "../ui/separator";
import NavItems from "./NavItems";
import { useEffect, useState } from "react";

const MobileNav = () => {
const { theme } = useTheme();
const [isThemeLoaded, setIsThemeLoaded] = useState(false);

useEffect(() => {
// Ensure theme is set before rendering
setIsThemeLoaded(true);
}, [theme]);

if (!isThemeLoaded) {
return null; // Optionally, show a loading state here
}

return (
<nav className="md:hidden">
Expand All @@ -30,7 +38,7 @@ const MobileNav = () => {
</SheetTrigger>
<SheetContent className="dark:bg-gray-900 flex flex-col gap-6 bg-white md:hidden">
<Image
src={theme === "dark" ?"/assets/images/logo-white.svg" : "/assets/images/logo.svg"}
src={theme === "dark" ? "/assets/images/logo-white.svg" : "/assets/images/logo.svg"}
alt="logo"
width={128}
height={38}
Expand Down

0 comments on commit 31832fa

Please sign in to comment.