diff --git a/package-lock.json b/package-lock.json
index ccb72dee3..2225d11e9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "uptime-kuma",
- "version": "2.0.0-beta.2",
+ "version": "2.0.0-beta.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "uptime-kuma",
- "version": "2.0.0-beta.2",
+ "version": "2.0.0-beta.3",
"license": "MIT",
"dependencies": {
"@grpc/grpc-js": "~1.8.22",
diff --git a/src/components/OffLineList.vue b/src/components/OffLineList.vue
new file mode 100644
index 000000000..4169fef23
--- /dev/null
+++ b/src/components/OffLineList.vue
@@ -0,0 +1,54 @@
+
+
+
🚨 Offline Devices
+
+
+ -
+
+ {{ monitor.name }}
+
+
+
+
+
+ ✅ All devices online
+
+
+
+
+
+
+
diff --git a/src/pages/DashboardHome.vue b/src/pages/DashboardHome.vue
index a00dedb99..ea7d54a19 100644
--- a/src/pages/DashboardHome.vue
+++ b/src/pages/DashboardHome.vue
@@ -45,6 +45,9 @@
+
+
+
@@ -57,9 +60,13 @@
- {{ $root.monitorList[beat.monitorID]?.name }} |
+
+
+ {{ $root.monitorList[beat.monitorID]?.name }}
+
+ |
|
- |
+ |
{{ beat.msg }} |
@@ -89,12 +96,14 @@
import Status from "../components/Status.vue";
import Datetime from "../components/Datetime.vue";
import Pagination from "v-pagination-3";
+import OfflineList from "../components/OfflineList.vue";
export default {
components: {
Datetime,
Status,
Pagination,
+ OfflineList,
},
props: {
calculatedHeight: {
@@ -140,16 +149,10 @@ export default {
beforeUnmount() {
this.$root.emitter.off("newImportantHeartbeat", this.onNewImportantHeartbeat);
-
window.removeEventListener("resize", this.updatePerPage);
},
methods: {
- /**
- * Updates the displayed records when a new important heartbeat arrives.
- * @param {object} heartbeat - The heartbeat object received.
- * @returns {void}
- */
onNewImportantHeartbeat(heartbeat) {
if (this.page === 1) {
this.displayedRecords.unshift(heartbeat);
@@ -160,10 +163,6 @@ export default {
}
},
- /**
- * Retrieves the length of the important heartbeat list for all monitors.
- * @returns {void}
- */
getImportantHeartbeatListLength() {
this.$root.getSocket().emit("monitorImportantHeartbeatListCount", null, (res) => {
if (res.ok) {
@@ -173,10 +172,6 @@ export default {
});
},
- /**
- * Retrieves the important heartbeat list for the current page.
- * @returns {void}
- */
getImportantHeartbeatListPaged() {
const offset = (this.page - 1) * this.perPage;
this.$root.getSocket().emit("monitorImportantHeartbeatListPaged", null, offset, this.perPage, (res) => {
@@ -186,10 +181,6 @@ export default {
});
},
- /**
- * Updates the number of items shown per page based on the available height.
- * @returns {void}
- */
updatePerPage() {
const tableContainer = this.$refs.tableContainer;
const tableContainerHeight = tableContainer.offsetHeight;
@@ -201,7 +192,6 @@ export default {
} else {
this.perPage = this.initialPerPage;
}
-
},
},
};