From 2b7600942a2c2e8ee63eaeac1a5bd57c63d1c613 Mon Sep 17 00:00:00 2001 From: Sergey Mankovsky Date: Thu, 18 Jul 2024 15:10:13 +0200 Subject: [PATCH] Fix send to zulip --- .../transcripts/[transcriptId]/finalSummary.tsx | 4 ++++ .../[domain]/transcripts/[transcriptId]/page.tsx | 6 ++++++ www/app/[domain]/transcripts/transcriptTitle.tsx | 4 ++++ www/app/[domain]/transcripts/useTranscript.ts | 13 ++++++++++--- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/www/app/[domain]/transcripts/[transcriptId]/finalSummary.tsx b/www/app/[domain]/transcripts/[transcriptId]/finalSummary.tsx index 00f5dec7..08c20feb 100644 --- a/www/app/[domain]/transcripts/[transcriptId]/finalSummary.tsx +++ b/www/app/[domain]/transcripts/[transcriptId]/finalSummary.tsx @@ -23,6 +23,7 @@ import ShareAndPrivacy from "../shareAndPrivacy"; type FinalSummaryProps = { transcriptResponse: GetTranscript; topicsResponse: GetTranscriptTopic[]; + onUpdate?: (newSummary) => void; }; export default function FinalSummary(props: FinalSummaryProps) { @@ -53,6 +54,9 @@ export default function FinalSummary(props: FinalSummaryProps) { transcriptId, requestBody, }); + if (props.onUpdate) { + props.onUpdate(newSummary); + } console.log("Updated long summary:", updatedTranscript); } catch (err) { console.error("Failed to update long summary:", err); diff --git a/www/app/[domain]/transcripts/[transcriptId]/page.tsx b/www/app/[domain]/transcripts/[transcriptId]/page.tsx index aa50fd5f..47782e73 100644 --- a/www/app/[domain]/transcripts/[transcriptId]/page.tsx +++ b/www/app/[domain]/transcripts/[transcriptId]/page.tsx @@ -103,6 +103,9 @@ export default function TranscriptDetails(details: TranscriptDetails) { { + transcript.reload(); + }} /> { + transcript.reload(); + }} /> ) : ( diff --git a/www/app/[domain]/transcripts/transcriptTitle.tsx b/www/app/[domain]/transcripts/transcriptTitle.tsx index 5e103924..4d629747 100644 --- a/www/app/[domain]/transcripts/transcriptTitle.tsx +++ b/www/app/[domain]/transcripts/transcriptTitle.tsx @@ -7,6 +7,7 @@ import { FaPen } from "react-icons/fa"; type TranscriptTitle = { title: string; transcriptId: string; + onUpdate?: (newTitle: string) => void; }; const TranscriptTitle = (props: TranscriptTitle) => { @@ -25,6 +26,9 @@ const TranscriptTitle = (props: TranscriptTitle) => { transcriptId, requestBody, }); + if (props.onUpdate) { + props.onUpdate(newTitle); + } console.log("Updated transcript:", updatedTranscript); } catch (err) { console.error("Failed to update transcript:", err); diff --git a/www/app/[domain]/transcripts/useTranscript.ts b/www/app/[domain]/transcripts/useTranscript.ts index 1e2d7ed0..49d257f0 100644 --- a/www/app/[domain]/transcripts/useTranscript.ts +++ b/www/app/[domain]/transcripts/useTranscript.ts @@ -8,18 +8,21 @@ type ErrorTranscript = { error: Error; loading: false; response: null; + reload: () => void; }; type LoadingTranscript = { response: null; loading: true; error: false; + reload: () => void; }; type SuccessTranscript = { response: GetTranscript; loading: false; error: null; + reload: () => void; }; const useTranscript = ( @@ -28,13 +31,17 @@ const useTranscript = ( const [response, setResponse] = useState(null); const [loading, setLoading] = useState(true); const [error, setErrorState] = useState(null); + const [reload, setReload] = useState(0); const { setError } = useError(); const api = useApi(); + const reloadHandler = () => setReload((prev) => prev + 1); useEffect(() => { if (!id || !api) return; - setLoading(true); + if (!response) { + setLoading(true); + } api .v1TranscriptGet({ transcriptId: id }) @@ -52,9 +59,9 @@ const useTranscript = ( } setErrorState(error); }); - }, [id, !api]); + }, [id, !api, reload]); - return { response, loading, error } as + return { response, loading, error, reload: reloadHandler } as | ErrorTranscript | LoadingTranscript | SuccessTranscript;