diff --git a/apps/desktop/src/components/editor-area/note-header/chips/event-chip.tsx b/apps/desktop/src/components/editor-area/note-header/chips/event-chip.tsx index cce261ac03..41e6772c95 100644 --- a/apps/desktop/src/components/editor-area/note-header/chips/event-chip.tsx +++ b/apps/desktop/src/components/editor-area/note-header/chips/event-chip.tsx @@ -4,7 +4,7 @@ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { openUrl } from "@tauri-apps/plugin-opener"; import { format, isSameDay, subDays } from "date-fns"; import { CalendarIcon, SearchIcon, SpeechIcon, VideoIcon, XIcon } from "lucide-react"; -import { useState } from "react"; +import { useEffect, useState } from "react"; import { useHypr } from "@/contexts"; import { commands as appleCalendarCommands } from "@hypr/plugin-apple-calendar"; @@ -37,6 +37,12 @@ export function EventChip({ sessionId }: EventChipProps) { const [activeTab, setActiveTab] = useState<"event" | "date">("event"); const queryClient = useQueryClient(); + useEffect(() => { + if (isPopoverOpen) { + setActiveTab("event"); + } + }, [isPopoverOpen]); + const { sessionCreatedAt, updateTitle, diff --git a/apps/desktop/src/components/settings/components/ai/llm-custom-view.tsx b/apps/desktop/src/components/settings/components/ai/llm-custom-view.tsx index c11c112905..369bea3aba 100644 --- a/apps/desktop/src/components/settings/components/ai/llm-custom-view.tsx +++ b/apps/desktop/src/components/settings/components/ai/llm-custom-view.tsx @@ -25,6 +25,7 @@ const openaiModels = [ ]; const geminiModels = [ + "gemini-2.5-pro", "gemini-1.5-pro", "gemini-1.5-flash", ]; diff --git a/apps/desktop/src/components/toolbar/buttons/chat-panel-button.tsx b/apps/desktop/src/components/toolbar/buttons/chat-panel-button.tsx index 3c027d538e..100c4bb7c9 100644 --- a/apps/desktop/src/components/toolbar/buttons/chat-panel-button.tsx +++ b/apps/desktop/src/components/toolbar/buttons/chat-panel-button.tsx @@ -1,5 +1,6 @@ import { Trans } from "@lingui/react/macro"; -import { memo, useEffect, useState } from "react"; +import { MessageCircleMore } from "lucide-react"; +import { memo, useEffect } from "react"; import { useRightPanel } from "@/contexts"; import { Button } from "@hypr/ui/components/ui/button"; @@ -9,22 +10,9 @@ import Shortcut from "../../shortcut"; function ChatPanelButtonBase() { const { isExpanded, currentView, togglePanel } = useRightPanel(); - const [isAnimating, setIsAnimating] = useState(false); const isActive = isExpanded && currentView === "chat"; - useEffect(() => { - const animationInterval = setInterval(() => { - setIsAnimating(true); - const timeout = setTimeout(() => { - setIsAnimating(false); - }, 1625); - return () => clearTimeout(timeout); - }, 4625); - - return () => clearInterval(animationInterval); - }, []); - useEffect(() => { const handleKeyDown = (event: KeyboardEvent) => { if (event.key === "j" && (event.metaKey || event.ctrlKey)) { @@ -53,13 +41,7 @@ function ChatPanelButtonBase() { onClick={handleClick} className={cn("hover:bg-neutral-200 text-xs size-7 p-0", isActive && "bg-neutral-200")} > -
- Chat Assistant -
+ diff --git a/apps/desktop/src/components/toolbar/buttons/share-button.tsx b/apps/desktop/src/components/toolbar/buttons/share-button.tsx index 254ad0e65f..fc45c70521 100644 --- a/apps/desktop/src/components/toolbar/buttons/share-button.tsx +++ b/apps/desktop/src/components/toolbar/buttons/share-button.tsx @@ -4,7 +4,7 @@ import { join } from "@tauri-apps/api/path"; import { message } from "@tauri-apps/plugin-dialog"; import { fetch as tauriFetch } from "@tauri-apps/plugin-http"; import { openPath, openUrl } from "@tauri-apps/plugin-opener"; -import { BookText, ChevronDown, ChevronUp, FileText, HelpCircle, Mail, Share2Icon } from "lucide-react"; +import { BookText, Check, ChevronDown, ChevronUp, Copy, FileText, HelpCircle, Mail, Share2Icon } from "lucide-react"; import { useState } from "react"; import { useHypr } from "@/contexts"; @@ -38,6 +38,7 @@ function ShareButtonInNote() { const [open, setOpen] = useState(false); const [expandedId, setExpandedId] = useState(null); const [selectedObsidianFolder, setSelectedObsidianFolder] = useState("default"); + const [copySuccess, setCopySuccess] = useState(false); const hasEnhancedNote = !!session?.enhanced_memo_html; const isObsidianConfigured = useQuery({ @@ -72,6 +73,15 @@ function ShareButtonInNote() { staleTime: 5 * 60 * 1000, }); + const directActions: DirectAction[] = [ + { + id: "copy", + title: "Copy Note", + icon: , + description: "", + }, + ]; + const exportOptions: ExportCard[] = [ { id: "pdf", @@ -124,6 +134,10 @@ function ShareButtonInNote() { setOpen(newOpen); setExpandedId(null); + if (!newOpen) { + setCopySuccess(false); + } + if (newOpen) { isObsidianConfigured.refetch().then((configResult) => { if (configResult.data) { @@ -143,7 +157,9 @@ function ShareButtonInNote() { const start = performance.now(); let result: ExportResult | null = null; - if (optionId === "pdf") { + if (optionId === "copy") { + result = await exportHandlers.copy(session); + } else if (optionId === "pdf") { result = await exportHandlers.pdf(session); } else if (optionId === "email") { result = await exportHandlers.email(session); @@ -187,7 +203,11 @@ function ShareButtonInNote() { }); }, onSuccess: (result) => { - if (result?.type === "pdf" && result.path) { + if (result?.type === "copy" && result.success) { + setCopySuccess(true); + // Reset after 2 seconds + setTimeout(() => setCopySuccess(false), 2000); + } else if (result?.type === "pdf" && result.path) { openPath(result.path); } else if (result?.type === "email" && result.url) { openUrl(result.url); @@ -195,8 +215,10 @@ function ShareButtonInNote() { openUrl(result.url); } }, - onSettled: () => { - setOpen(false); + onSettled: (result) => { + if (result?.type !== "copy") { + setOpen(false); + } }, onError: (error) => { console.error(error); @@ -238,6 +260,35 @@ function ShareButtonInNote() {

+ {/* Direct action buttons */} + {directActions.map((action) => { + const isLoading = exportMutation.isPending && exportMutation.variables?.optionId === action.id; + const isSuccess = action.id === "copy" && copySuccess; + + return ( +
+ +
+ ); + })} + + {/* Expandable export options */} {exportOptions.map((option) => { const expanded = expandedId === option.id; @@ -315,6 +366,13 @@ function ShareButtonInNote() { ); } +interface DirectAction { + id: "copy"; + title: string; + icon: React.ReactNode; + description: string; +} + interface ExportCard { id: "pdf" | "email" | "obsidian"; title: string; @@ -324,9 +382,10 @@ interface ExportCard { } interface ExportResult { - type: "pdf" | "email" | "obsidian"; + type: "copy" | "pdf" | "email" | "obsidian"; path?: string; url?: string; + success?: boolean; } interface ObsidianFolder { @@ -335,6 +394,26 @@ interface ObsidianFolder { } const exportHandlers = { + copy: async (session: Session): Promise => { + try { + let textToCopy = ""; + + if (session.enhanced_memo_html) { + textToCopy = html2md(session.enhanced_memo_html); + } else if (session.raw_memo_html) { + textToCopy = html2md(session.raw_memo_html); + } else { + textToCopy = session.title || "No content available"; + } + + await navigator.clipboard.writeText(textToCopy); + return { type: "copy", success: true }; + } catch (error) { + console.error("Failed to copy to clipboard:", error); + throw new Error("Failed to copy note to clipboard"); + } + }, + pdf: async (session: Session): Promise => { const path = await exportToPDF(session); return { type: "pdf", path }; diff --git a/apps/desktop/src/locales/en/messages.po b/apps/desktop/src/locales/en/messages.po index ce6a27f70a..cf00691c7d 100644 --- a/apps/desktop/src/locales/en/messages.po +++ b/apps/desktop/src/locales/en/messages.po @@ -256,7 +256,7 @@ msgstr "(Beta) Detect meetings automatically" msgid "(Beta) Upcoming meeting notifications" msgstr "(Beta) Upcoming meeting notifications" -#: src/components/settings/components/ai/llm-custom-view.tsx:580 +#: src/components/settings/components/ai/llm-custom-view.tsx:581 msgid "(Optional for localhost)" msgstr "(Optional for localhost)" @@ -320,7 +320,7 @@ msgstr "Access granted" msgid "Access Granted" msgstr "Access Granted" -#: src/components/settings/components/ai/llm-custom-view.tsx:445 +#: src/components/settings/components/ai/llm-custom-view.tsx:446 msgid "Access multiple AI models through OpenRouter with your API key" msgstr "Access multiple AI models through OpenRouter with your API key" @@ -386,15 +386,15 @@ msgstr "and {0} more members" msgid "Anyone with the link can view this page" msgstr "Anyone with the link can view this page" -#: src/components/settings/components/ai/llm-custom-view.tsx:555 +#: src/components/settings/components/ai/llm-custom-view.tsx:556 msgid "API Base URL" msgstr "API Base URL" #: src/components/settings/views/integrations.tsx:197 -#: src/components/settings/components/ai/llm-custom-view.tsx:263 -#: src/components/settings/components/ai/llm-custom-view.tsx:359 -#: src/components/settings/components/ai/llm-custom-view.tsx:465 -#: src/components/settings/components/ai/llm-custom-view.tsx:577 +#: src/components/settings/components/ai/llm-custom-view.tsx:264 +#: src/components/settings/components/ai/llm-custom-view.tsx:360 +#: src/components/settings/components/ai/llm-custom-view.tsx:466 +#: src/components/settings/components/ai/llm-custom-view.tsx:578 msgid "API Key" msgstr "API Key" @@ -532,7 +532,7 @@ msgstr "Company name" #~ msgid "Connect" #~ msgstr "Connect" -#: src/components/settings/components/ai/llm-custom-view.tsx:535 +#: src/components/settings/components/ai/llm-custom-view.tsx:536 msgid "Connect to a self-hosted or third-party LLM endpoint (OpenAI API compatible)" msgstr "Connect to a self-hosted or third-party LLM endpoint (OpenAI API compatible)" @@ -624,7 +624,7 @@ msgstr "Create your first template to get started" #~ msgid "Custom Endpoint" #~ msgstr "Custom Endpoint" -#: src/components/settings/components/ai/llm-custom-view.tsx:212 +#: src/components/settings/components/ai/llm-custom-view.tsx:213 msgid "Custom Endpoints" msgstr "Custom Endpoints" @@ -718,7 +718,7 @@ msgstr "Enter a section title" #~ msgid "Enter the API key for your custom LLM endpoint" #~ msgstr "Enter the API key for your custom LLM endpoint" -#: src/components/settings/components/ai/llm-custom-view.tsx:558 +#: src/components/settings/components/ai/llm-custom-view.tsx:559 msgid "Enter the base URL for your custom LLM endpoint" msgstr "Enter the base URL for your custom LLM endpoint" @@ -795,7 +795,7 @@ msgstr "Generating title..." msgid "Get Started" msgstr "Get Started" -#: src/components/settings/components/ai/llm-custom-view.tsx:335 +#: src/components/settings/components/ai/llm-custom-view.tsx:336 msgid "Google Gemini" msgstr "Google Gemini" @@ -872,7 +872,7 @@ msgstr "It's ok to move on, downloads will continue in the background" msgid "Job title" msgstr "Job title" -#: src/components/editor-area/note-header/chips/event-chip.tsx:185 +#: src/components/editor-area/note-header/chips/event-chip.tsx:191 msgid "Join meeting" msgstr "Join meeting" @@ -912,11 +912,11 @@ msgstr "LLM - Custom" msgid "LLM - Local" msgstr "LLM - Local" -#: src/components/settings/components/ai/llm-custom-view.tsx:614 +#: src/components/settings/components/ai/llm-custom-view.tsx:615 msgid "Loading available models..." msgstr "Loading available models..." -#: src/components/editor-area/note-header/chips/event-chip.tsx:401 +#: src/components/editor-area/note-header/chips/event-chip.tsx:407 msgid "Loading events..." msgstr "Loading events..." @@ -962,13 +962,13 @@ msgstr "Members" msgid "Microphone Access" msgstr "Microphone Access" -#: src/components/settings/components/ai/llm-custom-view.tsx:283 -#: src/components/settings/components/ai/llm-custom-view.tsx:379 -#: src/components/settings/components/ai/llm-custom-view.tsx:485 +#: src/components/settings/components/ai/llm-custom-view.tsx:284 +#: src/components/settings/components/ai/llm-custom-view.tsx:380 +#: src/components/settings/components/ai/llm-custom-view.tsx:486 msgid "Model" msgstr "Model" -#: src/components/settings/components/ai/llm-custom-view.tsx:602 +#: src/components/settings/components/ai/llm-custom-view.tsx:603 msgid "Model Name" msgstr "Model Name" @@ -1017,7 +1017,7 @@ msgstr "No members found" #~ msgid "No models available for this endpoint." #~ msgstr "No models available for this endpoint." -#: src/components/editor-area/note-header/chips/event-chip.tsx:409 +#: src/components/editor-area/note-header/chips/event-chip.tsx:415 msgid "No past events found." msgstr "No past events found." @@ -1092,11 +1092,11 @@ msgstr "Open in new window" #~ msgid "Open Note" #~ msgstr "Open Note" -#: src/components/settings/components/ai/llm-custom-view.tsx:239 +#: src/components/settings/components/ai/llm-custom-view.tsx:240 msgid "OpenAI" msgstr "OpenAI" -#: src/components/settings/components/ai/llm-custom-view.tsx:441 +#: src/components/settings/components/ai/llm-custom-view.tsx:442 msgid "OpenRouter" msgstr "OpenRouter" @@ -1108,7 +1108,7 @@ msgstr "Optional base folder path within your Obsidian vault." msgid "Optional for participant suggestions" msgstr "Optional for participant suggestions" -#: src/components/settings/components/ai/llm-custom-view.tsx:532 +#: src/components/settings/components/ai/llm-custom-view.tsx:533 msgid "Others" msgstr "Others" @@ -1204,7 +1204,7 @@ msgstr "Role" #~ msgid "Save and close" #~ msgstr "Save and close" -#: src/components/editor-area/note-header/chips/event-chip.tsx:527 +#: src/components/editor-area/note-header/chips/event-chip.tsx:533 msgid "Save Date" msgstr "Save Date" @@ -1212,7 +1212,7 @@ msgstr "Save Date" msgid "Save recordings" msgstr "Save recordings" -#: src/components/editor-area/note-header/chips/event-chip.tsx:527 +#: src/components/editor-area/note-header/chips/event-chip.tsx:533 msgid "Saving..." msgstr "Saving..." @@ -1241,7 +1241,7 @@ msgstr "Search..." msgid "Sections" msgstr "Sections" -#: src/components/settings/components/ai/llm-custom-view.tsx:605 +#: src/components/settings/components/ai/llm-custom-view.tsx:606 msgid "Select a model from the dropdown (if available) or manually enter the model name required by your endpoint." msgstr "Select a model from the dropdown (if available) or manually enter the model name required by your endpoint." @@ -1394,7 +1394,7 @@ msgstr "This is the name of the company you work for." msgid "Today" msgstr "Today" -#: src/components/toolbar/buttons/chat-panel-button.tsx:67 +#: src/components/toolbar/buttons/chat-panel-button.tsx:49 msgid "Toggle chat panel" msgstr "Toggle chat panel" @@ -1450,11 +1450,11 @@ msgstr "Upcoming Events" #~ msgid "Upgrade" #~ msgstr "Upgrade" -#: src/components/settings/components/ai/llm-custom-view.tsx:339 +#: src/components/settings/components/ai/llm-custom-view.tsx:340 msgid "Use Google's Gemini models with your API key" msgstr "Use Google's Gemini models with your API key" -#: src/components/settings/components/ai/llm-custom-view.tsx:243 +#: src/components/settings/components/ai/llm-custom-view.tsx:244 msgid "Use OpenAI's GPT models with your API key" msgstr "Use OpenAI's GPT models with your API key" @@ -1483,7 +1483,7 @@ msgid "View calendar" msgstr "View calendar" #: src/components/left-sidebar/events-list.tsx:193 -#: src/components/editor-area/note-header/chips/event-chip.tsx:195 +#: src/components/editor-area/note-header/chips/event-chip.tsx:201 msgid "View in calendar" msgstr "View in calendar" diff --git a/apps/desktop/src/locales/ko/messages.po b/apps/desktop/src/locales/ko/messages.po index 05c39d6c10..d0d1db1300 100644 --- a/apps/desktop/src/locales/ko/messages.po +++ b/apps/desktop/src/locales/ko/messages.po @@ -254,9 +254,9 @@ msgstr "" #: src/components/settings/views/notifications.tsx:132 msgid "(Beta) Upcoming meeting notifications" -msgstr "" +msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:580 +#: src/components/settings/components/ai/llm-custom-view.tsx:581 msgid "(Optional for localhost)" msgstr "" @@ -318,9 +318,9 @@ msgstr "" #: src/components/welcome-modal/audio-permissions-view.tsx:58 #: src/components/settings/views/sound.tsx:44 msgid "Access Granted" -msgstr "" +msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:445 +#: src/components/settings/components/ai/llm-custom-view.tsx:446 msgid "Access multiple AI models through OpenRouter with your API key" msgstr "" @@ -384,17 +384,17 @@ msgstr "" #: src/components/share-and-permission/publish.tsx:18 msgid "Anyone with the link can view this page" -msgstr "" +msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:555 +#: src/components/settings/components/ai/llm-custom-view.tsx:556 msgid "API Base URL" msgstr "" #: src/components/settings/views/integrations.tsx:197 -#: src/components/settings/components/ai/llm-custom-view.tsx:263 -#: src/components/settings/components/ai/llm-custom-view.tsx:359 -#: src/components/settings/components/ai/llm-custom-view.tsx:465 -#: src/components/settings/components/ai/llm-custom-view.tsx:577 +#: src/components/settings/components/ai/llm-custom-view.tsx:264 +#: src/components/settings/components/ai/llm-custom-view.tsx:360 +#: src/components/settings/components/ai/llm-custom-view.tsx:466 +#: src/components/settings/components/ai/llm-custom-view.tsx:578 msgid "API Key" msgstr "" @@ -530,9 +530,9 @@ msgstr "" #: src/components/settings/components/calendar/cloud-calendar-integration-details.tsx:63 #~ msgid "Connect" -#~ msgstr "" +#~ msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:535 +#: src/components/settings/components/ai/llm-custom-view.tsx:536 msgid "Connect to a self-hosted or third-party LLM endpoint (OpenAI API compatible)" msgstr "" @@ -622,9 +622,9 @@ msgstr "" #: src/components/settings/views/ai.tsx:747 #~ msgid "Custom Endpoint" -#~ msgstr "" +#~ msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:212 +#: src/components/settings/components/ai/llm-custom-view.tsx:213 msgid "Custom Endpoints" msgstr "" @@ -716,9 +716,9 @@ msgstr "" #: src/components/settings/components/ai/llm-custom-view.tsx:519 #~ msgid "Enter the API key for your custom LLM endpoint" -#~ msgstr "" +#~ msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:558 +#: src/components/settings/components/ai/llm-custom-view.tsx:559 msgid "Enter the base URL for your custom LLM endpoint" msgstr "" @@ -793,9 +793,9 @@ msgstr "" #: src/components/welcome-modal/welcome-view.tsx:36 msgid "Get Started" -msgstr "" +msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:335 +#: src/components/settings/components/ai/llm-custom-view.tsx:336 msgid "Google Gemini" msgstr "" @@ -872,7 +872,7 @@ msgstr "" msgid "Job title" msgstr "" -#: src/components/editor-area/note-header/chips/event-chip.tsx:185 +#: src/components/editor-area/note-header/chips/event-chip.tsx:191 msgid "Join meeting" msgstr "" @@ -910,13 +910,13 @@ msgstr "" #: src/components/settings/views/ai.tsx:799 msgid "LLM - Local" -msgstr "" +msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:614 +#: src/components/settings/components/ai/llm-custom-view.tsx:615 msgid "Loading available models..." msgstr "" -#: src/components/editor-area/note-header/chips/event-chip.tsx:401 +#: src/components/editor-area/note-header/chips/event-chip.tsx:407 msgid "Loading events..." msgstr "" @@ -960,15 +960,15 @@ msgstr "" #: src/components/welcome-modal/audio-permissions-view.tsx:165 #: src/components/settings/views/sound.tsx:127 msgid "Microphone Access" -msgstr "" +msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:283 -#: src/components/settings/components/ai/llm-custom-view.tsx:379 -#: src/components/settings/components/ai/llm-custom-view.tsx:485 +#: src/components/settings/components/ai/llm-custom-view.tsx:284 +#: src/components/settings/components/ai/llm-custom-view.tsx:380 +#: src/components/settings/components/ai/llm-custom-view.tsx:486 msgid "Model" msgstr "" -#: src/components/settings/components/ai/llm-custom-view.tsx:602 +#: src/components/settings/components/ai/llm-custom-view.tsx:603 msgid "Model Name" msgstr "" @@ -1017,7 +1017,7 @@ msgstr "" #~ msgid "No models available for this endpoint." #~ msgstr "" -#: src/components/editor-area/note-header/chips/event-chip.tsx:409 +#: src/components/editor-area/note-header/chips/event-chip.tsx:415 msgid "No past events found." msgstr "" @@ -1090,13 +1090,13 @@ msgstr "" #: src/components/workspace-calendar/note-card.tsx:123 #: src/components/workspace-calendar/event-card.tsx:153 #~ msgid "Open Note" -#~ msgstr "" +#~ msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:239 +#: src/components/settings/components/ai/llm-custom-view.tsx:240 msgid "OpenAI" msgstr "" -#: src/components/settings/components/ai/llm-custom-view.tsx:441 +#: src/components/settings/components/ai/llm-custom-view.tsx:442 msgid "OpenRouter" msgstr "" @@ -1106,9 +1106,9 @@ msgstr "" #: src/components/settings/components/calendar/apple-calendar-integration-details.tsx:114 msgid "Optional for participant suggestions" -msgstr "" +msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:532 +#: src/components/settings/components/ai/llm-custom-view.tsx:533 msgid "Others" msgstr "" @@ -1204,7 +1204,7 @@ msgstr "" #~ msgid "Save and close" #~ msgstr "" -#: src/components/editor-area/note-header/chips/event-chip.tsx:527 +#: src/components/editor-area/note-header/chips/event-chip.tsx:533 msgid "Save Date" msgstr "" @@ -1212,7 +1212,7 @@ msgstr "" msgid "Save recordings" msgstr "" -#: src/components/editor-area/note-header/chips/event-chip.tsx:527 +#: src/components/editor-area/note-header/chips/event-chip.tsx:533 msgid "Saving..." msgstr "" @@ -1239,9 +1239,9 @@ msgstr "" #: src/components/settings/views/template.tsx:240 msgid "Sections" -msgstr "" +msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:605 +#: src/components/settings/components/ai/llm-custom-view.tsx:606 msgid "Select a model from the dropdown (if available) or manually enter the model name required by your endpoint." msgstr "" @@ -1394,7 +1394,7 @@ msgstr "" msgid "Today" msgstr "" -#: src/components/toolbar/buttons/chat-panel-button.tsx:67 +#: src/components/toolbar/buttons/chat-panel-button.tsx:49 msgid "Toggle chat panel" msgstr "" @@ -1448,13 +1448,13 @@ msgstr "" #: src/components/settings/views/billing.tsx:69 #~ msgid "Upgrade" -#~ msgstr "" +#~ msgstr "<<<<<<< HEAD" -#: src/components/settings/components/ai/llm-custom-view.tsx:339 +#: src/components/settings/components/ai/llm-custom-view.tsx:340 msgid "Use Google's Gemini models with your API key" msgstr "" -#: src/components/settings/components/ai/llm-custom-view.tsx:243 +#: src/components/settings/components/ai/llm-custom-view.tsx:244 msgid "Use OpenAI's GPT models with your API key" msgstr "" @@ -1483,7 +1483,7 @@ msgid "View calendar" msgstr "" #: src/components/left-sidebar/events-list.tsx:193 -#: src/components/editor-area/note-header/chips/event-chip.tsx:195 +#: src/components/editor-area/note-header/chips/event-chip.tsx:201 msgid "View in calendar" msgstr ""