diff --git a/package.json b/package.json
index 4dede5b2..7c1c9ea4 100644
--- a/package.json
+++ b/package.json
@@ -25,7 +25,7 @@
"discord-markdown": "^2.5.1",
"gh-pages": "^3.2.3",
"moment": "^2.29.1",
- "sass": "^1.45.1",
+ "sass": "^1.47.0",
"svelecte": "^3.4.5",
"svelte-autosize": "^1.0.1",
"svelte-icons": "^2.1.0",
diff --git a/src/App.svelte b/src/App.svelte
index 60549103..c66320a7 100644
--- a/src/App.svelte
+++ b/src/App.svelte
@@ -7,6 +7,7 @@
import Footer from './lib/Footer.svelte';
import Public from "./pages/Public.svelte";
import Main from "./pages/profiles/Main.svelte";
+ import Status from './pages/status.svelte';
// theme cdns (I might make some myself too)
let light = "https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css";
@@ -64,5 +65,6 @@
hey please provide a group
+
\ No newline at end of file
diff --git a/src/lib/shard.svelte b/src/lib/shard.svelte
new file mode 100644
index 00000000..b5548d0f
--- /dev/null
+++ b/src/lib/shard.svelte
@@ -0,0 +1,89 @@
+
+
+
+
isHovering = !isHovering}
+ class="shard" id={shard.id.toString()}
+ style={color}
+ >{ shard.id }
+ {#if isHovering}
+
+
Shard { shard.id }
+
+ Status: { shard.status }
+ Latency: { shard.ping }ms
+ Last connection: { new Date(shard.last_connection).toUTCString().match(/([0-9][0-9]:[0-9][0-9]:[0-9][0-9])/)?.shift() }
+ Last heartbeat: { new Date(shard.last_heartbeat).toUTCString().match(/([0-9][0-9]:[0-9][0-9]:[0-9][0-9])/)?.shift() }
+
+
+ {/if}
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/status.svelte b/src/pages/status.svelte
new file mode 100644
index 00000000..4d0f6641
--- /dev/null
+++ b/src/pages/status.svelte
@@ -0,0 +1,117 @@
+
+
+
+ Bot status
+ {@html currentCommitMsg}
+
+
+
+ { shards.length } shards ({ shards.filter(x => x.status == "up").length } up)
+ Average latency: { pingAverage }ms
+
+ All times in UTC. More statistics available at https://stats.pluralkit.me
+
+
+ Find my shard
+
+ Enter a server ID or a message link to find the shard currently assigned to your server:
+
+
+
+ { shardInfoMsg }
+ {#if valid}
+ Your shard is: Shard { foundShard.id }
+
+ Status: { foundShard.status }
+ Latency: { foundShard.ping }ms
+ Last connection: { new Date(foundShard.last_connection).toUTCString()?.match(/([0-9][0-9]:[0-9][0-9]:[0-9][0-9])/)?.shift() }
+ Last heartbeat: { new Date(foundShard.last_heartbeat).toUTCString().match(/([0-9][0-9]:[0-9][0-9]:[0-9][0-9])/)?.shift() }
+ {/if}
+
+
+ Shard status
+
+ { message }
+
+ {#each shards as shard}
+
+ {/each}
+
\ No newline at end of file