Skip to content

Commit c8768ea

Browse files
authored
users to access a vulnerabilities edit page from the vuln dedicated page view (#52)
1 parent c0c7970 commit c8768ea

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

UI/src/features/pages/regular/vulnerabilities/vulnerability-card.tsx

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ import { Report } from "../../../../api/soroban-security-portal/models/report";
44
import { ProtocolItem } from "../../../../api/soroban-security-portal/models/protocol";
55
import { Vulnerability } from "../../../../api/soroban-security-portal/models/vulnerability";
66
import CloseIcon from '@mui/icons-material/Close';
7+
import EditIcon from '@mui/icons-material/Edit';
78
import FullscreenIcon from "@mui/icons-material/Fullscreen";
89
import { useNavigate } from 'react-router-dom';
910
import { SeverityColors, useTheme } from "../../../../contexts/ThemeContext";
1011
import { MarkdownView } from "../../../../components/MarkdownView";
1112
import { Bookmark } from "@mui/icons-material";
1213
import { useBookmarks } from "../../../../contexts/BookmarkContext";
1314
import { BookmarkType } from "../../../../api/soroban-security-portal/models/bookmark";
14-
import { useAuth } from "react-oidc-context";
15+
import { useAppAuth } from "../../../../features/authentication/useAppAuth";
1516

1617
interface VulnerabilityCardProps {
1718
selectedVulnerability: Vulnerability;
@@ -34,7 +35,7 @@ export const VulnerabilityCard: FC<VulnerabilityCardProps> = ({
3435
}) => {
3536
const { theme, themeMode } = useTheme();
3637
const navigate = useNavigate();
37-
const auth = useAuth();
38+
const { isAuthenticated, canEdit } = useAppAuth();
3839
const [modalOpened, setModalOpened] = useState(isModal);
3940
const { isBookmarked, toggleBookmark } = useBookmarks();
4041

@@ -108,7 +109,7 @@ export const VulnerabilityCard: FC<VulnerabilityCardProps> = ({
108109
<Typography variant='h6' sx={{ fontWeight: 600, flexGrow: 1, textTransform: 'uppercase' }}>
109110
{selectedVulnerability.title}
110111
</Typography>
111-
{auth.isAuthenticated && (
112+
{isAuthenticated && (
112113
<IconButton
113114
size="large"
114115
onClick={() => toggleBookmark(selectedVulnerability.id, BookmarkType.Vulnerability)}
@@ -130,6 +131,18 @@ export const VulnerabilityCard: FC<VulnerabilityCardProps> = ({
130131
>
131132
<FullscreenIcon fontSize="inherit"/>
132133
</IconButton>
134+
{canEdit && (
135+
<IconButton
136+
size="large"
137+
title="Edit"
138+
onClick={(e) => {
139+
e.stopPropagation();
140+
navigate(`/admin/vulnerabilities/edit?vulnerabilityId=${selectedVulnerability.id}`);
141+
}}
142+
>
143+
<EditIcon fontSize="inherit" />
144+
</IconButton>
145+
)}
133146
<IconButton
134147
onClick={handleCloseProfile}
135148
size="large"

0 commit comments

Comments
 (0)