From 780357aa18b19102d71b66cde975f12f755ba2e9 Mon Sep 17 00:00:00 2001 From: Owen Gretzinger Date: Thu, 17 Jul 2025 14:29:34 -0400 Subject: [PATCH] feat: title and attribution footer when copying enhanced notes (#33) --- .../ViewModels/MeetingViewModel.swift | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/meetingnotes/ViewModels/MeetingViewModel.swift b/meetingnotes/ViewModels/MeetingViewModel.swift index 9d729c6..19bbff4 100644 --- a/meetingnotes/ViewModels/MeetingViewModel.swift +++ b/meetingnotes/ViewModels/MeetingViewModel.swift @@ -245,16 +245,6 @@ class MeetingViewModel: ObservableObject { } } - func copyTranscript() { - NSPasteboard.general.clearContents() - NSPasteboard.general.setString(meeting.formattedTranscript, forType: .string) - } - - func copyNotes() { - NSPasteboard.general.clearContents() - NSPasteboard.general.setString(meeting.generatedNotes, forType: .string) - } - func copyCurrentTabContent() { NSPasteboard.general.clearContents() @@ -265,7 +255,22 @@ class MeetingViewModel: ObservableObject { case .transcript: content = meeting.formattedTranscript case .enhancedNotes: - content = meeting.generatedNotes + var enhancedContent = "" + + // Add title as h1 header if title is set + if !meeting.title.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty { + enhancedContent += "# \(meeting.title)\n\n" + } + + // Add the generated notes + enhancedContent += meeting.generatedNotes + + // Add attribution footer + if !enhancedContent.isEmpty { + enhancedContent += "\n\n---\n\nNotes generated using [Meetingnotes](https://meetingnotes.owengretzinger.com), the free, open source AI notetaker." + } + + content = enhancedContent } NSPasteboard.general.setString(content, forType: .string)