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" > - +