diff --git a/public/assets/icons/icon-128x128.png b/public/assets/icons/icon-128x128.png
new file mode 100644
index 0000000..57b833c
Binary files /dev/null and b/public/assets/icons/icon-128x128.png differ
diff --git a/public/assets/icons/icon-144x144.png b/public/assets/icons/icon-144x144.png
new file mode 100644
index 0000000..0a20cfa
Binary files /dev/null and b/public/assets/icons/icon-144x144.png differ
diff --git a/public/assets/icons/icon-152x152.png b/public/assets/icons/icon-152x152.png
new file mode 100644
index 0000000..4c87c85
Binary files /dev/null and b/public/assets/icons/icon-152x152.png differ
diff --git a/public/assets/icons/icon-192x192.png b/public/assets/icons/icon-192x192.png
new file mode 100644
index 0000000..d612cd5
Binary files /dev/null and b/public/assets/icons/icon-192x192.png differ
diff --git a/public/assets/icons/icon-384x384.png b/public/assets/icons/icon-384x384.png
new file mode 100644
index 0000000..4a9109d
Binary files /dev/null and b/public/assets/icons/icon-384x384.png differ
diff --git a/public/assets/icons/icon-48x48.png b/public/assets/icons/icon-48x48.png
new file mode 100644
index 0000000..da533e1
Binary files /dev/null and b/public/assets/icons/icon-48x48.png differ
diff --git a/public/assets/icons/icon-512x512.png b/public/assets/icons/icon-512x512.png
new file mode 100644
index 0000000..87b1130
Binary files /dev/null and b/public/assets/icons/icon-512x512.png differ
diff --git a/public/assets/icons/icon-72x72.png b/public/assets/icons/icon-72x72.png
new file mode 100644
index 0000000..710b591
Binary files /dev/null and b/public/assets/icons/icon-72x72.png differ
diff --git a/public/assets/icons/icon-96x96.png b/public/assets/icons/icon-96x96.png
new file mode 100644
index 0000000..bf2f3a5
Binary files /dev/null and b/public/assets/icons/icon-96x96.png differ
diff --git a/public/manifest.json b/public/manifest.json
new file mode 100644
index 0000000..350285f
--- /dev/null
+++ b/public/manifest.json
@@ -0,0 +1,55 @@
+{
+ "name": "FEC·兽展日历",
+ "start_url": "/",
+ "display": "standalone",
+ "icons": [
+ {
+ "src": "assets/icons/icon-72x72.png",
+ "sizes": "72x72",
+ "type": "image/png",
+ "purpose": "maskable any"
+ },
+ {
+ "src": "assets/icons/icon-96x96.png",
+ "sizes": "96x96",
+ "type": "image/png",
+ "purpose": "maskable any"
+ },
+ {
+ "src": "assets/icons/icon-128x128.png",
+ "sizes": "128x128",
+ "type": "image/png",
+ "purpose": "maskable any"
+ },
+ {
+ "src": "assets/icons/icon-144x144.png",
+ "sizes": "144x144",
+ "type": "image/png",
+ "purpose": "maskable any"
+ },
+ {
+ "src": "assets/icons/icon-152x152.png",
+ "sizes": "152x152",
+ "type": "image/png",
+ "purpose": "maskable any"
+ },
+ {
+ "src": "assets/icons/icon-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png",
+ "purpose": "maskable any"
+ },
+ {
+ "src": "assets/icons/icon-384x384.png",
+ "sizes": "384x384",
+ "type": "image/png",
+ "purpose": "maskable any"
+ },
+ {
+ "src": "assets/icons/icon-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png",
+ "purpose": "maskable any"
+ }
+ ]
+}
diff --git a/src/components/layout/header.tsx b/src/components/layout/header.tsx
index 8aa71e7..551ed39 100644
--- a/src/components/layout/header.tsx
+++ b/src/components/layout/header.tsx
@@ -32,7 +32,10 @@ export default function Header() {
FEC·兽展日历
+ / 新年快乐!🏮
+
{yearLabel=== "no-date" ? "" : `${yearLabel}年`}共有 {groupByYearEvents[yearLabel].length} 场活动: