import React from 'react'; import { IconBrandGithub, IconHeart, IconLogout, IconMoon, IconSun } from '@tabler/icons'; import Image from 'next/image'; import clsx from 'clsx'; import Link from 'next/link'; import { useRouter } from 'next/router'; import { getUrl } from '../../../core/helpers/url-helpers'; import { useUIStore } from '../../../state/uiStore'; import { NavBar } from '../NavBar'; import { trpc } from '../../../utils/trpc'; interface IProps { isUpdateAvailable?: boolean; } export const Header: React.FC = ({ isUpdateAvailable }) => { const router = useRouter(); const { setDarkMode } = useUIStore(); const utils = trpc.useContext(); const logout = trpc.auth.logout.useMutation({ onSuccess: () => { localStorage.removeItem('token'); utils.auth.me.invalidate(); router.push('/login'); }, }); return (

Tipi logo Tipi

setDarkMode(true)} role="button" aria-hidden="true" className="nav-link px-0 hide-theme-dark cursor-pointer" data-tip="Dark mode">
setDarkMode(false)} aria-hidden="true" className="nav-link px-0 hide-theme-light cursor-pointer" data-tip="Light mode">
logout.mutate()} tabIndex={0} onKeyPress={() => logout.mutate()} role="button" className="nav-link px-0 cursor-pointer" data-tip="Log out">
); };