diff --git a/.github/workflows/desktop_cd.yaml b/.github/workflows/desktop_cd.yaml index 16c8fc1b85..c684765b6a 100644 --- a/.github/workflows/desktop_cd.yaml +++ b/.github/workflows/desktop_cd.yaml @@ -73,7 +73,6 @@ jobs: - uses: ./.github/actions/pnpm_install - uses: ./.github/actions/poetry_install - run: poetry run python scripts/pre_build.py - - run: pnpm -F desktop lingui:compile - run: pnpm -F ui build - uses: ./.github/actions/apple_cert id: apple-cert diff --git a/.github/workflows/i18n.yaml b/.github/workflows/i18n.yaml deleted file mode 100644 index 83d85e1da4..0000000000 --- a/.github/workflows/i18n.yaml +++ /dev/null @@ -1,33 +0,0 @@ -on: - workflow_dispatch: - push: - branches: - - main - paths: - - apps/desktop/** - - Taskfile.yaml - pull_request: - branches: - - main - paths: - - apps/desktop/** - - Taskfile.yaml - -jobs: - i18n: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/pnpm_install - - uses: arduino/setup-task@v1 - with: - version: 3.x - repo-token: ${{ secrets.GITHUB_TOKEN }} - - run: task i18n - - run: | - if [[ -n $(git status --porcelain) ]]; then - echo "::error::i18n data is not up-to-date. Please run 'task i18n' locally and commit the changes." - echo "Changes detected:" - git --no-pager diff - exit 1 - fi 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 0622e5c36c..3dcf9e42e2 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 @@ -1,5 +1,5 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@hypr/ui/components/ui/tooltip"; -import { Trans } from "@lingui/react/macro"; + import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { openUrl } from "@tauri-apps/plugin-opener"; import { clsx } from "clsx"; @@ -198,7 +198,7 @@ export function EventChip({ sessionId, isVeryNarrow = false, isNarrow = false }: className="flex-1 focus:outline-none" > - Join meeting + Join meeting )} @@ -208,7 +208,7 @@ export function EventChip({ sessionId, isVeryNarrow = false, isNarrow = false }: disabled={!calendar.data} className="flex-1 focus:outline-none" > - View in calendar + View in calendar @@ -467,7 +467,7 @@ function EventTab({ if (eventsInPastWithoutAssignedSession.isLoading) { return (
- Loading events... + Loading events...
); } @@ -475,7 +475,7 @@ function EventTab({ if (filteredEvents.length === 0) { return (
- No past events found. + No past events found.
); } @@ -596,7 +596,7 @@ function DateTab({ disabled={updateSessionDate.isPending} className="flex-1 focus:outline-none" > - {updateSessionDate.isPending ? Saving... : Save Date} + {updateSessionDate.isPending ?

Saving...

:

Save Date

} diff --git a/apps/desktop/src/components/editor-area/note-header/chips/participants-chip.tsx b/apps/desktop/src/components/editor-area/note-header/chips/participants-chip.tsx index c3c3f555b7..66f83b252a 100644 --- a/apps/desktop/src/components/editor-area/note-header/chips/participants-chip.tsx +++ b/apps/desktop/src/components/editor-area/note-header/chips/participants-chip.tsx @@ -1,4 +1,3 @@ -import { Trans, useLingui } from "@lingui/react/macro"; import { RiCornerDownLeftLine, RiLinkedinBoxFill } from "@remixicon/react"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { clsx } from "clsx"; @@ -311,7 +310,6 @@ function ParticipentItem({ } function ParticipantAddControl({ sessionId }: { sessionId: string }) { - const { t } = useLingui(); const queryClient = useQueryClient(); const [newParticipantInput, setNewParticipantInput] = useState(""); const [selectedIndex, setSelectedIndex] = useState(-1); @@ -382,7 +380,7 @@ function ParticipantAddControl({ sessionId }: { sessionId: string }) { value={newParticipantInput} onChange={(e) => setNewParticipantInput(e.target.value)} onKeyDown={handleKeyDown} - placeholder={t`Find person`} + placeholder={"Find person"} className="w-full bg-transparent text-sm focus:outline-none placeholder:text-neutral-400" /> {newParticipantInput.trim() && ( @@ -560,7 +558,7 @@ function ParticipantCandidates({ + - Create + Create "{query.trim()}" diff --git a/apps/desktop/src/components/editor-area/note-header/title-input.tsx b/apps/desktop/src/components/editor-area/note-header/title-input.tsx index 4994f9cf30..0fb256a099 100644 --- a/apps/desktop/src/components/editor-area/note-header/title-input.tsx +++ b/apps/desktop/src/components/editor-area/note-header/title-input.tsx @@ -1,4 +1,3 @@ -import { useLingui } from "@lingui/react/macro"; import { type ChangeEvent, type KeyboardEvent, useEffect, useRef } from "react"; interface TitleInputProps { @@ -18,7 +17,6 @@ export default function TitleInput({ isGenerating = false, autoFocus = false, }: TitleInputProps) { - const { t } = useLingui(); const inputRef = useRef(null); const handleKeyDown = (e: KeyboardEvent) => { @@ -30,9 +28,9 @@ export default function TitleInput({ const getPlaceholder = () => { if (isGenerating) { - return t`Generating title...`; + return "Generating title..."; } - return t`Untitled`; + return "Untitled"; }; useEffect(() => { diff --git a/apps/desktop/src/components/finder/views/calendar-view.tsx b/apps/desktop/src/components/finder/views/calendar-view.tsx index 785bc35c8d..0c3896db2d 100644 --- a/apps/desktop/src/components/finder/views/calendar-view.tsx +++ b/apps/desktop/src/components/finder/views/calendar-view.tsx @@ -1,4 +1,3 @@ -import { Trans, useLingui } from "@lingui/react/macro"; import { addMonths, subMonths } from "date-fns"; import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react"; import { useState } from "react"; @@ -6,6 +5,7 @@ import { useState } from "react"; import WorkspaceCalendar from "@/components/workspace-calendar"; import { Button } from "@hypr/ui/components/ui/button"; import { cn } from "@hypr/ui/lib/utils"; +import { format } from "@hypr/utils"; interface CalendarViewProps { date: Date; @@ -15,7 +15,6 @@ interface CalendarViewProps { } export function CalendarView({ date, sessions, events, onNavigate }: CalendarViewProps) { - const { i18n } = useLingui(); const [currentDate, setCurrentDate] = useState(date); // Embedded directly to handle navigation @@ -44,7 +43,7 @@ export function CalendarView({ date, sessions, events, onNavigate }: CalendarVie

- {i18n.date(currentDate, { month: "long", year: "numeric" })} + {format(currentDate, "MMMM yyyy")}

@@ -61,7 +60,7 @@ export function CalendarView({ date, sessions, events, onNavigate }: CalendarVie className="text-sm px-1 py-0.5 rounded-none border-none" onClick={handleToday} > - Today + Today
diff --git a/apps/desktop/src/components/human-profile/upcoming-events.tsx b/apps/desktop/src/components/human-profile/upcoming-events.tsx index 4a517c5e92..1e58e80841 100644 --- a/apps/desktop/src/components/human-profile/upcoming-events.tsx +++ b/apps/desktop/src/components/human-profile/upcoming-events.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { useQuery } from "@tanstack/react-query"; import { format } from "date-fns"; import { Calendar, Clock, ExternalLink } from "lucide-react"; @@ -78,7 +77,7 @@ export function UpcomingEvents({ human }: { human: Human }) { : ( } - title={No upcoming events with this contact} + title={

No upcoming events with this contact

} /> )}
diff --git a/apps/desktop/src/components/individualization-modal/how-heard-view.tsx b/apps/desktop/src/components/individualization-modal/how-heard-view.tsx index 5f6e3b06f4..89b12c268f 100644 --- a/apps/desktop/src/components/individualization-modal/how-heard-view.tsx +++ b/apps/desktop/src/components/individualization-modal/how-heard-view.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { Globe, Linkedin, Search, Twitter, UserPlus } from "lucide-react"; import { Button } from "@hypr/ui/components/ui/button"; @@ -30,12 +29,12 @@ export const HowHeardView: React.FC = ({ onSelect, onSkip, se
{/* Main Title */}

- Help us tailor your Hyprnote experience + Help us tailor your Hyprnote experience

{/* Specific Question */}

- How did you hear about Hyprnote? + How did you hear about Hyprnote?

diff --git a/apps/desktop/src/components/individualization-modal/industry-view.tsx b/apps/desktop/src/components/individualization-modal/industry-view.tsx index 9d5a13a853..bf7061b621 100644 --- a/apps/desktop/src/components/individualization-modal/industry-view.tsx +++ b/apps/desktop/src/components/individualization-modal/industry-view.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { Briefcase, Check, Code, Edit3, GraduationCap, Hospital, Rocket, Scale, Users } from "lucide-react"; import { useEffect, useState } from "react"; @@ -60,12 +59,12 @@ export const IndustryView: React.FC = ({ onSelect, onSkip, se
{/* Main Title */}

- Help us tailor your Hyprnote experience + Help us tailor your Hyprnote experience

{/* Specific Question */}

- What industry are you in? + What industry are you in?

{/* Industry Options Grid */} @@ -125,7 +124,7 @@ export const IndustryView: React.FC = ({ onSelect, onSkip, se size="sm" className="w-full text-xs text-neutral-500 hover:text-neutral-700" > - Cancel + Cancel
diff --git a/apps/desktop/src/components/individualization-modal/org-size-view.tsx b/apps/desktop/src/components/individualization-modal/org-size-view.tsx index c25752c477..147fe03273 100644 --- a/apps/desktop/src/components/individualization-modal/org-size-view.tsx +++ b/apps/desktop/src/components/individualization-modal/org-size-view.tsx @@ -1,6 +1,6 @@ import { Button } from "@hypr/ui/components/ui/button"; import { cn } from "@hypr/ui/lib/utils"; -import { Trans } from "@lingui/react/macro"; + import { Building, Building2, Factory, Users } from "lucide-react"; interface OrgSizeViewProps { @@ -21,12 +21,12 @@ export const OrgSizeView: React.FC = ({ onSelect, onSkip, sele
{/* Main Title */}

- Help us tailor your Hyprnote experience + Help us tailor your Hyprnote experience

{/* Specific Question */}

- What's your organization size? + What's your organization size?

diff --git a/apps/desktop/src/components/individualization-modal/role-view.tsx b/apps/desktop/src/components/individualization-modal/role-view.tsx index ff6f450863..5f97ae63ff 100644 --- a/apps/desktop/src/components/individualization-modal/role-view.tsx +++ b/apps/desktop/src/components/individualization-modal/role-view.tsx @@ -1,6 +1,6 @@ import { Button } from "@hypr/ui/components/ui/button"; import { cn } from "@hypr/ui/lib/utils"; -import { Trans } from "@lingui/react/macro"; + import { Crown, GraduationCap, TrendingUp, Users } from "lucide-react"; interface RoleViewProps { @@ -21,12 +21,12 @@ export const RoleView: React.FC = ({ onSelect, onSkip, selectedRo
{/* Main Title */}

- Help us tailor your Hyprnote experience + Help us tailor your Hyprnote experience

{/* Specific Question */}

- What's your role? + What's your role?

diff --git a/apps/desktop/src/components/left-sidebar/events-list.tsx b/apps/desktop/src/components/left-sidebar/events-list.tsx index 4fb85febe6..95c06c050a 100644 --- a/apps/desktop/src/components/left-sidebar/events-list.tsx +++ b/apps/desktop/src/components/left-sidebar/events-list.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { useMutation, useQueryClient } from "@tanstack/react-query"; import { type LinkProps, useNavigate } from "@tanstack/react-router"; import { clsx } from "clsx"; @@ -58,7 +57,7 @@ export default function EventsList({

- Upcoming + Upcoming

)} @@ -178,7 +177,7 @@ function EventItem({ >
- New window + New window
@@ -190,7 +189,7 @@ function EventItem({ >
- View in calendar + View in calendar
diff --git a/apps/desktop/src/components/left-sidebar/notes-list.tsx b/apps/desktop/src/components/left-sidebar/notes-list.tsx index f2d217a974..176c74c74a 100644 --- a/apps/desktop/src/components/left-sidebar/notes-list.tsx +++ b/apps/desktop/src/components/left-sidebar/notes-list.tsx @@ -1,5 +1,3 @@ -import { Trans } from "@lingui/react/macro"; -import { useLingui } from "@lingui/react/macro"; import { useInfiniteQuery, useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { type LinkProps, useMatch, useNavigate } from "@tanstack/react-router"; import { confirm } from "@tauri-apps/plugin-dialog"; @@ -186,7 +184,6 @@ function NoteItem({ activeSessionId: string; currentSessionId: string; }) { - const { t } = useLingui(); const navigate = useNavigate(); const currentSession = useSession(currentSessionId, (s) => ({ @@ -266,7 +263,7 @@ function NoteItem({ // }, [isActive]); const handleClickDelete = () => { - confirm(t`Are you sure you want to delete this note?`).then((yes) => { + confirm("Are you sure you want to delete this note?").then((yes) => { if (yes) { deleteSession.mutate(); } @@ -310,7 +307,7 @@ function NoteItem({ >
- New window + New window
@@ -321,7 +318,7 @@ function NoteItem({ >
- View calendar + View calendar
@@ -333,7 +330,7 @@ function NoteItem({ onClick={handleClickDelete} > - Delete + Delete diff --git a/apps/desktop/src/components/left-sidebar/search-list.tsx b/apps/desktop/src/components/left-sidebar/search-list.tsx index 51a87f3126..3b5adb348d 100644 --- a/apps/desktop/src/components/left-sidebar/search-list.tsx +++ b/apps/desktop/src/components/left-sidebar/search-list.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { useQuery } from "@tanstack/react-query"; import { useMatch, useNavigate } from "@tanstack/react-router"; import { BuildingIcon, CalendarIcon, FileTextIcon, UserIcon } from "lucide-react"; @@ -295,7 +294,7 @@ function HumanMatch({ match: { item }, isSelected, query }: { onClick={handleOpenWindow} > - Open in new window + Open in new window @@ -365,7 +364,7 @@ function OrganizationMatch({ match: { item: organization }, isSelected, query }: onClick={handleOpenWindow} > - Open in new window + Open in new window diff --git a/apps/desktop/src/components/left-sidebar/top-area/finder-button.tsx b/apps/desktop/src/components/left-sidebar/top-area/finder-button.tsx index e57dc62925..72f0472122 100644 --- a/apps/desktop/src/components/left-sidebar/top-area/finder-button.tsx +++ b/apps/desktop/src/components/left-sidebar/top-area/finder-button.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { FolderSearch } from "lucide-react"; import { commands as windowsCommands } from "@hypr/plugin-windows"; @@ -23,7 +22,7 @@ export function FinderButton() { - Open finder view + Open finder view ); diff --git a/apps/desktop/src/components/left-sidebar/top-area/settings-button.tsx b/apps/desktop/src/components/left-sidebar/top-area/settings-button.tsx index e3dd7bd7d0..cfb58c9b63 100644 --- a/apps/desktop/src/components/left-sidebar/top-area/settings-button.tsx +++ b/apps/desktop/src/components/left-sidebar/top-area/settings-button.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { useQuery } from "@tanstack/react-query"; import type { LinkProps } from "@tanstack/react-router"; import { getName, getVersion } from "@tauri-apps/api/app"; @@ -131,26 +130,26 @@ export function SettingsButton() { onClick={handleClickSettings} className="cursor-pointer" > - Settings + Settings - My Profile + My Profile - Check Updates + Check Updates - Talk to Founders + Talk to Founders

- Members + Members {members.length} @@ -99,7 +98,7 @@ export function MembersList({ organizationId }: MembersListProps) { {members.length > 5 && (

- and {members.length - 5} more members + and {members.length - 5} more members

)}

diff --git a/apps/desktop/src/components/organization-profile/recent-notes.tsx b/apps/desktop/src/components/organization-profile/recent-notes.tsx index c72165e18c..b8b6f69355 100644 --- a/apps/desktop/src/components/organization-profile/recent-notes.tsx +++ b/apps/desktop/src/components/organization-profile/recent-notes.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { useQuery } from "@tanstack/react-query"; import { Link } from "@tanstack/react-router"; import { format } from "date-fns"; @@ -39,7 +38,7 @@ export function RecentNotes({ organizationId, members }: RecentNotesProps) {

- Recent Notes + Recent Notes

{sessions.length > 0 ? ( @@ -56,7 +55,7 @@ export function RecentNotes({ organizationId, members }: RecentNotesProps) {
@@ -67,7 +66,7 @@ export function RecentNotes({ organizationId, members }: RecentNotesProps) { ) : (

- No recent notes with this organization + No recent notes with this organization

)}
diff --git a/apps/desktop/src/components/organization-profile/upcoming-events.tsx b/apps/desktop/src/components/organization-profile/upcoming-events.tsx index 650141f5d1..54588afdfb 100644 --- a/apps/desktop/src/components/organization-profile/upcoming-events.tsx +++ b/apps/desktop/src/components/organization-profile/upcoming-events.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { useQuery } from "@tanstack/react-query"; import { format } from "date-fns"; import { Calendar, ExternalLink } from "lucide-react"; @@ -48,7 +47,7 @@ export function UpcomingEvents({

- Upcoming Events + Upcoming Events

{upcomingEvents.length > 0 ? ( @@ -83,7 +82,7 @@ export function UpcomingEvents({ ) : (

- No upcoming events for this organization + No upcoming events for this organization

)}
diff --git a/apps/desktop/src/components/right-panel/components/chat/empty-chat-state.tsx b/apps/desktop/src/components/right-panel/components/chat/empty-chat-state.tsx index 292c7e97c9..d424c2151f 100644 --- a/apps/desktop/src/components/right-panel/components/chat/empty-chat-state.tsx +++ b/apps/desktop/src/components/right-panel/components/chat/empty-chat-state.tsx @@ -1,5 +1,5 @@ import { commands as analyticsCommands } from "@hypr/plugin-analytics"; -import { Trans } from "@lingui/react/macro"; + import { memo, useCallback, useEffect, useRef, useState } from "react"; import { useHypr } from "@/contexts"; @@ -121,7 +121,7 @@ export const EmptyChatState = memo(({ onQuickAction, onFocusInput, sessionId }: {/* Main heading */}

- Ask Hyprnote to... + Ask Hyprnote to...

@@ -142,8 +142,7 @@ export const EmptyChatState = memo(({ onQuickAction, onFocusInput, sessionId }: { /*

- - Chat feature is in beta. For best results, we recommend you to use{" "} + Chat feature is in beta. For best results, we recommend you to use{" "} . -

*/ } diff --git a/apps/desktop/src/components/search-bar.tsx b/apps/desktop/src/components/search-bar.tsx index f970b526f8..f911c9517d 100644 --- a/apps/desktop/src/components/search-bar.tsx +++ b/apps/desktop/src/components/search-bar.tsx @@ -1,4 +1,3 @@ -import { useLingui } from "@lingui/react/macro"; // import { useQuery } from "@tanstack/react-query"; import clsx from "clsx"; import { LoaderIcon, SearchIcon, TagIcon, XIcon } from "lucide-react"; @@ -39,7 +38,7 @@ export function SearchBar() { removeTagFilter: s.removeTagFilter, clearTagFilters: s.clearTagFilters, })); - const { t } = useLingui(); + const [isFocused, setIsFocused] = useState(false); const [showHistory, setShowHistory] = useState(false); // const [showTagSelector, setShowTagSelector] = useState(false); @@ -141,7 +140,7 @@ export function SearchBar() { setShowHistory(false); }, 150); }} - placeholder={t`Search...`} + placeholder={"Search..."} className="flex-1 bg-transparent outline-none text-xs pointer-events-none" disabled /> 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 c012b1c64f..83134049ea 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 @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { useQuery } from "@tanstack/react-query"; import { fetch as tauriFetch } from "@tauri-apps/plugin-http"; import useDebouncedCallback from "beautiful-react-hooks/useDebouncedCallback"; @@ -287,11 +286,11 @@ export function LLMCustomView({ - OpenAI + OpenAI

- Use OpenAI's GPT models with your API key + Use OpenAI's GPT models with your API key

@@ -311,7 +310,7 @@ export function LLMCustomView({ render={({ field }) => ( - API Key + API Key ( - Model + Model ( - Model + Model ( - Model + Model ( - API Key + API Key {customForm.watch("api_base") && isLocalEndpoint() && ( - (Optional for localhost) + (Optional for localhost) )} @@ -647,19 +646,17 @@ export function LLMCustomView({ render={({ field }) => ( - Model Name + Model Name - - Select a model from the dropdown (if available) or manually enter the model name required - by your endpoint. - + Select a model from the dropdown (if available) or manually enter the model name required by + your endpoint. {othersModels.isLoading && !field.value ? (
- Loading available models... + Loading available models...
) : othersModels.data && othersModels.data.length > 0 diff --git a/apps/desktop/src/components/settings/components/ai/stt-view-remote.tsx b/apps/desktop/src/components/settings/components/ai/stt-view-remote.tsx index 82eea0cbd9..78750b26c9 100644 --- a/apps/desktop/src/components/settings/components/ai/stt-view-remote.tsx +++ b/apps/desktop/src/components/settings/components/ai/stt-view-remote.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { useMutation, useQuery } from "@tanstack/react-query"; import { openUrl } from "@tauri-apps/plugin-opener"; import { useEffect } from "react"; @@ -99,30 +98,28 @@ export function STTViewRemote({
- Custom Speech-to-Text endpoint + Custom Speech-to-Text endpoint Preview

- - Connect to{" "} - openUrl("https://deepgram.com")} - > - Deepgram - {" "} - directly, or use{" "} - openUrl("https://docs.hyprnote.com/owhisper/what-is-this")} - > - OWhisper - {" "} - for other provider support. - + Connect to{" "} + openUrl("https://deepgram.com")} + > + Deepgram + {" "} + directly, or use{" "} + openUrl("https://docs.hyprnote.com/owhisper/what-is-this")} + > + OWhisper + {" "} + for other provider support.

@@ -135,7 +132,7 @@ export function STTViewRemote({ {/* Base URL Section */}

- Base URL + Base URL

( - Enter the base URL for your custom STT endpoint + Enter the base URL for your custom STT endpoint

- API Key + API Key

( - Your authentication key for accessing the STT service + Your authentication key for accessing the STT service

- Model + Model

( - Enter the model name required by your STT endpoint + Enter the model name required by your STT endpoint
- Calendar Access + Calendar Access
{calendarAccess.data - ? Access granted - : Connect your calendar and track events} + ?

Access granted

+ :

Connect your calendar and track events

}
@@ -80,7 +79,7 @@ export function AppleCalendarIntegrationDetails() { onClick={handleRequestCalendarAccess} className="min-w-12 text-center" > - Grant Access + Grant Access )} @@ -106,12 +105,12 @@ export function AppleCalendarIntegrationDetails() { />
- Contacts Access + Contacts Access
{contactsAccess.data - ? Access granted - : Optional for participant suggestions} + ?

Access granted

+ :

Optional for participant suggestions

}
@@ -122,7 +121,7 @@ export function AppleCalendarIntegrationDetails() { onClick={handleRequestContactsAccess} className="min-w-12 text-center" > - Grant Access + Grant Access )} diff --git a/apps/desktop/src/components/settings/components/calendar/calendar-selector.tsx b/apps/desktop/src/components/settings/components/calendar/calendar-selector.tsx index 8fa9924fba..8535ecfca6 100644 --- a/apps/desktop/src/components/settings/components/calendar/calendar-selector.tsx +++ b/apps/desktop/src/components/settings/components/calendar/calendar-selector.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { useMutation, useQuery } from "@tanstack/react-query"; import { CalendarCogIcon, RefreshCwIcon } from "lucide-react"; @@ -66,7 +65,7 @@ export function CalendarSelector() {
- Select Calendars + Select Calendars
- {calendarsQuery.data?.selectedCount ?? 0} calendars selected + {calendarsQuery.data?.selectedCount ?? 0} calendars selected
@@ -92,13 +91,13 @@ export function CalendarSelector() { {calendarsQuery.isLoading ? (
- Loading... + Loading...
) : calendarsQuery.data?.totalCount === 0 ? (
- No calendars found + No calendars found
) : ( diff --git a/apps/desktop/src/components/settings/components/template-list.tsx b/apps/desktop/src/components/settings/components/template-list.tsx index 98b8c871fd..f6c43c8f86 100644 --- a/apps/desktop/src/components/settings/components/template-list.tsx +++ b/apps/desktop/src/components/settings/components/template-list.tsx @@ -1,5 +1,3 @@ -import { useLingui } from "@lingui/react/macro"; -import { Trans } from "@lingui/react/macro"; import { HeartIcon, SearchIcon, TagIcon, ZapIcon } from "lucide-react"; import { type ReactNode } from "react"; @@ -23,8 +21,6 @@ export function TemplateList({ onTemplateSelect, selectedTemplate, }: TemplateListProps) { - const { t } = useLingui(); - const filterTemplate = (template: Template, query: string) => { const searchLower = query.toLowerCase(); return ( @@ -40,7 +36,7 @@ export function TemplateList({
onSearchChange(e.target.value)} @@ -53,7 +49,7 @@ export function TemplateList({

- My Templates + My Templates

@@ -151,7 +148,7 @@ export function SectionItem({ disabled, item, onChange, onDelete, dragControls } disabled={disabled} value={item.description} onChange={handleChangeDescription} - placeholder={t`Describe the content and purpose of this section`} + placeholder={"Describe the content and purpose of this section"} className="min-h-[30px] resize-none border-0 bg-transparent p-0 text-sm text-muted-foreground focus-visible:ring-0 focus-visible:ring-offset-0 placeholder:text-muted-foreground/50" /> diff --git a/apps/desktop/src/components/settings/components/templates-sidebar.tsx b/apps/desktop/src/components/settings/components/templates-sidebar.tsx index 8392562960..b5c925ff8b 100644 --- a/apps/desktop/src/components/settings/components/templates-sidebar.tsx +++ b/apps/desktop/src/components/settings/components/templates-sidebar.tsx @@ -1,4 +1,3 @@ -import { Trans, useLingui } from "@lingui/react/macro"; import { FileTextIcon, SearchIcon } from "lucide-react"; import { type Template } from "@hypr/plugin-db"; @@ -21,8 +20,6 @@ export function TemplatesSidebar({ selectedTemplate, onTemplateSelect, }: TemplatesSidebarProps) { - const { t } = useLingui(); - return ( <>
@@ -30,7 +27,7 @@ export function TemplatesSidebar({ 0 && (

- Your Templates + Your Templates

{customTemplates.map((template) => ( @@ -65,7 +62,7 @@ export function TemplatesSidebar({ {builtinTemplates.length > 0 && (

- Built-in Templates + Built-in Templates

{builtinTemplates.map((template) => ( diff --git a/apps/desktop/src/components/settings/views/ai-llm.tsx b/apps/desktop/src/components/settings/views/ai-llm.tsx index f7bb74523e..b10add4e2f 100644 --- a/apps/desktop/src/components/settings/views/ai-llm.tsx +++ b/apps/desktop/src/components/settings/views/ai-llm.tsx @@ -1,5 +1,5 @@ import { zodResolver } from "@hookform/resolvers/zod"; -import { Trans } from "@lingui/react/macro"; + import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { open } from "@tauri-apps/plugin-shell"; import { InfoIcon } from "lucide-react"; @@ -665,10 +665,10 @@ export default function LlmAI() { > - Default + Default - Custom + Custom @@ -699,7 +699,7 @@ export default function LlmAI() {
- Autonomy Selector + Autonomy Selector @@ -713,14 +713,14 @@ export default function LlmAI() { - Learn more about AI autonomy + Learn more about AI autonomy
{(!customLLMEnabled.data || hyprCloudEnabled.data) - ? Only works with Custom Endpoints. Please configure one of the above first. - : Control how autonomous the AI enhancement should be.} + ?

Only works with Custom Endpoints. Please configure one of the above first.

+ :

Control how autonomous the AI enhancement should be.

}
diff --git a/apps/desktop/src/components/settings/views/ai-stt.tsx b/apps/desktop/src/components/settings/views/ai-stt.tsx index fe6e3c9ee4..146e5f7f91 100644 --- a/apps/desktop/src/components/settings/views/ai-stt.tsx +++ b/apps/desktop/src/components/settings/views/ai-stt.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { useEffect, useState } from "react"; @@ -114,10 +113,10 @@ export default function SttAI() { > - Default + Default - Custom + Custom diff --git a/apps/desktop/src/components/settings/views/general.tsx b/apps/desktop/src/components/settings/views/general.tsx index adcf57c11a..21c6647961 100644 --- a/apps/desktop/src/components/settings/views/general.tsx +++ b/apps/desktop/src/components/settings/views/general.tsx @@ -1,6 +1,6 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { LANGUAGES_ISO_639_1 } from "@huggingface/languages"; -import { Trans, useLingui } from "@lingui/react/macro"; + import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import * as autostart from "@tauri-apps/plugin-autostart"; import { Plus, X } from "lucide-react"; @@ -87,7 +87,6 @@ const schema = z.object({ type Schema = z.infer; export default function General() { - const { t } = useLingui(); const queryClient = useQueryClient(); const config = useQuery({ @@ -193,12 +192,10 @@ export default function General() {
- Start automatically at login + Start automatically at login - - Only starts at the background for notification purposes. - + Only starts at the background for notification purposes.
@@ -219,10 +216,10 @@ export default function General() {
- Save recordings + Save recordings - Save audio recording locally alongside the transcript. + Save audio recording locally alongside the transcript.
@@ -243,7 +240,7 @@ export default function General() {
- Share usage data + Share usage data @@ -273,10 +270,10 @@ export default function General() {
- Summary language + Summary language - Language for AI-generated summaries + Language for AI-generated summaries
@@ -311,10 +308,10 @@ export default function General() {
- Display language + Display language - Primary language for the interface + Primary language for the interface
@@ -342,10 +339,10 @@ export default function General() {
- Spoken languages + Spoken languages - Select languages you speak for better transcription + Select languages you speak for better transcription
@@ -422,12 +419,10 @@ export default function General() {
- Custom Vocabulary + Custom Vocabulary - - Add specific terms or jargon for improved transcription accuracy - + Add specific terms or jargon for improved transcription accuracy
@@ -442,9 +437,7 @@ export default function General() { e.currentTarget.blur(); } }} - placeholder={t({ - id: "Type terms separated by commas (e.g., Blitz Meeting, PaC Squad)", - })} + placeholder={"Type terms separated by commas (e.g., Blitz Meeting, PaC Squad)"} className="focus-visible:ring-1 focus-visible:ring-ring resize-none" /> diff --git a/apps/desktop/src/components/settings/views/help-support.tsx b/apps/desktop/src/components/settings/views/help-support.tsx index e3bbfc35af..4dfb256bb4 100644 --- a/apps/desktop/src/components/settings/views/help-support.tsx +++ b/apps/desktop/src/components/settings/views/help-support.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { openPath, openUrl } from "@tauri-apps/plugin-opener"; import { Book, Bug, ExternalLinkIcon, MessageSquare } from "lucide-react"; @@ -30,7 +29,7 @@ export default function HelpSupport() {

- Help & Support + Help & Support

@@ -43,10 +42,10 @@ export default function HelpSupport() {
- Documentation + Documentation
- Learn how to use Hyprnote + Learn how to use Hyprnote
@@ -62,10 +61,10 @@ export default function HelpSupport() {
- Feature Requests + Feature Requests
- Suggest new features and improvements + Suggest new features and improvements
@@ -81,10 +80,10 @@ export default function HelpSupport() {
- Report a Bug + Report a Bug
- Help us improve by reporting issues + Help us improve by reporting issues
@@ -100,10 +99,10 @@ export default function HelpSupport() {
- Logs + Logs
- Got an error? Send your logs file to us at founders@hyprnote.com + Got an error? Send your logs file to us at founders@hyprnote.com
diff --git a/apps/desktop/src/components/settings/views/integrations.tsx b/apps/desktop/src/components/settings/views/integrations.tsx index e79ade97a1..5b5e30374f 100644 --- a/apps/desktop/src/components/settings/views/integrations.tsx +++ b/apps/desktop/src/components/settings/views/integrations.tsx @@ -1,5 +1,5 @@ import { zodResolver } from "@hookform/resolvers/zod"; -import { Trans } from "@lingui/react/macro"; + import { useQuery } from "@tanstack/react-query"; import { useEffect } from "react"; import { useForm } from "react-hook-form"; @@ -121,10 +121,10 @@ export default function IntegrationsComponent() {

- Integrations + Integrations

- Connect with external tools and services to enhance your workflow + Connect with external tools and services to enhance your workflow

@@ -133,10 +133,10 @@ export default function IntegrationsComponent() {

- Obsidian + Obsidian

- Connect your Obsidian vault to export notes + Connect your Obsidian vault to export notes

@@ -150,12 +150,10 @@ export default function IntegrationsComponent() {
- Enable Integration + Enable Integration - - Turn on Obsidian integration to export notes to Obsidian vault. - + Turn on Obsidian integration to export notes to Obsidian vault.
@@ -176,7 +174,7 @@ export default function IntegrationsComponent() { render={({ field }) => ( - Base URL + Base URL - - The base URL of your Obsidian server. This is typically http://127.0.0.1:27123. - + The base URL of your Obsidian server. This is typically http://127.0.0.1:27123. @@ -200,7 +196,7 @@ export default function IntegrationsComponent() { render={({ field }) => ( - API Key + API Key - - Your API key for Obsidian local-rest-api plugin. - + Your API key for Obsidian local-rest-api plugin. @@ -225,7 +219,7 @@ export default function IntegrationsComponent() { render={({ field }) => ( - Vault Name + Vault Name - - The name of your Obsidian vault. - + The name of your Obsidian vault. @@ -249,7 +241,7 @@ export default function IntegrationsComponent() { render={({ field }) => ( - Base Folder + Base Folder - - Optional base folder path within your Obsidian vault. - + Optional base folder path within your Obsidian vault. @@ -275,10 +265,10 @@ export default function IntegrationsComponent() {

- More integrations coming soon... + More integrations coming soon...

- We're working on adding more tools and services to connect with your workflow + We're working on adding more tools and services to connect with your workflow

diff --git a/apps/desktop/src/components/settings/views/lab.tsx b/apps/desktop/src/components/settings/views/lab.tsx index 54a2941553..b0be66feef 100644 --- a/apps/desktop/src/components/settings/views/lab.tsx +++ b/apps/desktop/src/components/settings/views/lab.tsx @@ -1,4 +1,3 @@ -import { Trans } from "@lingui/react/macro"; import { useMutation, useQuery } from "@tanstack/react-query"; import { CloudLightningIcon } from "lucide-react"; @@ -71,10 +70,10 @@ function FeatureFlag({
- {title} + {title}
- {description} + {description}
diff --git a/apps/desktop/src/components/settings/views/notifications.tsx b/apps/desktop/src/components/settings/views/notifications.tsx index bd90993050..3f9a1db7fd 100644 --- a/apps/desktop/src/components/settings/views/notifications.tsx +++ b/apps/desktop/src/components/settings/views/notifications.tsx @@ -1,5 +1,5 @@ import { zodResolver } from "@hookform/resolvers/zod"; -import { Trans } from "@lingui/react/macro"; + import { useMutation, useQuery } from "@tanstack/react-query"; import { Plus, X } from "lucide-react"; import { useEffect, useState } from "react"; @@ -219,15 +219,13 @@ export default function NotificationsComponent() {
- Upcoming meeting notifications + Upcoming meeting notifications Preview - - Show notifications when you have meetings starting soon in your calendar. - + Show notifications when you have meetings starting soon in your calendar.
@@ -249,15 +247,13 @@ export default function NotificationsComponent() {
- Detect meetings automatically + Detect meetings automatically Preview - - Show notifications when you join a meeting. - + Show notifications when you join a meeting.
@@ -272,10 +268,10 @@ export default function NotificationsComponent() {
- Exclude apps from detection + Exclude apps from detection - These apps will not trigger meeting detection + These apps will not trigger meeting detection
@@ -377,7 +373,7 @@ export default function NotificationsComponent() {
- Global Settings + Global Settings
@@ -389,12 +385,10 @@ export default function NotificationsComponent() {
- Respect Do Not Disturb + Respect Do Not Disturb - - Don't show notifications when Do Not Disturb is enabled on your system. - + Don't show notifications when Do Not Disturb is enabled on your system.
diff --git a/apps/desktop/src/components/settings/views/profile.tsx b/apps/desktop/src/components/settings/views/profile.tsx index cdcf9df9f8..be7e1dd638 100644 --- a/apps/desktop/src/components/settings/views/profile.tsx +++ b/apps/desktop/src/components/settings/views/profile.tsx @@ -1,5 +1,5 @@ import { zodResolver } from "@hookform/resolvers/zod"; -import { Trans, useLingui } from "@lingui/react/macro"; + import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { useEffect } from "react"; import { useForm } from "react-hook-form"; @@ -30,7 +30,6 @@ const schema = z.object({ type Schema = z.infer; export default function ProfileComponent() { - const { t } = useLingui(); const { userId } = useHypr(); const queryClient = useQueryClient(); @@ -116,11 +115,11 @@ export default function ProfileComponent() { render={({ field }) => ( - Full name + Full name @@ -136,11 +135,11 @@ export default function ProfileComponent() { render={({ field }) => ( - Job title + Job title @@ -157,15 +156,15 @@ export default function ProfileComponent() {
- Company name + Company name - This is the name of the company you work for. + This is the name of the company you work for.
@@ -182,15 +181,15 @@ export default function ProfileComponent() {
- Company description + Company description - This is a short description of your company. + This is a short description of your company.