From 32ad9dee0da2ed24f86bcc9389b2d31273777210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Diamond?= <32074058+Andre-Diamond@users.noreply.github.com> Date: Tue, 7 May 2024 06:35:45 +0200 Subject: [PATCH] feat: Add saveCustomAgenda function and update ArchiveSummaries component --- components/ArchiveSummaries.tsx | 10 +++++++--- components/SummaryTemplate.tsx | 14 ++++++++++---- config/config.tsx | 10 ++++++++++ pages/submit-meeting-summary/index.tsx | 10 ++++++++-- utils/confirmedStatusUpdate.js | 3 ++- utils/generateMarkdown.js | 2 +- utils/saveAgenda.js | 3 ++- utils/saveCustomAgenda.js | 3 ++- 8 files changed, 42 insertions(+), 13 deletions(-) create mode 100644 config/config.tsx diff --git a/components/ArchiveSummaries.tsx b/components/ArchiveSummaries.tsx index 0ccfc05..0943670 100644 --- a/components/ArchiveSummaries.tsx +++ b/components/ArchiveSummaries.tsx @@ -5,7 +5,8 @@ import { generateMarkdown } from '../utils/generateMarkdown'; import { updateGitbook } from '../utils/updateGitbook'; import { sendDiscordMessage } from '../utils/sendDiscordMessage'; import { useMyVariable } from '../context/MyVariableContext'; -import { confirmedStatusUpdate } from '../utils/confirmedStatusUpdate' +import { confirmedStatusUpdate } from '../utils/confirmedStatusUpdate'; +import { saveCustomAgenda } from '../utils/saveCustomAgenda'; const ArchiveSummaries = () => { const textareaRef = useRef(null); @@ -25,7 +26,7 @@ const ArchiveSummaries = () => { useEffect(() => { setRenderedMarkdown(formData.meetingSummary); - //console.log(formData.meetingSummary) + console.log(formData.meetingSummary, myVariable.summary) }, [formData.meetingSummary]); useEffect(() => { @@ -72,7 +73,10 @@ const ArchiveSummaries = () => { async function handleSubmit(e: React.FormEvent) { e.preventDefault(); setLoading(true); - + if (myVariable.summary?.noSummaryGiven == true || myVariable.summary?.canceledSummary == true) { + const data: any = await saveCustomAgenda(myVariable.summary); + console.log(data); + } // Check if there are any confirmed summaries with the same date const isDuplicateConfirmedSummary = myVariable.summaries.some((summary: any) => { // Convert both dates to Date objects to strip off the time part diff --git a/components/SummaryTemplate.tsx b/components/SummaryTemplate.tsx index 053dba0..216c677 100644 --- a/components/SummaryTemplate.tsx +++ b/components/SummaryTemplate.tsx @@ -87,8 +87,8 @@ const SummaryTemplate = ({ updateMeetings }: SummaryTemplateProps) => { otherMediaLink: "", transcriptLink: "", mediaLink: "", - workingDocs: [{ title: '', link: '' }], - timestampedVideo: { url: '', intro: '', timestamps: [{ title: '', timestamp: '' }] } + workingDocs: [{ title: "", link: "" }], + timestampedVideo: { url: "", intro: "", timestamps: [{ title: "", timestamp: "" }] } }, agendaItems: [ { @@ -108,7 +108,8 @@ const SummaryTemplate = ({ updateMeetings }: SummaryTemplateProps) => { ], tags: { topicsCovered: "", emotions: "", other: "", gamesPlayed: "" }, type: "Custom", - noSummaryGiven: false + noSummaryGiven: false, + canceledSummary: false }; const [formData, setFormData] = useState(filterFormData(filterKeys(myVariable.summary || {}, defaultFormData))); @@ -247,7 +248,12 @@ const SummaryTemplate = ({ updateMeetings }: SummaryTemplateProps) => { summary.confirmed = false; - const cleanedFormData = removeEmptyValues({ ...formData, meetingInfo: { ...formData.meetingInfo, workingDocs: filteredWorkingDocs } }); + const cleanedFormData = removeEmptyValues({ + ...formData, + meetingInfo: { ...formData.meetingInfo, workingDocs: filteredWorkingDocs }, + noSummaryGiven: false, + canceledSummary: false + }); setLoading(true); try { diff --git a/config/config.tsx b/config/config.tsx new file mode 100644 index 0000000..d300768 --- /dev/null +++ b/config/config.tsx @@ -0,0 +1,10 @@ +// config.js +const isTestMode = process.env.NEXT_PUBLIC_NODE_ENV === 'test'; + +const tableSuffix = isTestMode ? '_test' : ''; + +export const tableNames = { + meetingsummaries: `meetingsummaries${tableSuffix}`, + documents: `documents${tableSuffix}`, + // Add more table names as needed +}; \ No newline at end of file diff --git a/pages/submit-meeting-summary/index.tsx b/pages/submit-meeting-summary/index.tsx index 6af489c..0d03cff 100644 --- a/pages/submit-meeting-summary/index.tsx +++ b/pages/submit-meeting-summary/index.tsx @@ -242,7 +242,10 @@ const SubmitMeetingSummary: NextPage = () => { ...prevMyVariable, summary: { ...prevMyVariable.summary, - meetingInfo: {}, + meetingInfo: { + name:"Weekly", + date: prevMyVariable.summary.meetingInfo.date + }, agendaItems: [], tags: {}, noSummaryGiven: true, @@ -264,7 +267,10 @@ const SubmitMeetingSummary: NextPage = () => { ...prevMyVariable, summary: { ...prevMyVariable.summary, - meetingInfo: {}, + meetingInfo: { + name:"Weekly", + date: prevMyVariable.summary.meetingInfo.date + }, agendaItems: [], tags: {}, noSummaryGiven: false, diff --git a/utils/confirmedStatusUpdate.js b/utils/confirmedStatusUpdate.js index f81d86d..4a3ca41 100644 --- a/utils/confirmedStatusUpdate.js +++ b/utils/confirmedStatusUpdate.js @@ -1,4 +1,5 @@ import { supabase } from "../lib/supabaseClient"; +import { tableNames } from '../config/config'; export async function confirmedStatusUpdate(formData) { let updates = { @@ -7,7 +8,7 @@ export async function confirmedStatusUpdate(formData) { } const { data, error } = await supabase - .from('meetingsummaries') + .from(tableNames.meetingsummaries) .upsert(updates); if (error) { diff --git a/utils/generateMarkdown.js b/utils/generateMarkdown.js index 7eaf313..b5a7f98 100644 --- a/utils/generateMarkdown.js +++ b/utils/generateMarkdown.js @@ -39,7 +39,7 @@ export function generateMarkdown(summary, order) { const { date, name, host, documenter, peoplePresent, purpose, googleSlides, townHallNumber, otherMediaLink, meetingVideoLink, mediaLink, miroBoardLink, transcriptLink, workingDocs, timestampedVideo } = summary.meetingInfo; // Add meeting information to markdown - if (name) markdown += `- Type of meeting: ${name}\n`; + if ( name && !summary.canceledSummary && !summary.noSummaryGiven ) markdown += `- Type of meeting: ${name}\n`; if (host || documenter || peoplePresent) { markdown += `- Present: `; if (host) markdown += `${host} [facilitator], `; diff --git a/utils/saveAgenda.js b/utils/saveAgenda.js index 948b5a7..59e674d 100644 --- a/utils/saveAgenda.js +++ b/utils/saveAgenda.js @@ -1,4 +1,5 @@ import { supabase } from "../lib/supabaseClient"; +import { tableNames } from '../config/config'; export async function saveAgenda(agendaData) { let updates = { @@ -10,7 +11,7 @@ export async function saveAgenda(agendaData) { } const { data, error } = await supabase - .from('meetingsummaries') + .from(tableNames.meetingsummaries) .upsert(updates, { onConflict: ['name', 'date', 'workgroup_id', 'user_id'] }); if (error) { diff --git a/utils/saveCustomAgenda.js b/utils/saveCustomAgenda.js index a2593e5..2a0f0e7 100644 --- a/utils/saveCustomAgenda.js +++ b/utils/saveCustomAgenda.js @@ -1,4 +1,5 @@ import { supabase } from "../lib/supabaseClient"; +import { tableNames } from '../config/config'; export async function saveCustomAgenda(agendaData) { let updates = { @@ -11,7 +12,7 @@ export async function saveCustomAgenda(agendaData) { } const { data, error } = await supabase - .from('meetingsummaries') + .from(tableNames.meetingsummaries) .upsert(updates, { onConflict: ['name', 'date', 'workgroup_id', 'user_id'] }) .select('date, meeting_id, updated_at');