@@ -4,14 +4,15 @@ import { Report } from "../../../../api/soroban-security-portal/models/report";
44import { ProtocolItem } from "../../../../api/soroban-security-portal/models/protocol" ;
55import { Vulnerability } from "../../../../api/soroban-security-portal/models/vulnerability" ;
66import CloseIcon from '@mui/icons-material/Close' ;
7+ import EditIcon from '@mui/icons-material/Edit' ;
78import FullscreenIcon from "@mui/icons-material/Fullscreen" ;
89import { useNavigate } from 'react-router-dom' ;
910import { SeverityColors , useTheme } from "../../../../contexts/ThemeContext" ;
1011import { MarkdownView } from "../../../../components/MarkdownView" ;
1112import { Bookmark } from "@mui/icons-material" ;
1213import { useBookmarks } from "../../../../contexts/BookmarkContext" ;
1314import { BookmarkType } from "../../../../api/soroban-security-portal/models/bookmark" ;
14- import { useAuth } from "react-oidc-context " ;
15+ import { useAppAuth } from "../../../../features/authentication/useAppAuth " ;
1516
1617interface 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