diff --git a/www/app/[domain]/transcripts/[transcriptId]/page.tsx b/www/app/[domain]/transcripts/[transcriptId]/page.tsx index f0e2af86..9f9348c8 100644 --- a/www/app/[domain]/transcripts/[transcriptId]/page.tsx +++ b/www/app/[domain]/transcripts/[transcriptId]/page.tsx @@ -55,7 +55,11 @@ export default function TranscriptDetails(details: TranscriptDetails) { <>
{transcript?.response?.title && ( - + )} {waveform?.loading === false && ( {transcript?.response?.longSummary && ( )} diff --git a/www/app/[domain]/transcripts/finalSummary.tsx b/www/app/[domain]/transcripts/finalSummary.tsx index a2ebebbc..9f8e4f82 100644 --- a/www/app/[domain]/transcripts/finalSummary.tsx +++ b/www/app/[domain]/transcripts/finalSummary.tsx @@ -1,18 +1,38 @@ import { useRef, useState } from "react"; import React from "react"; -import ReactDom from "react-dom"; import Markdown from "react-markdown"; import "../../styles/markdown.css"; +import getApi from "../../lib/getApi"; type FinalSummaryProps = { + protectedPath: boolean; summary: string; fullTranscript: string; + transcriptId: string; }; export default function FinalSummary(props: FinalSummaryProps) { const finalSummaryRef = useRef(null); const [isCopiedSummary, setIsCopiedSummary] = useState(false); const [isCopiedTranscript, setIsCopiedTranscript] = useState(false); + const [isEditMode, setIsEditMode] = useState(false); + const [editedSummary, setEditedSummary] = useState(props.summary); + const api = getApi(props.protectedPath); + + const updateSummary = async (newSummary: string, transcriptId: string) => { + try { + setEditedSummary(newSummary); + const updatedTranscript = await api.v1TranscriptUpdate({ + transcriptId, + updateTranscript: { + longSummary: newSummary, + }, + }); + console.log("Updated long summary:", updatedTranscript); + } catch (err) { + console.error("Failed to update long summary:", err); + } + }; const handleCopySummaryClick = () => { let text_to_copy = finalSummaryRef.current?.innerText; @@ -36,6 +56,10 @@ export default function FinalSummary(props: FinalSummaryProps) { }); }; + const handleEditMode = () => { + setIsEditMode(!isEditMode); + }; + return (
@@ -43,6 +67,14 @@ export default function FinalSummary(props: FinalSummaryProps) { Final Summary
+
- -

- {props.summary} -

+ {isEditMode ? ( +