Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/desktop_cd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
33 changes: 0 additions & 33 deletions .github/workflows/i18n.yaml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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";
Expand Down Expand Up @@ -198,7 +198,7 @@ export function EventChip({ sessionId, isVeryNarrow = false, isNarrow = false }:
className="flex-1 focus:outline-none"
>
<VideoIcon size={16} />
<Trans>Join meeting</Trans>
Join meeting
</Button>
)}

Expand All @@ -208,7 +208,7 @@ export function EventChip({ sessionId, isVeryNarrow = false, isNarrow = false }:
disabled={!calendar.data}
className="flex-1 focus:outline-none"
>
<Trans>View in calendar</Trans>
View in calendar
</Button>
</div>

Expand Down Expand Up @@ -467,15 +467,15 @@ function EventTab({
if (eventsInPastWithoutAssignedSession.isLoading) {
return (
<div className="p-4 text-center text-sm text-neutral-500">
<Trans>Loading events...</Trans>
Loading events...
</div>
);
}

if (filteredEvents.length === 0) {
return (
<div className="p-4 text-center text-sm text-neutral-500">
<Trans>No past events found.</Trans>
No past events found.
</div>
);
}
Expand Down Expand Up @@ -596,7 +596,7 @@ function DateTab({
disabled={updateSessionDate.isPending}
className="flex-1 focus:outline-none"
>
{updateSessionDate.isPending ? <Trans>Saving...</Trans> : <Trans>Save Date</Trans>}
{updateSessionDate.isPending ? <p>Saving...</p> : <p>Save Date</p>}
</Button>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -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";
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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() && (
Expand Down Expand Up @@ -560,7 +558,7 @@ function ParticipantCandidates({
<span className="text-xs">+</span>
</span>
<span className="flex items-center gap-1 font-medium text-neutral-600">
<Trans>Create</Trans>
Create
<span className="text-neutral-900 truncate max-w-[140px]">&quot;{query.trim()}&quot;</span>
</span>
</button>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { useLingui } from "@lingui/react/macro";
import { type ChangeEvent, type KeyboardEvent, useEffect, useRef } from "react";

interface TitleInputProps {
Expand All @@ -18,7 +17,6 @@ export default function TitleInput({
isGenerating = false,
autoFocus = false,
}: TitleInputProps) {
const { t } = useLingui();
const inputRef = useRef<HTMLInputElement>(null);

const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {
Expand All @@ -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(() => {
Expand Down
7 changes: 3 additions & 4 deletions apps/desktop/src/components/finder/views/calendar-view.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { Trans, useLingui } from "@lingui/react/macro";
import { addMonths, subMonths } from "date-fns";
import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
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;
Expand All @@ -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
Expand Down Expand Up @@ -44,7 +43,7 @@ export function CalendarView({ date, sessions, events, onNavigate }: CalendarVie
<header className="flex w-full flex-col">
<div data-tauri-drag-region className="relative h-11 w-full flex items-center justify-center">
<h1 className="text-xl font-bold" data-tauri-drag-region>
{i18n.date(currentDate, { month: "long", year: "numeric" })}
{format(currentDate, "MMMM yyyy")}
</h1>

<div className="absolute right-2 flex h-fit rounded-md overflow-clip border border-neutral-200">
Expand All @@ -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}
>
<Trans>Today</Trans>
Today
</Button>

<Button
Expand Down
9 changes: 2 additions & 7 deletions apps/desktop/src/components/human-profile/past-notes.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { Trans } from "@lingui/react/macro";
import { useQuery } from "@tanstack/react-query";
import { Link, type LinkProps, useNavigate } from "@tanstack/react-router";
import { format } from "date-fns";
Expand Down Expand Up @@ -89,12 +88,8 @@ export function PastNotes({ human }: { human: Human }) {
: (
<EmptyState
icon={<FileText className="h-14 w-14" />}
title={<Trans>No past notes with this contact</Trans>}
actionLabel={
<Trans>
<span onClick={handleCreateNote}>Create Note</span>
</Trans>
}
title={<p>No past notes with this contact</p>}
actionLabel={<span onClick={handleCreateNote}>Create Note</span>}
/>
)}
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -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";
Expand Down Expand Up @@ -78,7 +77,7 @@ export function UpcomingEvents({ human }: { human: Human }) {
: (
<EmptyState
icon={<Calendar className="h-14 w-14" />}
title={<Trans>No upcoming events with this contact</Trans>}
title={<p>No upcoming events with this contact</p>}
/>
)}
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -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";
Expand Down Expand Up @@ -30,12 +29,12 @@ export const HowHeardView: React.FC<HowHeardViewProps> = ({ onSelect, onSkip, se
<div className="flex flex-col items-center w-full">
{/* Main Title */}
<h2 className="mb-4 text-center text-xl font-semibold text-neutral-800">
<Trans>Help us tailor your Hyprnote experience</Trans>
Help us tailor your Hyprnote experience
</h2>

{/* Specific Question */}
<h2 className="mb-8 text-center text-base font-medium text-neutral-600">
<Trans>How did you hear about Hyprnote?</Trans>
How did you hear about Hyprnote?
</h2>

<div className="grid grid-cols-3 gap-3 w-full max-w-lg mb-6">
Expand Down
Original file line number Diff line number Diff line change
@@ -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";

Expand Down Expand Up @@ -60,12 +59,12 @@ export const IndustryView: React.FC<IndustryViewProps> = ({ onSelect, onSkip, se
<div className="flex flex-col items-center w-full max-w-2xl mx-auto">
{/* Main Title */}
<h2 className="mb-4 text-center text-xl font-semibold text-neutral-800">
<Trans>Help us tailor your Hyprnote experience</Trans>
Help us tailor your Hyprnote experience
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Clean removal of i18n wrappers.

The transition from Trans-wrapped strings to plain English text is correct and consistent with the PR's objective to remove i18n. The hardcoded strings are clear and the component logic remains intact.

Run the following script to verify that Lingui dependencies have been removed from package manifests:

Also applies to: 67-67, 127-127


🏁 Script executed:

#!/bin/bash
# Verify @lingui packages are removed from all package.json files
fd -e json package.json --exec sh -c 'echo "=== {} ===" && cat {} | jq -r ".dependencies, .devDependencies | select(. != null) | keys[]" | grep -i lingui || echo "No lingui deps found"'

Length of output: 16634


🏁 Script executed:

#!/bin/bash
# Check for any @lingui references in all package.json files
grep -R '"@lingui' -n .

Length of output: 26136


Remove leftover Lingui configuration and dependencies
Lingui is still referenced in apps/desktop:

  • package.json lists @lingui/core, @lingui/react, @lingui/cli, @lingui/babel-plugin-lingui-macro, @lingui/vite-plugin
  • lingui.config.js remains
  • vite.config.ts imports and uses the @lingui plugin
  • locale files under apps/desktop/src/locales import @lingui/core

Delete or update these to fully remove i18n before merging.

</h2>

{/* Specific Question */}
<h2 className="mb-8 text-center text-base font-medium text-neutral-600">
<Trans>What industry are you in?</Trans>
What industry are you in?
</h2>

{/* Industry Options Grid */}
Expand Down Expand Up @@ -125,7 +124,7 @@ export const IndustryView: React.FC<IndustryViewProps> = ({ onSelect, onSkip, se
size="sm"
className="w-full text-xs text-neutral-500 hover:text-neutral-700"
>
<Trans>Cancel</Trans>
Cancel
</Button>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -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 {
Expand All @@ -21,12 +21,12 @@ export const OrgSizeView: React.FC<OrgSizeViewProps> = ({ onSelect, onSkip, sele
<div className="flex flex-col items-center w-full">
{/* Main Title */}
<h2 className="mb-4 text-center text-xl font-semibold text-neutral-800">
<Trans>Help us tailor your Hyprnote experience</Trans>
Help us tailor your Hyprnote experience
</h2>

{/* Specific Question */}
<h2 className="mb-8 text-center text-base font-medium text-neutral-600">
<Trans>What's your organization size?</Trans>
What's your organization size?
</h2>

<div className="grid grid-cols-2 gap-3 w-full max-w-sm mb-6">
Expand Down
Original file line number Diff line number Diff line change
@@ -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 {
Expand All @@ -21,12 +21,12 @@ export const RoleView: React.FC<RoleViewProps> = ({ onSelect, onSkip, selectedRo
<div className="flex flex-col items-center w-full">
{/* Main Title */}
<h2 className="mb-4 text-center text-xl font-semibold text-neutral-800">
<Trans>Help us tailor your Hyprnote experience</Trans>
Help us tailor your Hyprnote experience
</h2>

{/* Specific Question */}
<h2 className="mb-8 text-center text-base font-medium text-neutral-600">
<Trans>What's your role?</Trans>
What's your role?
</h2>

<div className="grid grid-cols-2 gap-3 w-full max-w-sm mb-6">
Expand Down
9 changes: 4 additions & 5 deletions apps/desktop/src/components/left-sidebar/events-list.tsx
Original file line number Diff line number Diff line change
@@ -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";
Expand Down Expand Up @@ -58,7 +57,7 @@ export default function EventsList({
<section className="border-b mb-4 border-border">
<div className="flex items-center gap-2">
<h2 className="font-bold text-neutral-600 mb-1">
<Trans>Upcoming</Trans>
Upcoming
</h2>
<button
disabled={syncEventsMutation.isPending}
Expand Down Expand Up @@ -91,7 +90,7 @@ export default function EventsList({
: (
<div className="pb-2 pl-1">
<p className="text-xs text-neutral-400">
<Trans>No upcoming events</Trans>
No upcoming events
</p>
</div>
)}
Expand Down Expand Up @@ -178,7 +177,7 @@ function EventItem({
>
<div className="flex items-center gap-2">
<AppWindowMacIcon size={16} />
<Trans>New window</Trans>
New window
</div>
<ArrowUpRight size={16} className="ml-1 text-zinc-500" />
</ContextMenuItem>
Expand All @@ -190,7 +189,7 @@ function EventItem({
>
<div className="flex items-center gap-2">
<CalendarDaysIcon size={16} />
<Trans>View in calendar</Trans>
View in calendar
</div>
<ArrowUpRight size={16} className="ml-1 text-zinc-500" />
</ContextMenuItem>
Expand Down
Loading
Loading