feat: added user role restriction on crud for planned downtime feat (#7896)

This commit is contained in:
SagarRajput-7 2025-05-16 16:59:52 +05:30 committed by GitHub
parent 9383b6576d
commit 9c298e83a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -15,8 +15,10 @@ import cx from 'classnames';
import { useNotifications } from 'hooks/useNotifications'; import { useNotifications } from 'hooks/useNotifications';
import { defaultTo } from 'lodash-es'; import { defaultTo } from 'lodash-es';
import { CalendarClock, PenLine, Trash2 } from 'lucide-react'; import { CalendarClock, PenLine, Trash2 } from 'lucide-react';
import { useAppContext } from 'providers/App/App';
import { ReactNode, useEffect } from 'react'; import { ReactNode, useEffect } from 'react';
import { UseQueryResult } from 'react-query'; import { UseQueryResult } from 'react-query';
import { USER_ROLES } from 'types/roles';
import { import {
formatDateTime, formatDateTime,
@ -84,6 +86,8 @@ function HeaderComponent({
handleEdit: () => void; handleEdit: () => void;
handleDelete: () => void; handleDelete: () => void;
}): JSX.Element { }): JSX.Element {
const { user } = useAppContext();
const isCrudEnabled = user?.role !== USER_ROLES.VIEWER;
return ( return (
<Flex className="header-content" justify="space-between"> <Flex className="header-content" justify="space-between">
<Flex gap={8}> <Flex gap={8}>
@ -91,6 +95,7 @@ function HeaderComponent({
<Tag>{duration}</Tag> <Tag>{duration}</Tag>
</Flex> </Flex>
{isCrudEnabled && (
<div className="action-btn"> <div className="action-btn">
<PenLine <PenLine
size={14} size={14}
@ -110,6 +115,7 @@ function HeaderComponent({
}} }}
/> />
</div> </div>
)}
</Flex> </Flex>
); );
} }