diff --git a/assets/frontend/inertia.jsx b/assets/frontend/inertia.jsx
index 22b8cd2..7f81aec 100644
--- a/assets/frontend/inertia.jsx
+++ b/assets/frontend/inertia.jsx
@@ -9,6 +9,7 @@ import * as dvsc from "./pages/DeliverableVersions/ShowComponent";
import * as dvnc from "./pages/DeliverableVersions/NewComponent";
import * as vssc from "./pages/VersionSboms/ShowComponent";
import * as vanc from "./pages/VulnerabilityAnalyses/NewComponent";
+import * as vaec from "./pages/VulnerabilityAnalyses/EditComponent";
import * as vaic from "./pages/VulnerabilityAnalyses/IndexComponent";
import * as hic from "./pages/Home/IndexComponent";
import axios from "axios";
@@ -23,6 +24,7 @@ const pages = {
'VersionSboms/ShowComponent': vssc,
'VulnerabilityAnalyses/IndexComponent': vaic,
'VulnerabilityAnalyses/NewComponent': vanc,
+ 'VulnerabilityAnalyses/EditComponent': vaec,
'Home/IndexComponent': hic
}
diff --git a/assets/frontend/pages/VulnerabilityAnalyses/EditComponent.tsx b/assets/frontend/pages/VulnerabilityAnalyses/EditComponent.tsx
new file mode 100644
index 0000000..9911cf2
--- /dev/null
+++ b/assets/frontend/pages/VulnerabilityAnalyses/EditComponent.tsx
@@ -0,0 +1,98 @@
+import { Head, usePage, router } from '@inertiajs/react'
+import { useState } from 'react'
+import { SeverityOrder, VulnerablityAnalysisJustificationList, VulnerablityAnalysisResponseList, VulnerablityAnalysisStateList } from '../../cyclonedx/models'
+import React from 'react'
+import "./NewComponent.css";
+
+
+export default function EditComponent({ vulnerability_analysis, update_url}) {
+ const { errors } = usePage().props
+
+ const [values, setValues] = useState({
+ id: vulnerability_analysis.id,
+ state: vulnerability_analysis.state,
+ justification: vulnerability_analysis.justification,
+ response: vulnerability_analysis.response,
+ detail: vulnerability_analysis.detail,
+ adjusted_severity: vulnerability_analysis.adjusted_severity
+ });
+
+ function handleChange(e) {
+ setValues(values => ({
+ ...values,
+ [e.target.id]: e.target.value,
+ }))
+ }
+
+ function optionsForState() {
+ return VulnerablityAnalysisStateList.map(vas => );
+ }
+
+ function optionsForJustification() {
+ return (
+ [].concat(VulnerablityAnalysisJustificationList.map(vas => ))
+ );
+ }
+
+ function optionsForResponse() {
+ return (
+ [].concat(VulnerablityAnalysisResponseList.map(vas => ))
+ );
+ }
+
+ function optionsForSeverity() {
+ return (
+ [].concat(SeverityOrder.map(vas => ))
+ );
+ }
+
+ function handleSubmit(e) {
+ e.preventDefault()
+ router.put(update_url, values)
+ }
+
+ return (
+ <>
+