diff --git a/db/knex_migrations/2024-03-15-0000-show-last-heartbeat.js b/db/knex_migrations/2024-03-15-0000-show-last-heartbeat.js
new file mode 100644
index 000000000..3ad545d2c
--- /dev/null
+++ b/db/knex_migrations/2024-03-15-0000-show-last-heartbeat.js
@@ -0,0 +1,16 @@
+exports.up = function (knex) {
+ // Add new column status_page.show_last_heartbeat
+ return knex.schema
+ .alterTable("status_page", function (table) {
+ table.boolean("show_last_heartbeat").notNullable().defaultTo(false);
+ });
+
+};
+
+exports.down = function (knex) {
+ // Drop column status_page.show_last_heartbeat
+ return knex.schema
+ .alterTable("status_page", function (table) {
+ table.dropColumn("show_last_heartbeat");
+ });
+};
diff --git a/server/model/status_page.js b/server/model/status_page.js
index 38f548ebb..bba09f8fe 100644
--- a/server/model/status_page.js
+++ b/server/model/status_page.js
@@ -409,6 +409,7 @@ class StatusPage extends BeanModel {
showPoweredBy: !!this.show_powered_by,
googleAnalyticsId: this.google_analytics_tag_id,
showCertificateExpiry: !!this.show_certificate_expiry,
+ showLastHeartbeat: !!this.show_last_heartbeat
};
}
@@ -432,6 +433,7 @@ class StatusPage extends BeanModel {
showPoweredBy: !!this.show_powered_by,
googleAnalyticsId: this.google_analytics_tag_id,
showCertificateExpiry: !!this.show_certificate_expiry,
+ showLastHeartbeat: !!this.show_last_heartbeat
};
}
diff --git a/server/socket-handlers/status-page-socket-handler.js b/server/socket-handlers/status-page-socket-handler.js
index cbcc52b8f..e11ef3f94 100644
--- a/server/socket-handlers/status-page-socket-handler.js
+++ b/server/socket-handlers/status-page-socket-handler.js
@@ -164,6 +164,7 @@ module.exports.statusPageSocketHandler = (socket) => {
statusPage.footer_text = config.footerText;
statusPage.custom_css = config.customCSS;
statusPage.show_powered_by = config.showPoweredBy;
+ statusPage.show_last_heartbeat = config.showLastHeartbeat;
statusPage.show_certificate_expiry = config.showCertificateExpiry;
statusPage.modified_date = R.isoDateTime();
statusPage.google_analytics_tag_id = config.googleAnalyticsId;
diff --git a/src/components/PublicGroupList.vue b/src/components/PublicGroupList.vue
index bacddbf13..72e884985 100644
--- a/src/components/PublicGroupList.vue
+++ b/src/components/PublicGroupList.vue
@@ -38,7 +38,8 @@
-
+
+
{{ $t("showCertificateExpiry") }}
+
+
+
+
+
+
@@ -328,7 +334,7 @@
👀 {{ $t("statusPageNothing") }}
-
+