♻️ Show edit buttons only when user is admin

This commit is contained in:
Meier Lukas
2023-07-29 16:16:01 +02:00
parent 5c4e1a4bb8
commit 1038cc7ccf
4 changed files with 8 additions and 46 deletions

View File

@@ -3,7 +3,6 @@ import { useQuery } from '@tanstack/react-query';
import { useSession } from 'next-auth/react';
import { REPO_URL } from '../../../../data/constants';
import { useEditModeInformationStore } from '../../../hooks/useEditModeInformation';
import DockerMenuButton from '../../../modules/Docker/DockerModule';
import { usePackageAttributesStore } from '../../../tools/client/zustands/usePackageAttributesStore';
import { Logo } from '../Logo';
@@ -18,7 +17,7 @@ export function Header(props: any) {
const { classes } = useStyles();
const { classes: cardClasses, cx } = useCardStyles(false);
const { attributes } = usePackageAttributesStore();
const { editModeEnabled } = useEditModeInformationStore();
const { data: sessionData } = useSession();
const { data } = useQuery({
queryKey: ['github/latest'],
@@ -43,8 +42,12 @@ export function Header(props: any) {
noWrap
>
<Search />
{!editModeEnabled && <ToggleEditModeAction />}
<DockerMenuButton />
{sessionData?.user?.isAdmin && (
<>
<ToggleEditModeAction />
<DockerMenuButton />
</>
)}
<Indicator
size={15}
color="blue"

View File

@@ -11,7 +11,6 @@ import { signOut, useSession } from 'next-auth/react';
import { useTranslation } from 'next-i18next';
import Link from 'next/link';
import { useEditModeInformationStore } from '../../../hooks/useEditModeInformation';
import { AboutModal } from '../../Dashboard/Modals/AboutModal/AboutModal';
import { SettingsDrawer } from '../../Settings/SettingsDrawer';
import { useCardStyles } from '../useCardStyles';
@@ -22,7 +21,6 @@ export function SettingsMenu({ newVersionAvailable }: { newVersionAvailable: str
const { t } = useTranslation('common');
const [aboutModalOpened, aboutModal] = useDisclosure(false);
const { classes } = useCardStyles(true);
const { editModeEnabled } = useEditModeInformationStore();
const { data: sessionData } = useSession();
return (
@@ -35,7 +33,7 @@ export function SettingsMenu({ newVersionAvailable }: { newVersionAvailable: str
</Menu.Target>
<Menu.Dropdown>
<ColorSchemeSwitch />
{!editModeEnabled && (
{sessionData?.user?.isAdmin && (
<Menu.Item icon={<IconSettings strokeWidth={1.2} size={18} />} onClick={drawer.open}>
{t('sections.settings')}
</Menu.Item>