refactor(renderer): route all Phosphor icon imports through ui/icons barrel

Create src/renderer/components/ui/icons.ts as the single re-export point
for every Phosphor icon the renderer touches, then rewrite the 95 files
that previously imported directly from "@phosphor-icons/react" to pull
from the relative-path-to-barrel instead. The TitleBar commit earlier
in this series already used ui/icons; this commit extends the pattern
to the rest of the renderer.

Benefits now wired in:
  - one location where bundle tree-shaking can be reasoned about,
  - typos like Briefcase vs BriefCase show up against a finite list,
  - re-theming or swapping icon sets is a one-file edit,
  - a lint rule that flags raw @phosphor-icons/react imports can be
    added later without mass-rewriting call sites.

The barrel also re-exports the `Icon` type so call sites that type
icon props against the Phosphor component type work unchanged.

Test count stays at 363 passing; typecheck stays at 156 errors.
This commit is contained in:
ZacharyZhang-NY committed 2026-04-16 23:37:35 -04:00
1 parent 364f1683e3
commit 75022f82c5
95 files changed
+424 -94

No files matched your search

+1 -1
View File
@@ -4,7 +4,7 @@ import {
Bell,
Robot,
Tray,
} from "@phosphor-icons/react";
} from "../ui/icons";
import type { InboxItem, InboxItemType, SectionId } from "@shared/types";
import { timeAgo } from "../../lib/formatters";
import { useT } from "../../i18n";
@@ -1,4 +1,4 @@
import { Target } from "@phosphor-icons/react";
import { Target } from "../ui/icons";
import type { CompanyMetrics, SectionId } from "@shared/types";
import { formatDuration, formatMoney, getAgentInitials } from "../../lib/formatters";
import { useT } from "../../i18n";
@@ -4,7 +4,7 @@ import {
Clock,
Heartbeat,
Warning,
} from "@phosphor-icons/react";
} from "../ui/icons";
import type { SectionId, StandupReport } from "@shared/types";
import { getAgentInitials } from "../../lib/formatters";
import { useT } from "../../i18n";
@@ -6,7 +6,7 @@ import {
Warning,
Eye,
ChatCircle,
} from "@phosphor-icons/react";
} from "../ui/icons";
import type { InboxItemType } from "@shared/types";
export const typeConfig: Record<InboxItemType, { icon: React.ElementType; color: string; bg: string; label: string }> = {