diff --git a/public/icons/calibre-logo.ico b/public/icons/calibre-logo.ico
new file mode 100644
index 0000000..0774d0f
Binary files /dev/null and b/public/icons/calibre-logo.ico differ
diff --git a/public/icons/element-logo.svg b/public/icons/element-logo.svg
new file mode 100644
index 0000000..54a91b7
--- /dev/null
+++ b/public/icons/element-logo.svg
@@ -0,0 +1,7 @@
+
diff --git a/public/icons/gitlab-logo.svg b/public/icons/gitlab-logo.svg
new file mode 100644
index 0000000..5fabd74
--- /dev/null
+++ b/public/icons/gitlab-logo.svg
@@ -0,0 +1,58 @@
+
+
diff --git a/public/icons/grafana-logo.svg b/public/icons/grafana-logo.svg
new file mode 100644
index 0000000..e91f3ab
--- /dev/null
+++ b/public/icons/grafana-logo.svg
@@ -0,0 +1,57 @@
+
+
+
diff --git a/public/icons/jellyfin-logo.svg b/public/icons/jellyfin-logo.svg
new file mode 100644
index 0000000..d4d7f01
--- /dev/null
+++ b/public/icons/jellyfin-logo.svg
@@ -0,0 +1,24 @@
+
+
+
diff --git a/public/icons/komga-logo.png b/public/icons/komga-logo.png
new file mode 100644
index 0000000..68183eb
Binary files /dev/null and b/public/icons/komga-logo.png differ
diff --git a/public/icons/mastodon-logo.svg b/public/icons/mastodon-logo.svg
new file mode 100644
index 0000000..120b91a
--- /dev/null
+++ b/public/icons/mastodon-logo.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/public/icons/navidrome-logo.png b/public/icons/navidrome-logo.png
new file mode 100644
index 0000000..1fa2234
Binary files /dev/null and b/public/icons/navidrome-logo.png differ
diff --git a/public/icons/nextcloud-logo.svg b/public/icons/nextcloud-logo.svg
new file mode 100644
index 0000000..7d4003d
--- /dev/null
+++ b/public/icons/nextcloud-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/npm-logo.png b/public/icons/npm-logo.png
new file mode 100644
index 0000000..2bfb661
Binary files /dev/null and b/public/icons/npm-logo.png differ
diff --git a/public/icons/peertube-logo.svg b/public/icons/peertube-logo.svg
new file mode 100644
index 0000000..b4a6099
--- /dev/null
+++ b/public/icons/peertube-logo.svg
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/public/icons/portainer-logo.png b/public/icons/portainer-logo.png
new file mode 100644
index 0000000..b4bfd29
Binary files /dev/null and b/public/icons/portainer-logo.png differ
diff --git a/public/pages.json b/public/pages.json
index e5735b6..e2e8d59 100644
--- a/public/pages.json
+++ b/public/pages.json
@@ -2,6 +2,7 @@
"services": [
{
"name": "Nextcloud",
+ "icon": "/icons/nextcloud-logo.svg",
"href": "https://nextcloud.neshura-server.net",
"desc": "Self-hosted Cloud Storage Service",
"warn": "Note: Registration requires approval",
@@ -11,6 +12,7 @@
},
{
"name": "Komga",
+ "icon": "/icons/komga-logo.png",
"href": "https://komga.neshura-server.net",
"desc": "Self-hosted Comic Library",
"warn": "Note: Registration only via Admin",
@@ -20,6 +22,7 @@
},
{
"name": "Calibre Web",
+ "icon": "/icons/calibre-logo.ico",
"href": "https://calibre.neshura-server.net/",
"desc": "Self-hosted Ebook Library Service",
"warn": "Note: Registration only via Admin",
@@ -28,6 +31,7 @@
},
{
"name": "PeerTube",
+ "icon": "/icons/peertube-logo.svg",
"href": "https://tube.neshura-server.net",
"desc": "Self-hosted PeerTube Instance",
"warn": "Note: Registration only via Admin",
@@ -37,6 +41,7 @@
},
{
"name": "Mastodon",
+ "icon": "/icons/mastodon-logo.svg",
"href": "https://mastodon.neshura-server.net",
"desc": "Self-hosted Mastodon Instance",
"warn": "Note: Registration requires approval",
@@ -64,6 +69,7 @@
},
{
"name": "Element",
+ "icon": "/icons/element-logo.svg",
"href": "https://element.neshura-server.net/",
"desc": "Matrix Chat Client",
"warn": "Note: Registration requires token",
@@ -73,6 +79,7 @@
},
{
"name": "Jellyfin",
+ "icon": "/icons/jellyfin-logo.svg",
"href": "https://jellyfin.neshura-server.net/",
"desc": "Open-Source, Self-Hosted Media Platform",
"warn": "Note: Registration only via Admin",
@@ -82,6 +89,7 @@
},
{
"name": "Navidrome",
+ "icon": "/icons/navidrome-logo.png",
"href": "https://navidrome.neshura-server.net/",
"desc": "Open-Source, Self-Hosted Music Streaming Platform",
"warn": "Note: Registration only via Admin",
@@ -100,6 +108,7 @@
},
{
"name": "Gitlab",
+ "icon": "/icons/gitlab-logo.svg",
"href": "https://gitlab.neshura-server.net/",
"desc": "Self-hosted Git Service",
"warn": "Note: Registration only via Admin",
@@ -109,6 +118,7 @@
},
{
"name": "Portainer",
+ "icon": "/icons/portainer-logo.png",
"href": "https://portainer.neshura-server.net/",
"desc": "Docker Container Manager",
"warn": "Note: Admin Only",
@@ -118,6 +128,7 @@
},
{
"name": "Nginx Proxy Manager",
+ "icon": "/icons/npm-logo.png",
"href": "https://nginx.neshura-server.net/",
"desc": "Web-based Nginx Proxy Manager",
"warn": "Note: Admin Only",
@@ -127,6 +138,7 @@
},
{
"name": "Grafana",
+ "icon": "/icons/grafana-logo.svg",
"href": "https://monitoring.neshura-server.net/",
"desc": "Server Monitoring Utility",
"warn": "Note: Admin Only",
@@ -138,16 +150,19 @@
"games": {
"minecraft": {
"name": "Minecraft",
+ "icon": "/icons/minecraft-logo.png",
"href": "https://minecraft.neshura-server.net/",
"desc": "View all currently available Minecraft Servers and their mods"
},
"ready_or_not": {
"name": "Ready or Not",
+ "icon": "/icons/ron-logo.png",
"href": "https://readyornot.neshura-server.net/",
"desc": "Collection of Floor Plans for the Game 'Ready or Not'"
},
"zomboid": {
"name": "Zomboid",
+ "icon": "/icons/zomboid-logo.png",
"ip": "91.13.248.30",
"status": "Online"
}
diff --git a/styles/Home.module.css b/styles/Home.module.css
index 0c0bcfc..4f39a09 100644
--- a/styles/Home.module.css
+++ b/styles/Home.module.css
@@ -170,10 +170,15 @@
align-items: center;
}
+.contentTitle h2 {
+ white-space: nowrap;
+}
+
.contentIcon {
+ margin-right: 0.4rem;
position: relative;
aspect-ratio: 1;
- height: 3rem;
+ height: 1.5rem;
}
.card {