import {User} from "@/interfaces/user"; import Link from "next/link"; import FocusLayer from "@/components/FocusLayer"; import {preventNavigation} from "@/utils/navigation.disabled"; import {useRouter} from "next/router"; import {BsList} from "react-icons/bs"; import clsx from "clsx"; import moment from "moment"; import MobileMenu from "./MobileMenu"; import {useState} from "react"; interface Props { user: User; navDisabled?: boolean; focusMode?: boolean; onFocusLayerMouseEnter?: () => void; path: string; } /* eslint-disable @next/next/no-img-element */ export default function Navbar({user, path, navDisabled = false, focusMode = false, onFocusLayerMouseEnter}: Props) { const [isMenuOpen, setIsMenuOpen] = useState(false); const disableNavigation = preventNavigation(navDisabled, focusMode); const router = useRouter(); const expirationDateColor = (date: Date) => { const momentDate = moment(date); const today = moment(new Date()); if (today.add(1, "days").isAfter(momentDate)) return "!bg-mti-red-ultralight border-mti-red-light"; if (today.add(3, "days").isAfter(momentDate)) return "!bg-mti-rose-ultralight border-mti-rose-light"; if (today.add(7, "days").isAfter(momentDate)) return "!bg-mti-orange-ultralight border-mti-orange-light"; }; const showExpirationDate = () => { if (!user.subscriptionExpirationDate) return false; const momentDate = moment(user.subscriptionExpirationDate); const today = moment(new Date()); return today.add(7, "days").isAfter(momentDate); }; return ( <> {user && setIsMenuOpen(false)} user={user} />}
EnCoach's Logo

EnCoach

{showExpirationDate() && ( {!user.subscriptionExpirationDate && "Unlimited"} {user.subscriptionExpirationDate && moment(user.subscriptionExpirationDate).format("DD/MM/YYYY")} )} {user.name} {user.name}
setIsMenuOpen(true)}>
{focusMode && }
); }