From 5938a686c7d19d7e26fba02edb78077e5676c54d Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Sun, 15 Mar 2026 22:57:43 +0100 Subject: [PATCH] feat: add package icon as favicon and in top bar title Add Lucide package icon as SVG favicon (white stroke) and display it next to the GearBox title in the TotalsBar. Co-Authored-By: Claude Opus 4.6 --- index.html | 1 + public/favicon.svg | 1 + src/client/components/TotalsBar.tsx | 12 ++++++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 public/favicon.svg diff --git a/index.html b/index.html index a100c86..3a0e257 100644 --- a/index.html +++ b/index.html @@ -3,6 +3,7 @@ + GearBox diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..5dc7d85 --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1 @@ + diff --git a/src/client/components/TotalsBar.tsx b/src/client/components/TotalsBar.tsx index 91acce9..f7a126c 100644 --- a/src/client/components/TotalsBar.tsx +++ b/src/client/components/TotalsBar.tsx @@ -1,6 +1,7 @@ import { Link } from "@tanstack/react-router"; import { useTotals } from "../hooks/useTotals"; import { formatPrice, formatWeight } from "../lib/formatters"; +import { LucideIcon } from "../lib/iconData"; interface TotalsBarProps { title?: string; @@ -30,15 +31,22 @@ export function TotalsBar({ { label: "spent", value: formatPrice(null) }, ]); + const titleContent = ( + + + {title} + + ); + const titleElement = linkTo ? ( - {title} + {titleContent} ) : ( -

{title}

+

{titleContent}

); // If stats prop is explicitly an empty array, show title only (dashboard mode)