- Subject: |
+ {{ $t("Subject:") }} |
{{ formatSubject(cert.subject) }} |
- Valid To: |
+ {{ $t("Valid To:") }} |
|
- Days Remaining: |
+ {{ $t("Days Remaining:") }} |
{{ cert.daysRemaining }} |
- Issuer: |
+ {{ $t("Issuer:") }} |
{{ formatSubject(cert.issuer) }} |
- Fingerprint: |
+ {{ $t("Fingerprint:") }} |
{{ cert.fingerprint }} |
diff --git a/src/components/Confirm.vue b/src/components/Confirm.vue
index 391155f4..1bfe7fe4 100644
--- a/src/components/Confirm.vue
+++ b/src/components/Confirm.vue
@@ -25,7 +25,7 @@
diff --git a/src/components/CopyableInput.vue b/src/components/CopyableInput.vue
index 1fe89802..1bccfa2c 100644
--- a/src/components/CopyableInput.vue
+++ b/src/components/CopyableInput.vue
@@ -57,6 +57,7 @@ export default {
default: undefined,
},
},
+ emits: [ "update:modelValue" ],
data() {
return {
visibility: "password",
diff --git a/src/components/CountUp.vue b/src/components/CountUp.vue
index b321fde1..41edc4a0 100644
--- a/src/components/CountUp.vue
+++ b/src/components/CountUp.vue
@@ -5,12 +5,12 @@
diff --git a/src/components/Datetime.vue b/src/components/Datetime.vue
index 1df982cb..8662e6d8 100644
--- a/src/components/Datetime.vue
+++ b/src/components/Datetime.vue
@@ -4,12 +4,12 @@
diff --git a/src/components/HeartbeatBar.vue b/src/components/HeartbeatBar.vue
index be0b122e..245a8512 100644
--- a/src/components/HeartbeatBar.vue
+++ b/src/components/HeartbeatBar.vue
@@ -38,7 +38,7 @@ export default {
beatMargin: 4,
move: false,
maxBeat: -1,
- }
+ };
},
computed: {
@@ -69,12 +69,12 @@ export default {
if (start < 0) {
// Add empty placeholder
for (let i = start; i < 0; i++) {
- placeholders.push(0)
+ placeholders.push(0);
}
start = 0;
}
- return placeholders.concat(this.beatList.slice(start))
+ return placeholders.concat(this.beatList.slice(start));
},
wrapStyle() {
@@ -84,7 +84,7 @@ export default {
return {
padding: `${topBottom}px ${leftRight}px`,
width: "100%",
- }
+ };
},
barStyle() {
@@ -94,12 +94,12 @@ export default {
return {
transition: "all ease-in-out 0.25s",
transform: `translateX(${width}px)`,
- }
+ };
}
return {
transform: "translateX(0)",
- }
+ };
},
@@ -109,7 +109,7 @@ export default {
height: this.beatHeight + "px",
margin: this.beatMargin + "px",
"--hover-scale": this.hoverScale,
- }
+ };
},
},
@@ -120,7 +120,7 @@ export default {
setTimeout(() => {
this.move = false;
- }, 300)
+ }, 300);
},
deep: true,
},
@@ -162,15 +162,15 @@ export default {
methods: {
resize() {
if (this.$refs.wrap) {
- this.maxBeat = Math.floor(this.$refs.wrap.clientWidth / (this.beatWidth + this.beatMargin * 2))
+ this.maxBeat = Math.floor(this.$refs.wrap.clientWidth / (this.beatWidth + this.beatMargin * 2));
}
},
getBeatTitle(beat) {
- return `${this.$root.datetime(beat.time)}` + ((beat.msg) ? ` - ${beat.msg}` : ``);
+ return `${this.$root.datetime(beat.time)}` + ((beat.msg) ? ` - ${beat.msg}` : "");
}
},
-}
+};
diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue
index 659f5726..7a1f1a10 100644
--- a/src/components/NotificationDialog.vue
+++ b/src/components/NotificationDialog.vue
@@ -69,7 +69,6 @@
@@ -278,7 +286,7 @@ export default {
.dropdown-item {
border-radius: 0.3rem;
- padding: 2px 16px 4px 16px;
+ padding: 2px 16px 4px;
.dark & {
background: $dark-bg;
@@ -286,6 +294,7 @@ export default {
.dark &:hover {
background: $dark-font-color;
+ color: $dark-font-color2;
}
}
diff --git a/src/components/ProxyDialog.vue b/src/components/ProxyDialog.vue
new file mode 100644
index 00000000..3070925c
--- /dev/null
+++ b/src/components/ProxyDialog.vue
@@ -0,0 +1,206 @@
+
+
+
+
+ {{ $t("deleteProxyMsg") }}
+
+
+
+
+
+
diff --git a/src/components/PublicGroupList.vue b/src/components/PublicGroupList.vue
index f30edcef..df94eec9 100644
--- a/src/components/PublicGroupList.vue
+++ b/src/components/PublicGroupList.vue
@@ -41,7 +41,7 @@
{{ monitor.element.name }}
-
@@ -76,6 +76,9 @@ export default {
type: Boolean,
required: true,
},
+ showTags: {
+ type: Boolean,
+ }
},
data() {
return {
@@ -142,7 +145,7 @@ export default {
.mobile {
.item {
- padding: 13px 0 10px 0;
+ padding: 13px 0 10px;
}
}
diff --git a/src/components/Tag.vue b/src/components/Tag.vue
index 434358aa..364a05c6 100644
--- a/src/components/Tag.vue
+++ b/src/components/Tag.vue
@@ -41,7 +41,7 @@ export default {
}
}
}
-}
+};
diff --git a/src/components/settings/MonitorHistory.vue b/src/components/settings/MonitorHistory.vue
index 9b5b8bd7..0092727f 100644
--- a/src/components/settings/MonitorHistory.vue
+++ b/src/components/settings/MonitorHistory.vue
@@ -52,7 +52,7 @@
-
-
diff --git a/src/components/settings/Proxies.vue b/src/components/settings/Proxies.vue
new file mode 100644
index 00000000..4608f3aa
--- /dev/null
+++ b/src/components/settings/Proxies.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+ {{ $t("Not available, please setup.") }}
+
+
+ {{ $t("proxyDescription") }}
+
+
+
+ -
+ {{ proxy.host }}:{{ proxy.port }} ({{ proxy.protocol }})
+ {{ $t("Default") }}
+ {{ $t("Edit") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/settings/ReverseProxy.vue b/src/components/settings/ReverseProxy.vue
new file mode 100644
index 00000000..97db4d59
--- /dev/null
+++ b/src/components/settings/ReverseProxy.vue
@@ -0,0 +1,144 @@
+
+
+
Cloudflare Tunnel
+
+
+
+ cloudflared:
+ {{ $t("Installed") }}
+ {{ $t("Not installed") }}
+
+
+
+ {{ $t("Status") }}:
+ {{ $t("Running") }}
+ {{ $t("Not running") }}
+
+
+
+ {{ message }}
+
+
+
+ {{ $t("Message:") }}
+
+
+
+
+ {{ $t("cloudflareWebsite") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.") }}
+
+
+
+
+
+
+
+
+
+
{{ $t("Other Software") }}
+
+
+
+
+
+
+
diff --git a/src/components/settings/Security.vue b/src/components/settings/Security.vue
index ede0d90c..a72b0727 100644
--- a/src/components/settings/Security.vue
+++ b/src/components/settings/Security.vue
@@ -4,7 +4,7 @@
- {{ $t("Current User") }}: {{ username }}
+ {{ $t("Current User") }}: {{ $root.username }}
@@ -192,6 +192,12 @@
Пожалуйста, используйте с осторожностью.
+
+ Ви впевнені, що бажаєте вимкнути авторизацію?
+ Це підходить для тих, у кого встановлена інша авторизація пееред відкриттям Uptime Kuma, наприклад Cloudflare Access.
+ Будь ласка, використовуйте з обережністю.
+
+
آیا مطمئن هستید که میخواهید احراز هویت را غیر فعال کنید?
این ویژگی برای کسانی است که لایه امنیتی شخص ثالث دیگر بر روی این آدرس فعال کردهاند، مانند Cloudflare Access.
@@ -215,14 +221,14 @@
Dette er for de som har tredjepartsautorisering foran Uptime Kuma, for eksempel Cloudflare Access.
Vennligst vær forsiktig.
-
+
Opravdu chcete deaktivovat autentifikaci?
Tato možnost je určena pro případy, kdy máte autentifikaci zajištěnou třetí stranou ještě před přístupem do Uptime Kuma, například prostřednictvím Cloudflare Access.
Používejte ji prosím s rozmyslem.
-
+
Bạn có muốn TẮT XÁC THỰC không?
Điều này rất nguy hiểmBẤT KỲ AI cũng có thể truy cập và cướp quyền điều khiển.
Vui lòng cẩn thận.
@@ -234,6 +240,19 @@
It is designed for scenarios where you intend to implement third-party authentication in front of Uptime Kuma such as Cloudflare Access, Authelia or other authentication mechanisms.
Please use this option carefully!
+
+
+
+
+
@@ -250,7 +269,6 @@ export default {
data() {
return {
- username: "",
invalidPassword: false,
password: {
currentPassword: "",
@@ -278,10 +296,6 @@ export default {
},
},
- mounted() {
- this.loadUsername();
- },
-
methods: {
savePassword() {
if (this.password.newPassword !== this.password.repeatNewPassword) {
@@ -300,17 +314,14 @@ export default {
}
},
- loadUsername() {
- const jwtPayload = this.$root.getJWTPayload();
-
- if (jwtPayload) {
- this.username = jwtPayload.username;
- }
- },
-
disableAuth() {
this.settings.disableAuth = true;
- this.saveSettings();
+
+ // Need current password to disable auth
+ // Set it to empty if done
+ this.saveSettings(() => {
+ this.password.currentPassword = "";
+ }, this.password.currentPassword);
},
enableAuth() {
@@ -331,7 +342,7 @@ export default {
diff --git a/src/pages/Dashboard.vue b/src/pages/Dashboard.vue
index 1cf237ce..38e5b9be 100644
--- a/src/pages/Dashboard.vue
+++ b/src/pages/Dashboard.vue
@@ -25,9 +25,9 @@ export default {
MonitorList,
},
data() {
- return {}
+ return {};
},
-}
+};
diff --git a/src/pages/NotFound.vue b/src/pages/NotFound.vue
new file mode 100644
index 00000000..16ba8a55
--- /dev/null
+++ b/src/pages/NotFound.vue
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+ 🐻 {{ $t("Page Not Found") }}
+
+
+
+ Most likely causes:
+
+ - The resource is no longer available.
+ - There might be a typing error in the address.
+
+
+ What you can try:
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index 58162f57..4f01572e 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -6,7 +6,7 @@