From 092926523ca2b5c34ada830917e336f525eae579 Mon Sep 17 00:00:00 2001 From: Dorian Niemiec Date: Sat, 7 Sep 2024 21:39:44 +0200 Subject: [PATCH] feat: add links to security advisories for vulnerabilities page --- app/(auth)/admin/vulnerabilities/page.tsx | 71 +++++++++++++++-------- app/(root)/vulnerabilities/page.tsx | 16 ++++- lib/validations/validation.ts | 3 +- 3 files changed, 63 insertions(+), 27 deletions(-) diff --git a/app/(auth)/admin/vulnerabilities/page.tsx b/app/(auth)/admin/vulnerabilities/page.tsx index 880499a..65218a9 100644 --- a/app/(auth)/admin/vulnerabilities/page.tsx +++ b/app/(auth)/admin/vulnerabilities/page.tsx @@ -35,7 +35,10 @@ import { interface VulnerabiltyEntry { _id: string; version: string; - bullets: { point: string }[]; + bullets: { + point: string; + securityAdvisoryUrl: string; + }[]; } type VulnerabiltiesForm = z.infer; @@ -50,7 +53,7 @@ const AdminLogPage = () => { resolver: zodResolver(vulnerabilitiesSchema), defaultValues: { version: "", - bullets: [{ point: "" }] + bullets: [{ point: "", securityAdvisoryUrl: "" }] } }); @@ -136,35 +139,53 @@ const AdminLogPage = () => { /> {fields.map((field, index) => ( - ( - - Key Point {index + 1} - - - - - - - )} - /> + <> + ( + + Key Point {index + 1} + + + + + + )} + /> + ( + + + Security Advisory URL for Key Point {index + 1} + + + + + + + + )} + /> + ))} diff --git a/app/(root)/vulnerabilities/page.tsx b/app/(root)/vulnerabilities/page.tsx index 944b82c..0de430e 100644 --- a/app/(root)/vulnerabilities/page.tsx +++ b/app/(root)/vulnerabilities/page.tsx @@ -3,9 +3,11 @@ import { VULNERABILITY } from "@/constants/guidelines"; import { useEffect, useState } from "react"; import { Skeleton } from "@/components/ui/skeleton"; import clientPromise from "@/lib/db"; +import Link from "next/link"; interface Bullet { point: string; + securityAdvisoryUrl: string; } interface Vulnerabilities { @@ -80,7 +82,19 @@ const Vulnerabilities = async () => {

{download.version}

    {(download.bullets ?? []).map((bullet, index) => ( -
  • {bullet.point}
  • +
  • + {bullet.point} + {bullet.securityAdvisoryUrl ? ( + <> + {" "} + + View security advisory + + + ) : ( + "" + )} +
  • ))}
diff --git a/lib/validations/validation.ts b/lib/validations/validation.ts index ebad754..e7730e7 100644 --- a/lib/validations/validation.ts +++ b/lib/validations/validation.ts @@ -28,7 +28,8 @@ export const vulnerabilitiesSchema = z.object({ version: z.string(), bullets: z.array( z.object({ - point: z.string() + point: z.string(), + securityAdvisoryUrl: z.string() }) ) });