Fix update notice.

This commit is contained in:
Mike Cao 2023-03-01 23:59:01 -08:00
parent 82f0bc3d2b
commit 5262d19c8b
6 changed files with 52 additions and 31 deletions

View file

@ -1,6 +1,8 @@
import { Container } from 'react-basics';
import Head from 'next/head';
import { useRouter } from 'next/router';
import NavBar from 'components/layout/NavBar';
import UpdateNotice from 'components/common/UpdateNotice';
import useRequireLogin from 'hooks/useRequireLogin';
import useConfig from 'hooks/useConfig';
import { UI_LAYOUT_BODY } from 'lib/constants';
@ -9,13 +11,17 @@ import styles from './AppLayout.module.css';
export default function AppLayout({ title, children }) {
const { user } = useRequireLogin();
const config = useConfig();
const { pathname } = useRouter();
if (!user || !config) {
return null;
}
const allowUpdate = user?.isAdmin && !config?.updatesDisabled && !pathname.includes('/share/');
return (
<div className={styles.layout}>
{allowUpdate && <UpdateNotice />}
<Head>
<title>{title ? `${title} | umami` : 'umami'}</title>
</Head>

View file

@ -1,15 +1,15 @@
import { useRouter } from 'next/router';
import { Column, Row } from 'react-basics';
import classNames from 'classnames';
import HamburgerButton from 'components/common/HamburgerButton';
import UpdateNotice from 'components/common/UpdateNotice';
import LanguageButton from 'components/input/LanguageButton';
import ThemeButton from 'components/input/ThemeButton';
import UserButton from 'components/input/UserButton';
import SettingsButton from 'components/input/SettingsButton';
import useConfig from 'hooks/useConfig';
import useUser from 'hooks/useUser';
import { useRouter } from 'next/router';
import { Column, Row } from 'react-basics';
import SettingsButton from '../input/SettingsButton';
import styles from './Header.module.css';
import classNames from 'classnames';
export default function Header({ className }) {
const { user } = useUser();

View file

@ -22,7 +22,6 @@ export default function NavBar() {
const analytics = [
{ label: formatMessage(labels.dashboard), url: '/dashboard', icon: <Icons.Dashboard /> },
{ label: formatMessage(labels.realtime), url: '/realtime', icon: <Icons.Clock /> },
{ label: formatMessage(labels.queries), url: '/queries', icon: <Icons.Search /> },
];
const settings = [