diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index 3db9614..b21e34d 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -15,6 +15,18 @@
"showReuseMessage": false
}
},
+ {
+ "label": "Astro Build",
+ "type": "shell",
+ "group": "build",
+ "command": "npm run build",
+ "presentation": {
+ "reveal": "always",
+ "focus": true,
+ "panel": "dedicated",
+ "clear": true
+ }
+ },
{
"label": "Prettify All Files",
"type": "shell",
@@ -33,6 +45,14 @@
"presentation": {
"showReuseMessage": false
}
+ },
+ {
+ "label": "Delete old Git branches",
+ "type": "shell",
+ "command": "git fetch --prune && git fetch -p ; git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -D",
+ "presentation": {
+ "showReuseMessage": false
+ }
}
]
}
diff --git a/package-lock.json b/package-lock.json
index 2c982b1..0e50a93 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1359,9 +1359,9 @@
}
},
"node_modules/@types/node": {
- "version": "22.15.19",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.19.tgz",
- "integrity": "sha512-3vMNr4TzNQyjHcRZadojpRaD9Ofr6LsonZAoQ+HMUa/9ORTPoxVIw0e0mpqWpdjj8xybyCM+oKOUH2vwFu/oEw==",
+ "version": "22.15.21",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.21.tgz",
+ "integrity": "sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==",
"license": "MIT",
"dependencies": {
"undici-types": "~6.21.0"
@@ -4664,9 +4664,9 @@
}
},
"node_modules/tsconfck": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.5.tgz",
- "integrity": "sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz",
+ "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==",
"license": "MIT",
"bin": {
"tsconfck": "bin/tsconfck.js"
@@ -5295,9 +5295,9 @@
}
},
"node_modules/zod": {
- "version": "3.25.3",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.3.tgz",
- "integrity": "sha512-VGZqnyYNrl8JpEJRZaFPqeVNIuqgXNu4cXZ5cOb6zEUO1OxKbRnWB4UdDIXMmiERWncs0yDQukssHov8JUxykQ==",
+ "version": "3.25.8",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.8.tgz",
+ "integrity": "sha512-iJPWX8HoZ2VE21VrhHGU9jVo/kVDUQyqM9vF0MxDhW/fp2sAl1eVwGJgiYZdHGiMwQJImXIW80lKk0MnfDxqiQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
diff --git a/src/assets/icon/device-desktop-analytics.svg b/src/assets/icon/device-desktop-analytics.svg
new file mode 100644
index 0000000..4233c38
--- /dev/null
+++ b/src/assets/icon/device-desktop-analytics.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/components/Header.astro b/src/components/Header.astro
index 5b3ac32..b58b530 100644
--- a/src/components/Header.astro
+++ b/src/components/Header.astro
@@ -3,6 +3,7 @@ import '../styles/global.css'
import SearchBar from '../components/SearchBar.astro'
import IconHome from '../assets/icon/home.svg'
import IconUser from '../assets/icon/user-circle.svg'
+import IconAdminPanel from '../assets/icon/device-desktop-analytics.svg'
import { SITE_NAME } from '../config.js'
const { canSearch = false } = Astro.props || {}
@@ -16,6 +17,9 @@ const { canSearch = false } = Astro.props || {}
{canSearch && }