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