aboutsummaryrefslogtreecommitdiffstats
path: root/src/wwwroot/scripts/back/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/wwwroot/scripts/back/index.js')
-rw-r--r--src/wwwroot/scripts/back/index.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/wwwroot/scripts/back/index.js b/src/wwwroot/scripts/back/index.js
new file mode 100644
index 0000000..5b71a8d
--- /dev/null
+++ b/src/wwwroot/scripts/back/index.js
@@ -0,0 +1,51 @@
+import {$, toaster} from "../base";
+import {logout, updatePassword} from "../api/account-api";
+import {Modal} from "bootstrap";
+import {utilites} from "../utilities";
+import {messages} from "../messages";
+import {strings} from "../i10n.ts";
+
+const updatePasswordModalElement = $("#update-password-modal");
+const updatePasswordModal = new Modal(updatePasswordModalElement);
+const logoutButton = $(".logout-btn");
+const newPasswordInput = $("#input-new-password");
+const submitNewPasswordFormButton = $("#submit-new-password-form");
+
+logoutButton.addEventListener("click", (e) => {
+ e.preventDefault();
+ if (confirm(strings.languageSpesific.are_you_sure)) {
+ logout().then((res) => {
+ if (res.status === 200) {
+ setTimeout(function () {
+ location.href = "/";
+ }, 500);
+ }
+ });
+ }
+});
+
+function initSetpasswordModal() {
+ newPasswordInput.value = "";
+ submitNewPasswordFormButton.addEventListener("click", () => {
+ if (newPasswordInput.value.length < 6) return;
+ submitNewPasswordFormButton.querySelector(".spinner-border").classList.remove("d-none");
+ submitNewPasswordFormButton.classList.add("disabled");
+ updatePassword(newPasswordInput.value).then(res => {
+ if (res.ok) {
+ toaster.success(strings.languageSpesific.new_password_is_applied);
+ newPasswordInput.value = "";
+ updatePasswordModal.hide();
+ } else {
+ utilites.handleError(res, messages.unknownError);
+ }
+ submitNewPasswordFormButton.querySelector(".spinner-border").classList.add("d-none");
+ submitNewPasswordFormButton.classList.remove("disabled");
+ });
+ });
+}
+
+$(".open-update-password-modal").addEventListener("click", (e) => {
+ e.preventDefault();
+ initSetpasswordModal();
+ updatePasswordModal.show();
+}); \ No newline at end of file