diff --git a/src/app/api/evaluations/[id]/route.ts b/src/app/api/evaluations/[id]/route.ts
index 32535db..802174e 100644
--- a/src/app/api/evaluations/[id]/route.ts
+++ b/src/app/api/evaluations/[id]/route.ts
@@ -118,7 +118,7 @@ export async function PUT(
const { id } = await params;
const body = await req.json();
- const { candidateName, candidateRole, candidateTeam, evaluatorName, evaluationDate, status, findings, recommendations, dimensionScores } = body;
+ const { candidateName, candidateRole, candidateTeam, evaluatorName, evaluationDate, status, findings, recommendations, dimensionScores, isPublic } = body;
const existing = await prisma.evaluation.findUnique({ where: { id } });
if (!existing) {
@@ -146,6 +146,7 @@ export async function PUT(
if (status != null) updateData.status = status;
if (findings != null) updateData.findings = findings;
if (recommendations != null) updateData.recommendations = recommendations;
+ if (typeof isPublic === "boolean") updateData.isPublic = isPublic;
if (Object.keys(updateData).length > 0) {
await prisma.auditLog.create({
diff --git a/src/app/evaluations/[id]/page.tsx b/src/app/evaluations/[id]/page.tsx
index 2c28c8f..26ebc09 100644
--- a/src/app/evaluations/[id]/page.tsx
+++ b/src/app/evaluations/[id]/page.tsx
@@ -45,6 +45,7 @@ interface Evaluation {
recommendations: string | null;
dimensionScores: DimensionScore[];
sharedWith?: { id: string; user: { id: string; email: string; name: string | null } }[];
+ isPublic?: boolean;
}
export default function EvaluationDetailPage() {
@@ -168,6 +169,7 @@ export default function EvaluationDetailPage() {
status: toSave.status,
findings: toSave.findings,
recommendations: toSave.recommendations,
+ isPublic: toSave.isPublic ?? false,
dimensionScores: (toSave.dimensionScores ?? []).map((ds) => ({
dimensionId: ds.dimensionId,
evaluationId: id,
@@ -258,6 +260,20 @@ export default function EvaluationDetailPage() {
>
{saving ? "..." : "save"}
+