From ec6a15ba846b787e8fa4c458c37de7aee14a3483 Mon Sep 17 00:00:00 2001 From: rmyndharis Date: Wed, 20 May 2026 13:09:10 +0700 Subject: [PATCH] chore(deps): bump lucide-react from 0.575.0 to 1.16.0 in /dashboard lucide-react v1 removed all brand icons. Replace the removed Github icon with an inline-SVG GithubIcon component, and add an aria-label to the footer link for an accessible name. Supersedes #73. --- dashboard/package-lock.json | 8 ++++---- dashboard/package.json | 2 +- dashboard/src/components/GithubIcon.tsx | 23 +++++++++++++++++++++++ dashboard/src/pages/Login.tsx | 6 ++++-- 4 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 dashboard/src/components/GithubIcon.tsx diff --git a/dashboard/package-lock.json b/dashboard/package-lock.json index 46ef9ed..3ccb623 100644 --- a/dashboard/package-lock.json +++ b/dashboard/package-lock.json @@ -12,7 +12,7 @@ "@tanstack/react-table": "^8.21.3", "i18next": "^26.2.0", "i18next-browser-languagedetector": "^8.2.1", - "lucide-react": "^0.575.0", + "lucide-react": "^1.16.0", "react": "^19.2.6", "react-dom": "^19.2.6", "react-i18next": "^17.0.8", @@ -2379,9 +2379,9 @@ } }, "node_modules/lucide-react": { - "version": "0.575.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.575.0.tgz", - "integrity": "sha512-VuXgKZrk0uiDlWjGGXmKV6MSk9Yy4l10qgVvzGn2AWBx1Ylt0iBexKOAoA6I7JO3m+M9oeovJd3yYENfkUbOeg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.16.0.tgz", + "integrity": "sha512-dYwyPzb4MEKpGUmNYk3WKWPnMrHs3FKM+q94kAnJrcDIqqn1hq2xY8scaS2ovsOCM5D51ey2gaRG3PBb1vgoYQ==", "license": "ISC", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" diff --git a/dashboard/package.json b/dashboard/package.json index 704a378..ff9fe9c 100644 --- a/dashboard/package.json +++ b/dashboard/package.json @@ -14,7 +14,7 @@ "@tanstack/react-table": "^8.21.3", "i18next": "^26.2.0", "i18next-browser-languagedetector": "^8.2.1", - "lucide-react": "^0.575.0", + "lucide-react": "^1.16.0", "react": "^19.2.6", "react-dom": "^19.2.6", "react-i18next": "^17.0.8", diff --git a/dashboard/src/components/GithubIcon.tsx b/dashboard/src/components/GithubIcon.tsx new file mode 100644 index 0000000..6d7b0d5 --- /dev/null +++ b/dashboard/src/components/GithubIcon.tsx @@ -0,0 +1,23 @@ +/** + * GitHub brand mark — inlined because lucide-react v1 removed all brand icons. + * Filled path + `fill="currentColor"` so it inherits color from CSS like the + * lucide icon it replaced. Decorative (`aria-hidden`); label the parent link. + */ +interface GithubIconProps { + size?: number; +} + +export function GithubIcon({ size = 24 }: GithubIconProps) { + return ( + + ); +} diff --git a/dashboard/src/pages/Login.tsx b/dashboard/src/pages/Login.tsx index 96f37ed..d4ee03c 100644 --- a/dashboard/src/pages/Login.tsx +++ b/dashboard/src/pages/Login.tsx @@ -1,6 +1,7 @@ import { useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { Eye, EyeOff, Github } from 'lucide-react'; +import { Eye, EyeOff } from 'lucide-react'; +import { GithubIcon } from '../components/GithubIcon'; import './Login.css'; interface LoginProps { @@ -100,8 +101,9 @@ export function Login({ onLogin }: LoginProps) { target="_blank" rel="noopener noreferrer" className="github-link" + aria-label="GitHub" > - +