diff --git a/apps/desktop/src/components/editor-area/index.tsx b/apps/desktop/src/components/editor-area/index.tsx index d18fef519c..d7eaa33c88 100644 --- a/apps/desktop/src/components/editor-area/index.tsx +++ b/apps/desktop/src/components/editor-area/index.tsx @@ -26,7 +26,7 @@ import { showTipsModal } from "../tips-modal/service"; import { enhanceFailedToast } from "../toast/shared"; import { AnnotationBox } from "./annotation-box"; import { LocalSearchBar } from "./local-search-bar"; -import { NoteHeader, TabHeader, type TabHeaderRef } from "./note-header"; +import { NoteHeader, TabHeader } from "./note-header"; import { EnhancedNoteSubHeader } from "./note-header/sub-headers/enhanced-note-sub-header"; import { TranscriptSubHeader } from "./note-header/sub-headers/transcript-sub-header"; import { TextSelectionPopover } from "./text-selection-popover"; @@ -159,7 +159,6 @@ export default function EditorArea({ const editorRef = useRef<{ editor: TiptapEditor | null }>({ editor: null }); const transcriptRef = useRef(null); - const tabHeaderRef = useRef(null); const [transcriptEditorRef, setTranscriptEditorRef] = useState(null); const [isFloatingSearchVisible, setIsFloatingSearchVisible] = useState(false); const [isTabHeaderVisible, setIsTabHeaderVisible] = useState(false); @@ -335,7 +334,6 @@ export default function EditorArea({ /> setIsHovered(true)} - onMouseLeave={() => setIsHovered(false)} - > - {/* Keep original element visible with dynamic text color */} -
- {children} -
- - {/* Dark popover below the date */} - {isHovered && ( -
- {/* Add invisible padding around the entire modal for easier hovering */} -
- {/* Arrow pointing up - seamlessly connected */} -
-
-
- - {/* Light popover content */} -
-
-
- -
-
- -
-
- -
-
-
-
-
- )} - - ); -} diff --git a/apps/desktop/src/components/editor-area/note-header/index.tsx b/apps/desktop/src/components/editor-area/note-header/index.tsx index a3fb02c815..f31131bd71 100644 --- a/apps/desktop/src/components/editor-area/note-header/index.tsx +++ b/apps/desktop/src/components/editor-area/note-header/index.tsx @@ -87,4 +87,3 @@ export function NoteHeader( // Export the TabHeader and TabSubHeader components for use outside this directory export { TabHeader, TabSubHeader }; -export type { TabHeaderRef } from "./tab-header"; diff --git a/apps/desktop/src/components/editor-area/note-header/tab-header.tsx b/apps/desktop/src/components/editor-area/note-header/tab-header.tsx index cbe35ec7ed..8fabf3fef0 100644 --- a/apps/desktop/src/components/editor-area/note-header/tab-header.tsx +++ b/apps/desktop/src/components/editor-area/note-header/tab-header.tsx @@ -1,7 +1,6 @@ import { useEnhancePendingState } from "@/hooks/enhance-pending"; -import { cn } from "@hypr/ui/lib/utils"; +import { TabHeader as TabHeaderUI } from "@hypr/ui/components/block/tab-header"; import { useOngoingSession, useSession } from "@hypr/utils/contexts"; -import { forwardRef, useEffect, useImperativeHandle } from "react"; interface TabHeaderProps { sessionId: string; @@ -12,131 +11,43 @@ interface TabHeaderProps { onVisibilityChange?: (isVisible: boolean) => void; } -export interface TabHeaderRef { - isVisible: boolean; -} - -export const TabHeader = forwardRef( - ({ sessionId, onEnhance, isEnhancing, progress = 0, showProgress = false, onVisibilityChange }, ref) => { - const [activeTab, setActiveTab] = useSession(sessionId, (s) => [ - s.activeTab, - s.setActiveTab, - ]); - const session = useSession(sessionId, (s) => s.session); - - const ongoingSessionStatus = useOngoingSession((s) => s.status); - const ongoingSessionId = useOngoingSession((s) => s.sessionId); - - // Check if this is a meeting session (has transcript or is currently recording) - const hasTranscript = session.words && session.words.length > 0; - const isCurrentlyRecording = ongoingSessionStatus === "running_active" && ongoingSessionId === sessionId; - const isSessionInactive = ongoingSessionStatus === "inactive" || session.id !== ongoingSessionId; - const hasEnhancedMemo = !!session?.enhanced_memo_html; - - const canEnhanceTranscript = hasTranscript && isSessionInactive; - - // Keep the "meeting session" concept for overall tab visibility - const isMeetingSession = hasTranscript || isCurrentlyRecording || isEnhancing || hasEnhancedMemo; - - // BUT use floating button logic for Enhanced tab visibility - const isEnhancePending = useEnhancePendingState(sessionId); - const shouldShowEnhancedTab = hasEnhancedMemo || isEnhancePending || canEnhanceTranscript; - - // Automatic tab switching logic following existing conventions - - useEffect(() => { - // When enhancement starts (immediately after recording ends) -> switch to enhanced note - if (isEnhancePending || (ongoingSessionStatus === "inactive" && hasTranscript && shouldShowEnhancedTab)) { - setActiveTab("enhanced"); - } - }, [isEnhancePending, ongoingSessionStatus, hasTranscript, shouldShowEnhancedTab, setActiveTab]); - - // Set default tab to 'raw' for blank notes (no meeting session) - useEffect(() => { - if (!isMeetingSession) { - setActiveTab("raw"); - } - }, [isMeetingSession, setActiveTab]); - - const handleTabClick = (tab: "raw" | "enhanced" | "transcript") => { - setActiveTab(tab); - }; - - // Expose visibility state via ref - useImperativeHandle(ref, () => ({ - isVisible: isMeetingSession ?? false, - }), [isMeetingSession]); - - // Notify parent when visibility changes - useEffect(() => { - if (onVisibilityChange) { - onVisibilityChange(isMeetingSession ?? false); - } - }, [isMeetingSession, onVisibilityChange]); - - // Don't render tabs at all for blank notes (no meeting session) - if (!isMeetingSession) { - return null; - } - - return ( -
- {/* Tab container */} -
-
-
- {/* Raw Note Tab */} - - {/* Enhanced Note Tab - show when session ended OR transcript exists OR enhanced memo exists */} - {shouldShowEnhancedTab && ( - - )} - - - - {/* Transcript Tab - always show */} - -
-
-
-
- ); - }, -); +export const TabHeader = ( + { sessionId, onEnhance, isEnhancing, progress = 0, showProgress = false, onVisibilityChange }: TabHeaderProps, +) => { + const [activeTab, setActiveTab] = useSession(sessionId, (s) => [ + s.activeTab, + s.setActiveTab, + ]); + + const session = useSession(sessionId, (s) => s.session); + + const ongoingSessionStatus = useOngoingSession((s) => s.status); + const ongoingSessionId = useOngoingSession((s) => s.sessionId); + + // Check if this is a meeting session (has transcript or is currently recording) + const hasTranscript = session.words && session.words.length > 0; + const isCurrentlyRecording = ongoingSessionStatus === "running_active" && ongoingSessionId === sessionId; + const isSessionInactive = ongoingSessionStatus === "inactive" || session.id !== ongoingSessionId; + const hasEnhancedMemo = !!session?.enhanced_memo_html; + + const canEnhanceTranscript = hasTranscript && isSessionInactive; + + // Keep the "meeting session" concept for overall tab visibility + const shouldShowTab = hasTranscript || isCurrentlyRecording || isEnhancing || hasEnhancedMemo; + + // BUT use floating button logic for Enhanced tab visibility + const isEnhancePending = useEnhancePendingState(sessionId); + const shouldShowEnhancedTab = hasEnhancedMemo || isEnhancePending || canEnhanceTranscript; + + return ( + + ); +}; diff --git a/apps/desktop/src/locales/en/messages.po b/apps/desktop/src/locales/en/messages.po index 0e0ac6883a..124c2e6af4 100644 --- a/apps/desktop/src/locales/en/messages.po +++ b/apps/desktop/src/locales/en/messages.po @@ -15,198 +15,198 @@ msgstr "" #. js-lingui-explicit-id #: src/components/settings/views/general.tsx:441 -msgid "Type terms separated by commas (e.g., Blitz Meeting, PaC Squad)" -msgstr "Type terms separated by commas (e.g., Blitz Meeting, PaC Squad)" +#~ msgid "Type terms separated by commas (e.g., Blitz Meeting, PaC Squad)" +#~ msgstr "Type terms separated by commas (e.g., Blitz Meeting, PaC Squad)" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:22 -msgid "{days} day{plural} later" -msgstr "{days} day{plural} later" +#~ msgid "{days} day{plural} later" +#~ msgstr "{days} day{plural} later" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:27 -msgid "{hours} hour{plural} later" -msgstr "{hours} hour{plural} later" +#~ msgid "{hours} hour{plural} later" +#~ msgstr "{hours} hour{plural} later" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:32 -msgid "{minutes} minutes later" -msgstr "{minutes} minutes later" +#~ msgid "{minutes} minutes later" +#~ msgstr "{minutes} minutes later" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:36 #: ../../packages/utils/src/datetime.ts:223 -msgid "Starting soon" -msgstr "Starting soon" +#~ msgid "Starting soon" +#~ msgstr "Starting soon" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:38 #: ../../packages/utils/src/datetime.ts:207 -msgid "In progress" -msgstr "In progress" +#~ msgid "In progress" +#~ msgstr "In progress" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:44 #: ../../packages/utils/src/datetime.ts:90 -msgid "Unknown date" -msgstr "Unknown date" +#~ msgid "Unknown date" +#~ msgstr "Unknown date" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:53 #: ../../packages/utils/src/datetime.ts:98 -msgid "Invalid date" -msgstr "Invalid date" +#~ msgid "Invalid date" +#~ msgstr "Invalid date" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:63 -msgid "Today" -msgstr "Today" +#~ msgid "Today" +#~ msgstr "Today" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:65 #: ../../packages/utils/src/datetime.ts:180 -msgid "Yesterday" -msgstr "Yesterday" +#~ msgid "Yesterday" +#~ msgstr "Yesterday" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:67 #: ../../packages/utils/src/datetime.ts:182 -msgid "{days} days ago" -msgstr "{days} days ago" +#~ msgid "{days} days ago" +#~ msgstr "{days} days ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:69 #: ../../packages/utils/src/datetime.ts:236 -msgid "{days} days later" -msgstr "{days} days later" +#~ msgid "{days} days later" +#~ msgstr "{days} days later" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:76 #: ../../packages/utils/src/datetime.ts:79 -msgid "{date}" -msgstr "{date}" +#~ msgid "{date}" +#~ msgstr "{date}" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:84 #: ../../packages/utils/src/datetime.ts:130 -msgid "Date error" -msgstr "Date error" +#~ msgid "Date error" +#~ msgstr "Date error" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:109 -msgid "Today ({dayOfWeek})" -msgstr "Today ({dayOfWeek})" +#~ msgid "Today ({dayOfWeek})" +#~ msgstr "Today ({dayOfWeek})" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:111 -msgid "Yesterday ({dayOfWeek})" -msgstr "Yesterday ({dayOfWeek})" +#~ msgid "Yesterday ({dayOfWeek})" +#~ msgstr "Yesterday ({dayOfWeek})" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:113 -msgid "{days} days ago ({dayOfWeek})" -msgstr "{days} days ago ({dayOfWeek})" +#~ msgid "{days} days ago ({dayOfWeek})" +#~ msgstr "{days} days ago ({dayOfWeek})" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:115 -msgid "{days} days later ({dayOfWeek})" -msgstr "{days} days later ({dayOfWeek})" +#~ msgid "{days} days later ({dayOfWeek})" +#~ msgstr "{days} days later ({dayOfWeek})" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:122 #: ../../packages/utils/src/datetime.ts:125 -msgid "{date} ({dayOfWeek})" -msgstr "{date} ({dayOfWeek})" +#~ msgid "{date} ({dayOfWeek})" +#~ msgstr "{date} ({dayOfWeek})" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:168 -msgid "Just now" -msgstr "Just now" +#~ msgid "Just now" +#~ msgstr "Just now" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:170 -msgid "{seconds} seconds ago" -msgstr "{seconds} seconds ago" +#~ msgid "{seconds} seconds ago" +#~ msgstr "{seconds} seconds ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:172 -msgid "1 minute ago" -msgstr "1 minute ago" +#~ msgid "1 minute ago" +#~ msgstr "1 minute ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:174 -msgid "{minutes} minutes ago" -msgstr "{minutes} minutes ago" +#~ msgid "{minutes} minutes ago" +#~ msgstr "{minutes} minutes ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:176 -msgid "1 hour ago" -msgstr "1 hour ago" +#~ msgid "1 hour ago" +#~ msgstr "1 hour ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:178 -msgid "{hours} hours ago" -msgstr "{hours} hours ago" +#~ msgid "{hours} hours ago" +#~ msgstr "{hours} hours ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:184 -msgid "1 week ago" -msgstr "1 week ago" +#~ msgid "1 week ago" +#~ msgstr "1 week ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:186 -msgid "{weeks} weeks ago" -msgstr "{weeks} weeks ago" +#~ msgid "{weeks} weeks ago" +#~ msgstr "{weeks} weeks ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:188 -msgid "1 month ago" -msgstr "1 month ago" +#~ msgid "1 month ago" +#~ msgstr "1 month ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:190 -msgid "{months} months ago" -msgstr "{months} months ago" +#~ msgid "{months} months ago" +#~ msgstr "{months} months ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:192 -msgid "1 year ago" -msgstr "1 year ago" +#~ msgid "1 year ago" +#~ msgstr "1 year ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:194 -msgid "{years} years ago" -msgstr "{years} years ago" +#~ msgid "{years} years ago" +#~ msgstr "{years} years ago" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:225 -msgid "In 1 minute" -msgstr "In 1 minute" +#~ msgid "In 1 minute" +#~ msgstr "In 1 minute" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:227 -msgid "In {minutes} minutes" -msgstr "In {minutes} minutes" +#~ msgid "In {minutes} minutes" +#~ msgstr "In {minutes} minutes" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:229 -msgid "In 1 hour" -msgstr "In 1 hour" +#~ msgid "In 1 hour" +#~ msgstr "In 1 hour" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:231 -msgid "In {hours} hours" -msgstr "In {hours} hours" +#~ msgid "In {hours} hours" +#~ msgstr "In {hours} hours" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:234 -msgid "1 day later" -msgstr "1 day later" +#~ msgid "1 day later" +#~ msgstr "1 day later" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:239 -msgid "{weeks} weeks later" -msgstr "{weeks} weeks later" +#~ msgid "{weeks} weeks later" +#~ msgstr "{weeks} weeks later" #: src/components/settings/components/ai/llm-custom-view.tsx:628 #~ msgid "(Optional for localhost)" @@ -316,13 +316,13 @@ msgstr "{weeks} weeks later" #~ msgstr "API Key" #: src/components/settings/views/profile.tsx:168 -msgid "Apple" -msgstr "Apple" +#~ msgid "Apple" +#~ msgstr "Apple" #: src/components/left-sidebar/notes-list.tsx:268 #: src/components/toolbar/buttons/delete-note-button.tsx:43 -msgid "Are you sure you want to delete this note?" -msgstr "Are you sure you want to delete this note?" +#~ msgid "Are you sure you want to delete this note?" +#~ msgstr "Are you sure you want to delete this note?" #: src/components/right-panel/components/chat/empty-chat-state.tsx:124 #~ msgid "Ask Hyprnote to..." @@ -351,8 +351,8 @@ msgstr "Are you sure you want to delete this note?" #: src/routes/app.settings.tsx:61 #: src/routes/app.settings.tsx:134 -msgid "Billing & License" -msgstr "Billing & License" +#~ msgid "Billing & License" +#~ msgstr "Billing & License" #: src/components/settings/components/templates-sidebar.tsx:68 #: src/components/settings/views/templates.tsx:356 @@ -361,8 +361,8 @@ msgstr "Billing & License" #: src/routes/app.settings.tsx:51 #: src/routes/app.settings.tsx:124 -msgid "Calendar" -msgstr "Calendar" +#~ msgid "Calendar" +#~ msgstr "Calendar" #: src/components/welcome-modal/calendar-permissions-view.tsx:124 #~ msgid "Calendar & Contacts" @@ -377,8 +377,8 @@ msgstr "Calendar" #~ msgstr "Cancel" #: src/components/settings/views/profile.tsx:143 -msgid "CEO" -msgstr "CEO" +#~ msgid "CEO" +#~ msgstr "CEO" #: src/components/right-panel/components/chat/empty-chat-state.tsx:55 #~ msgid "Chat feature is in beta. For best results, we recommend you to use <0>custom endpoints." @@ -503,22 +503,22 @@ msgstr "CEO" #~ msgstr "Delete" #: src/components/settings/components/template-sections.tsx:154 -msgid "Describe the content and purpose of this section" -msgstr "Describe the content and purpose of this section" +#~ msgid "Describe the content and purpose of this section" +#~ msgstr "Describe the content and purpose of this section" #: src/components/settings/views/template.tsx:265 -msgid "" -"Describe the summary you want to generate...\n" -" \n" -"• what kind of meeting is this?\n" -"• any format requirements?\n" -"• what should AI remember when summarizing?" -msgstr "" -"Describe the summary you want to generate...\n" -" \n" -"• what kind of meeting is this?\n" -"• any format requirements?\n" -"• what should AI remember when summarizing?" +#~ msgid "" +#~ "Describe the summary you want to generate...\n" +#~ " \n" +#~ "• what kind of meeting is this?\n" +#~ "• any format requirements?\n" +#~ "• what should AI remember when summarizing?" +#~ msgstr "" +#~ "Describe the summary you want to generate...\n" +#~ " \n" +#~ "• what kind of meeting is this?\n" +#~ "• any format requirements?\n" +#~ "• what should AI remember when summarizing?" #: src/components/settings/views/notifications.tsx:252 #~ msgid "Detect meetings automatically" @@ -549,8 +549,8 @@ msgstr "" #~ msgstr "Email addresses" #: src/components/share-and-permission/invite-list.tsx:23 -msgid "Email separated by commas" -msgstr "Email separated by commas" +#~ msgid "Email separated by commas" +#~ msgstr "Email separated by commas" #: src/components/settings/views/template.tsx:206 #~ msgid "Emoji" @@ -565,8 +565,8 @@ msgstr "Email separated by commas" #~ msgstr "Enable Integration" #: src/components/settings/components/template-sections.tsx:144 -msgid "Enter a section title" -msgstr "Enter a section title" +#~ msgid "Enter a section title" +#~ msgstr "Enter a section title" #: src/components/settings/components/ai/llm-custom-view.tsx:606 #~ msgid "Enter the base URL for your custom LLM endpoint" @@ -593,8 +593,8 @@ msgstr "Enter a section title" #~ msgstr "Feature Requests" #: src/components/editor-area/note-header/chips/participants-chip.tsx:385 -msgid "Find person" -msgstr "Find person" +#~ msgid "Find person" +#~ msgstr "Find person" #: src/components/welcome-modal/language-selection-view.tsx:180 #~ msgid "Finish Onboarding" @@ -606,12 +606,12 @@ msgstr "Find person" #: src/routes/app.settings.tsx:45 #: src/routes/app.settings.tsx:118 -msgid "General" -msgstr "General" +#~ msgid "General" +#~ msgstr "General" #: src/components/editor-area/note-header/title-input.tsx:33 -msgid "Generating title..." -msgstr "Generating title..." +#~ msgid "Generating title..." +#~ msgstr "Generating title..." #: src/components/welcome-modal/welcome-view.tsx:36 #~ msgid "Get Started" @@ -640,8 +640,8 @@ msgstr "Generating title..." #: src/routes/app.settings.tsx:65 #: src/routes/app.settings.tsx:138 -msgid "Help & Support" -msgstr "Help & Support" +#~ msgid "Help & Support" +#~ msgstr "Help & Support" #: src/components/settings/views/help-support.tsx:87 #~ msgid "Help us improve by reporting issues" @@ -664,13 +664,13 @@ msgstr "Help & Support" #: src/routes/app.settings.tsx:59 #: src/routes/app.settings.tsx:132 -msgid "Integrations" -msgstr "Integrations" +#~ msgid "Integrations" +#~ msgstr "Integrations" #: src/routes/app.settings.tsx:47 #: src/routes/app.settings.tsx:120 -msgid "Intelligence" -msgstr "Intelligence" +#~ msgid "Intelligence" +#~ msgstr "Intelligence" #: src/components/share-and-permission/invite-list.tsx:30 #~ msgid "Invite" @@ -742,8 +742,8 @@ msgstr "Intelligence" #: src/routes/app.settings.tsx:63 #: src/routes/app.settings.tsx:136 -msgid "MCP" -msgstr "MCP" +#~ msgid "MCP" +#~ msgstr "MCP" #: src/components/settings/views/team.tsx:145 #: src/components/settings/views/team.tsx:232 @@ -756,8 +756,8 @@ msgstr "MCP" #: src/components/settings/views/sound.tsx:127 #: src/components/welcome-modal/audio-permissions-view.tsx:165 -msgid "Microphone Access" -msgstr "Microphone Access" +#~ msgid "Microphone Access" +#~ msgstr "Microphone Access" #: src/components/settings/components/ai/llm-custom-view.tsx:334 #: src/components/settings/components/ai/llm-custom-view.tsx:429 @@ -845,8 +845,8 @@ msgstr "Microphone Access" #: src/routes/app.settings.tsx:53 #: src/routes/app.settings.tsx:126 -msgid "Notifications" -msgstr "Notifications" +#~ msgid "Notifications" +#~ msgstr "Notifications" #: src/components/settings/views/integrations.tsx:136 #~ msgid "Obsidian" @@ -930,16 +930,16 @@ msgstr "Notifications" #: src/components/welcome-modal/audio-permissions-view.tsx:166 #: src/components/welcome-modal/audio-permissions-view.tsx:176 -msgid "Required for meeting transcription" -msgstr "Required for meeting transcription" +#~ msgid "Required for meeting transcription" +#~ msgstr "Required for meeting transcription" #: src/components/settings/views/sound.tsx:138 -msgid "Required to transcribe other people's voice during meetings" -msgstr "Required to transcribe other people's voice during meetings" +#~ msgid "Required to transcribe other people's voice during meetings" +#~ msgstr "Required to transcribe other people's voice during meetings" #: src/components/settings/views/sound.tsx:128 -msgid "Required to transcribe your voice during meetings" -msgstr "Required to transcribe your voice during meetings" +#~ msgid "Required to transcribe your voice during meetings" +#~ msgstr "Required to transcribe your voice during meetings" #: src/components/settings/views/notifications.tsx:392 #~ msgid "Respect Do Not Disturb" @@ -967,17 +967,17 @@ msgstr "Required to transcribe your voice during meetings" #~ msgstr "Saving..." #: src/components/settings/views/team.tsx:200 -msgid "Search names or emails" -msgstr "Search names or emails" +#~ msgid "Search names or emails" +#~ msgstr "Search names or emails" #: src/components/settings/components/template-list.tsx:43 #: src/components/settings/components/templates-sidebar.tsx:33 -msgid "Search templates..." -msgstr "Search templates..." +#~ msgid "Search templates..." +#~ msgstr "Search templates..." #: src/components/search-bar.tsx:144 -msgid "Search..." -msgstr "Search..." +#~ msgid "Search..." +#~ msgstr "Search..." #: src/components/settings/views/template.tsx:416 #~ msgid "Sections" @@ -1024,8 +1024,8 @@ msgstr "Search..." #~ msgstr "Select tags" #: src/components/settings/views/template.tsx:308 -msgid "Select what to use as context..." -msgstr "Select what to use as context..." +#~ msgid "Select what to use as context..." +#~ msgstr "Select what to use as context..." #: src/components/welcome-modal/language-selection-view.tsx:89 #~ msgid "Select Your Languages" @@ -1065,8 +1065,8 @@ msgstr "Select what to use as context..." #: src/routes/app.settings.tsx:57 #: src/routes/app.settings.tsx:130 -msgid "Sound" -msgstr "Sound" +#~ msgid "Sound" +#~ msgstr "Sound" #: src/components/settings/views/general.tsx:345 #~ msgid "Spoken languages" @@ -1094,8 +1094,8 @@ msgstr "Sound" #: src/components/settings/views/sound.tsx:137 #: src/components/welcome-modal/audio-permissions-view.tsx:175 -msgid "System Audio Access" -msgstr "System Audio Access" +#~ msgid "System Audio Access" +#~ msgstr "System Audio Access" #: src/components/settings/views/template.tsx:259 #~ msgid "System Instruction" @@ -1119,8 +1119,8 @@ msgstr "System Audio Access" #: src/routes/app.settings.tsx:55 #: src/routes/app.settings.tsx:128 -msgid "Templates" -msgstr "Templates" +#~ msgid "Templates" +#~ msgstr "Templates" #: src/components/settings/views/integrations.tsx:188 #~ msgid "The base URL of your Obsidian server. This is typically http://127.0.0.1:27123." @@ -1164,8 +1164,8 @@ msgstr "Templates" #: src/routes/app.settings.tsx:49 #: src/routes/app.settings.tsx:122 -msgid "Transcription" -msgstr "Transcription" +#~ msgid "Transcription" +#~ msgstr "Transcription" #: src/components/settings/views/integrations.tsx:156 #~ msgid "Turn on Obsidian integration to export notes to Obsidian vault." @@ -1176,16 +1176,16 @@ msgstr "Transcription" #~ msgstr "Type or paste in emails below, separated by commas. Your workspace will be billed by members." #: src/components/settings/views/team.tsx:81 -msgid "Type to search..." -msgstr "Type to search..." +#~ msgid "Type to search..." +#~ msgstr "Type to search..." #: src/components/editor-area/note-header/title-input.tsx:35 -msgid "Untitled" -msgstr "Untitled" +#~ msgid "Untitled" +#~ msgstr "Untitled" #: src/components/settings/views/template.tsx:230 -msgid "Untitled Template" -msgstr "Untitled Template" +#~ msgid "Untitled Template" +#~ msgstr "Untitled Template" #: src/components/left-sidebar/events-list.tsx:61 #~ msgid "Upcoming" @@ -1212,8 +1212,8 @@ msgstr "Untitled Template" #~ msgstr "User" #: src/components/settings/views/profile.tsx:223 -msgid "username" -msgstr "username" +#~ msgid "username" +#~ msgstr "username" #: src/components/settings/views/integrations.tsx:228 #~ msgid "Vault Name" @@ -1233,8 +1233,8 @@ msgstr "username" #~ msgstr "View Note" #: src/components/settings/views/profile.tsx:193 -msgid "We think different." -msgstr "We think different." +#~ msgid "We think different." +#~ msgstr "We think different." #: src/components/settings/views/integrations.tsx:281 #~ msgid "We're working on adding more tools and services to connect with your workflow" @@ -1253,8 +1253,8 @@ msgstr "We think different." #~ msgstr "What's your role?" #: src/components/welcome-modal/welcome-view.tsx:28 -msgid "Where Conversations Stay Yours" -msgstr "Where Conversations Stay Yours" +#~ msgid "Where Conversations Stay Yours" +#~ msgstr "Where Conversations Stay Yours" #: src/components/settings/views/integrations.tsx:213 #~ msgid "Your API key for Obsidian local-rest-api plugin." @@ -1269,8 +1269,8 @@ msgstr "Where Conversations Stay Yours" #~ msgstr "Your LinkedIn username (the part after linkedin.com/in/)" #: src/components/settings/views/profile.tsx:123 -msgid "Your Name" -msgstr "Your Name" +#~ msgid "Your Name" +#~ msgstr "Your Name" #: src/components/settings/components/templates-sidebar.tsx:45 #: src/components/settings/views/templates.tsx:292 diff --git a/apps/desktop/src/locales/ko/messages.po b/apps/desktop/src/locales/ko/messages.po index a401998e3f..88878c6406 100644 --- a/apps/desktop/src/locales/ko/messages.po +++ b/apps/desktop/src/locales/ko/messages.po @@ -15,198 +15,198 @@ msgstr "" #. js-lingui-explicit-id #: src/components/settings/views/general.tsx:441 -msgid "Type terms separated by commas (e.g., Blitz Meeting, PaC Squad)" -msgstr "" +#~ msgid "Type terms separated by commas (e.g., Blitz Meeting, PaC Squad)" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:22 -msgid "{days} day{plural} later" -msgstr "" +#~ msgid "{days} day{plural} later" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:27 -msgid "{hours} hour{plural} later" -msgstr "" +#~ msgid "{hours} hour{plural} later" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:32 -msgid "{minutes} minutes later" -msgstr "" +#~ msgid "{minutes} minutes later" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:36 #: ../../packages/utils/src/datetime.ts:223 -msgid "Starting soon" -msgstr "" +#~ msgid "Starting soon" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:38 #: ../../packages/utils/src/datetime.ts:207 -msgid "In progress" -msgstr "" +#~ msgid "In progress" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:44 #: ../../packages/utils/src/datetime.ts:90 -msgid "Unknown date" -msgstr "" +#~ msgid "Unknown date" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:53 #: ../../packages/utils/src/datetime.ts:98 -msgid "Invalid date" -msgstr "" +#~ msgid "Invalid date" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:63 -msgid "Today" -msgstr "" +#~ msgid "Today" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:65 #: ../../packages/utils/src/datetime.ts:180 -msgid "Yesterday" -msgstr "" +#~ msgid "Yesterday" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:67 #: ../../packages/utils/src/datetime.ts:182 -msgid "{days} days ago" -msgstr "" +#~ msgid "{days} days ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:69 #: ../../packages/utils/src/datetime.ts:236 -msgid "{days} days later" -msgstr "" +#~ msgid "{days} days later" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:76 #: ../../packages/utils/src/datetime.ts:79 -msgid "{date}" -msgstr "" +#~ msgid "{date}" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:84 #: ../../packages/utils/src/datetime.ts:130 -msgid "Date error" -msgstr "" +#~ msgid "Date error" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:109 -msgid "Today ({dayOfWeek})" -msgstr "" +#~ msgid "Today ({dayOfWeek})" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:111 -msgid "Yesterday ({dayOfWeek})" -msgstr "" +#~ msgid "Yesterday ({dayOfWeek})" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:113 -msgid "{days} days ago ({dayOfWeek})" -msgstr "" +#~ msgid "{days} days ago ({dayOfWeek})" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:115 -msgid "{days} days later ({dayOfWeek})" -msgstr "" +#~ msgid "{days} days later ({dayOfWeek})" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:122 #: ../../packages/utils/src/datetime.ts:125 -msgid "{date} ({dayOfWeek})" -msgstr "" +#~ msgid "{date} ({dayOfWeek})" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:168 -msgid "Just now" -msgstr "" +#~ msgid "Just now" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:170 -msgid "{seconds} seconds ago" -msgstr "" +#~ msgid "{seconds} seconds ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:172 -msgid "1 minute ago" -msgstr "" +#~ msgid "1 minute ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:174 -msgid "{minutes} minutes ago" -msgstr "" +#~ msgid "{minutes} minutes ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:176 -msgid "1 hour ago" -msgstr "" +#~ msgid "1 hour ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:178 -msgid "{hours} hours ago" -msgstr "" +#~ msgid "{hours} hours ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:184 -msgid "1 week ago" -msgstr "" +#~ msgid "1 week ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:186 -msgid "{weeks} weeks ago" -msgstr "" +#~ msgid "{weeks} weeks ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:188 -msgid "1 month ago" -msgstr "" +#~ msgid "1 month ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:190 -msgid "{months} months ago" -msgstr "" +#~ msgid "{months} months ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:192 -msgid "1 year ago" -msgstr "" +#~ msgid "1 year ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:194 -msgid "{years} years ago" -msgstr "" +#~ msgid "{years} years ago" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:225 -msgid "In 1 minute" -msgstr "" +#~ msgid "In 1 minute" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:227 -msgid "In {minutes} minutes" -msgstr "" +#~ msgid "In {minutes} minutes" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:229 -msgid "In 1 hour" -msgstr "" +#~ msgid "In 1 hour" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:231 -msgid "In {hours} hours" -msgstr "" +#~ msgid "In {hours} hours" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:234 -msgid "1 day later" -msgstr "" +#~ msgid "1 day later" +#~ msgstr "" #. js-lingui-explicit-id #: ../../packages/utils/src/datetime.ts:239 -msgid "{weeks} weeks later" -msgstr "" +#~ msgid "{weeks} weeks later" +#~ msgstr "" #: src/components/settings/components/ai/llm-custom-view.tsx:628 #~ msgid "(Optional for localhost)" @@ -316,13 +316,13 @@ msgstr "" #~ msgstr "" #: src/components/settings/views/profile.tsx:168 -msgid "Apple" -msgstr "" +#~ msgid "Apple" +#~ msgstr "" #: src/components/left-sidebar/notes-list.tsx:268 #: src/components/toolbar/buttons/delete-note-button.tsx:43 -msgid "Are you sure you want to delete this note?" -msgstr "" +#~ msgid "Are you sure you want to delete this note?" +#~ msgstr "" #: src/components/right-panel/components/chat/empty-chat-state.tsx:124 #~ msgid "Ask Hyprnote to..." @@ -351,8 +351,8 @@ msgstr "" #: src/routes/app.settings.tsx:61 #: src/routes/app.settings.tsx:134 -msgid "Billing & License" -msgstr "" +#~ msgid "Billing & License" +#~ msgstr "" #: src/components/settings/components/templates-sidebar.tsx:68 #: src/components/settings/views/templates.tsx:356 @@ -361,8 +361,8 @@ msgstr "" #: src/routes/app.settings.tsx:51 #: src/routes/app.settings.tsx:124 -msgid "Calendar" -msgstr "" +#~ msgid "Calendar" +#~ msgstr "" #: src/components/welcome-modal/calendar-permissions-view.tsx:124 #~ msgid "Calendar & Contacts" @@ -377,8 +377,8 @@ msgstr "" #~ msgstr "" #: src/components/settings/views/profile.tsx:143 -msgid "CEO" -msgstr "" +#~ msgid "CEO" +#~ msgstr "" #: src/components/right-panel/components/chat/empty-chat-state.tsx:55 #~ msgid "Chat feature is in beta. For best results, we recommend you to use <0>custom endpoints." @@ -503,17 +503,17 @@ msgstr "" #~ msgstr "" #: src/components/settings/components/template-sections.tsx:154 -msgid "Describe the content and purpose of this section" -msgstr "" +#~ msgid "Describe the content and purpose of this section" +#~ msgstr "" #: src/components/settings/views/template.tsx:265 -msgid "" -"Describe the summary you want to generate...\n" -" \n" -"• what kind of meeting is this?\n" -"• any format requirements?\n" -"• what should AI remember when summarizing?" -msgstr "" +#~ msgid "" +#~ "Describe the summary you want to generate...\n" +#~ " \n" +#~ "• what kind of meeting is this?\n" +#~ "• any format requirements?\n" +#~ "• what should AI remember when summarizing?" +#~ msgstr "" #: src/components/settings/views/notifications.tsx:252 #~ msgid "Detect meetings automatically" @@ -544,8 +544,8 @@ msgstr "" #~ msgstr "" #: src/components/share-and-permission/invite-list.tsx:23 -msgid "Email separated by commas" -msgstr "" +#~ msgid "Email separated by commas" +#~ msgstr "" #: src/components/settings/views/template.tsx:206 #~ msgid "Emoji" @@ -560,8 +560,8 @@ msgstr "" #~ msgstr "" #: src/components/settings/components/template-sections.tsx:144 -msgid "Enter a section title" -msgstr "" +#~ msgid "Enter a section title" +#~ msgstr "" #: src/components/settings/components/ai/llm-custom-view.tsx:606 #~ msgid "Enter the base URL for your custom LLM endpoint" @@ -588,8 +588,8 @@ msgstr "" #~ msgstr "" #: src/components/editor-area/note-header/chips/participants-chip.tsx:385 -msgid "Find person" -msgstr "" +#~ msgid "Find person" +#~ msgstr "" #: src/components/welcome-modal/language-selection-view.tsx:180 #~ msgid "Finish Onboarding" @@ -601,12 +601,12 @@ msgstr "" #: src/routes/app.settings.tsx:45 #: src/routes/app.settings.tsx:118 -msgid "General" -msgstr "" +#~ msgid "General" +#~ msgstr "" #: src/components/editor-area/note-header/title-input.tsx:33 -msgid "Generating title..." -msgstr "" +#~ msgid "Generating title..." +#~ msgstr "" #: src/components/welcome-modal/welcome-view.tsx:36 #~ msgid "Get Started" @@ -635,8 +635,8 @@ msgstr "" #: src/routes/app.settings.tsx:65 #: src/routes/app.settings.tsx:138 -msgid "Help & Support" -msgstr "" +#~ msgid "Help & Support" +#~ msgstr "" #: src/components/settings/views/help-support.tsx:87 #~ msgid "Help us improve by reporting issues" @@ -659,13 +659,13 @@ msgstr "" #: src/routes/app.settings.tsx:59 #: src/routes/app.settings.tsx:132 -msgid "Integrations" -msgstr "" +#~ msgid "Integrations" +#~ msgstr "" #: src/routes/app.settings.tsx:47 #: src/routes/app.settings.tsx:120 -msgid "Intelligence" -msgstr "" +#~ msgid "Intelligence" +#~ msgstr "" #: src/components/share-and-permission/invite-list.tsx:30 #~ msgid "Invite" @@ -737,8 +737,8 @@ msgstr "" #: src/routes/app.settings.tsx:63 #: src/routes/app.settings.tsx:136 -msgid "MCP" -msgstr "" +#~ msgid "MCP" +#~ msgstr "" #: src/components/settings/views/team.tsx:145 #: src/components/settings/views/team.tsx:232 @@ -751,8 +751,8 @@ msgstr "" #: src/components/settings/views/sound.tsx:127 #: src/components/welcome-modal/audio-permissions-view.tsx:165 -msgid "Microphone Access" -msgstr "" +#~ msgid "Microphone Access" +#~ msgstr "" #: src/components/settings/components/ai/llm-custom-view.tsx:334 #: src/components/settings/components/ai/llm-custom-view.tsx:429 @@ -840,8 +840,8 @@ msgstr "" #: src/routes/app.settings.tsx:53 #: src/routes/app.settings.tsx:126 -msgid "Notifications" -msgstr "" +#~ msgid "Notifications" +#~ msgstr "" #: src/components/settings/views/integrations.tsx:136 #~ msgid "Obsidian" @@ -925,16 +925,16 @@ msgstr "" #: src/components/welcome-modal/audio-permissions-view.tsx:166 #: src/components/welcome-modal/audio-permissions-view.tsx:176 -msgid "Required for meeting transcription" -msgstr "" +#~ msgid "Required for meeting transcription" +#~ msgstr "" #: src/components/settings/views/sound.tsx:138 -msgid "Required to transcribe other people's voice during meetings" -msgstr "" +#~ msgid "Required to transcribe other people's voice during meetings" +#~ msgstr "" #: src/components/settings/views/sound.tsx:128 -msgid "Required to transcribe your voice during meetings" -msgstr "" +#~ msgid "Required to transcribe your voice during meetings" +#~ msgstr "" #: src/components/settings/views/notifications.tsx:392 #~ msgid "Respect Do Not Disturb" @@ -962,17 +962,17 @@ msgstr "" #~ msgstr "" #: src/components/settings/views/team.tsx:200 -msgid "Search names or emails" -msgstr "" +#~ msgid "Search names or emails" +#~ msgstr "" #: src/components/settings/components/template-list.tsx:43 #: src/components/settings/components/templates-sidebar.tsx:33 -msgid "Search templates..." -msgstr "" +#~ msgid "Search templates..." +#~ msgstr "" #: src/components/search-bar.tsx:144 -msgid "Search..." -msgstr "" +#~ msgid "Search..." +#~ msgstr "" #: src/components/settings/views/template.tsx:416 #~ msgid "Sections" @@ -1019,8 +1019,8 @@ msgstr "" #~ msgstr "" #: src/components/settings/views/template.tsx:308 -msgid "Select what to use as context..." -msgstr "" +#~ msgid "Select what to use as context..." +#~ msgstr "" #: src/components/welcome-modal/language-selection-view.tsx:89 #~ msgid "Select Your Languages" @@ -1060,8 +1060,8 @@ msgstr "" #: src/routes/app.settings.tsx:57 #: src/routes/app.settings.tsx:130 -msgid "Sound" -msgstr "" +#~ msgid "Sound" +#~ msgstr "" #: src/components/settings/views/general.tsx:345 #~ msgid "Spoken languages" @@ -1089,8 +1089,8 @@ msgstr "" #: src/components/settings/views/sound.tsx:137 #: src/components/welcome-modal/audio-permissions-view.tsx:175 -msgid "System Audio Access" -msgstr "" +#~ msgid "System Audio Access" +#~ msgstr "" #: src/components/settings/views/template.tsx:259 #~ msgid "System Instruction" @@ -1114,8 +1114,8 @@ msgstr "" #: src/routes/app.settings.tsx:55 #: src/routes/app.settings.tsx:128 -msgid "Templates" -msgstr "" +#~ msgid "Templates" +#~ msgstr "" #: src/components/settings/views/integrations.tsx:188 #~ msgid "The base URL of your Obsidian server. This is typically http://127.0.0.1:27123." @@ -1159,8 +1159,8 @@ msgstr "" #: src/routes/app.settings.tsx:49 #: src/routes/app.settings.tsx:122 -msgid "Transcription" -msgstr "" +#~ msgid "Transcription" +#~ msgstr "" #: src/components/settings/views/integrations.tsx:156 #~ msgid "Turn on Obsidian integration to export notes to Obsidian vault." @@ -1171,16 +1171,16 @@ msgstr "" #~ msgstr "" #: src/components/settings/views/team.tsx:81 -msgid "Type to search..." -msgstr "" +#~ msgid "Type to search..." +#~ msgstr "" #: src/components/editor-area/note-header/title-input.tsx:35 -msgid "Untitled" -msgstr "" +#~ msgid "Untitled" +#~ msgstr "" #: src/components/settings/views/template.tsx:230 -msgid "Untitled Template" -msgstr "" +#~ msgid "Untitled Template" +#~ msgstr "" #: src/components/left-sidebar/events-list.tsx:61 #~ msgid "Upcoming" @@ -1207,8 +1207,8 @@ msgstr "" #~ msgstr "" #: src/components/settings/views/profile.tsx:223 -msgid "username" -msgstr "" +#~ msgid "username" +#~ msgstr "" #: src/components/settings/views/integrations.tsx:228 #~ msgid "Vault Name" @@ -1228,8 +1228,8 @@ msgstr "" #~ msgstr "" #: src/components/settings/views/profile.tsx:193 -msgid "We think different." -msgstr "" +#~ msgid "We think different." +#~ msgstr "" #: src/components/settings/views/integrations.tsx:281 #~ msgid "We're working on adding more tools and services to connect with your workflow" @@ -1248,8 +1248,8 @@ msgstr "" #~ msgstr "" #: src/components/welcome-modal/welcome-view.tsx:28 -msgid "Where Conversations Stay Yours" -msgstr "" +#~ msgid "Where Conversations Stay Yours" +#~ msgstr "" #: src/components/settings/views/integrations.tsx:213 #~ msgid "Your API key for Obsidian local-rest-api plugin." @@ -1264,8 +1264,8 @@ msgstr "" #~ msgstr "" #: src/components/settings/views/profile.tsx:123 -msgid "Your Name" -msgstr "" +#~ msgid "Your Name" +#~ msgstr "" #: src/components/settings/components/templates-sidebar.tsx:45 #: src/components/settings/views/templates.tsx:292 diff --git a/packages/ui/src/components/block/tab-header.tsx b/packages/ui/src/components/block/tab-header.tsx new file mode 100644 index 0000000000..725d3ad9b2 --- /dev/null +++ b/packages/ui/src/components/block/tab-header.tsx @@ -0,0 +1,108 @@ +import { cn } from "@hypr/ui/lib/utils"; +import { useEffect } from "react"; + +interface TabHeaderProps { + isEnhancing?: boolean; + onVisibilityChange?: (isVisible: boolean) => void; + currentTab: "raw" | "enhanced" | "transcript"; + onTabChange: (tab: "raw" | "enhanced" | "transcript") => void; + isCurrentlyRecording: boolean; + shouldShowTab: boolean; + shouldShowEnhancedTab: boolean; +} + +export const TabHeader = ({ + isEnhancing, + onVisibilityChange, + onTabChange, + currentTab, + isCurrentlyRecording, + shouldShowTab, + shouldShowEnhancedTab, +}: TabHeaderProps) => { + useEffect(() => { + // when enhancement starts (immediately after recording ends) -> switch to enhanced note + if (isEnhancing) { + onTabChange("enhanced"); + } + }, [isEnhancing]); + + // set default tab to 'raw' for blank notes (no meeting session) + useEffect(() => { + if (!shouldShowTab) { + onTabChange("raw"); + } + }, [shouldShowTab, onTabChange]); + + // notify parent when visibility changes + useEffect(() => { + if (onVisibilityChange) { + onVisibilityChange(shouldShowTab ?? false); + } + }, [shouldShowTab, onVisibilityChange]); + + // don't render tabs at all for blank notes (no meeting session) + if (!shouldShowTab) { + return null; + } + + return ( +
+ {/* Tab container */} +
+
+
+ {/* Raw Note Tab */} + + {/* Enhanced Note Tab - show when session ended OR transcript exists OR enhanced memo exists */} + {shouldShowEnhancedTab && ( + + )} + + + + {/* Transcript Tab - always show */} + +
+
+
+
+ ); +};