From 50395e90bba932880fb6399b0a6bccb0df660c10 Mon Sep 17 00:00:00 2001 From: adminsopel Date: Fri, 1 May 2026 10:32:53 +0200 Subject: [PATCH] Albumik 0.1.2 logo account and password change --- backend/__pycache__/app.cpython-311.pyc | Bin 0 -> 92709 bytes manifest.toml | 2 +- web/app.js | 107 ++++++++++++++++++++++++ web/index.html | 9 +- web/styles.css | 77 +++++++++++++++++ 5 files changed, 190 insertions(+), 5 deletions(-) create mode 100644 backend/__pycache__/app.cpython-311.pyc diff --git a/backend/__pycache__/app.cpython-311.pyc b/backend/__pycache__/app.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e0e7277aa56a7ba18ee5cf0bce09c7a48ce8094c GIT binary patch literal 92709 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 literal 0 HcmV?d00001 diff --git a/manifest.toml b/manifest.toml index a8c8d2f..6db2320 100644 --- a/manifest.toml +++ b/manifest.toml @@ -3,7 +3,7 @@ id = "albumik" name = "Albumik" description.en = "Lightweight private photo album with folder permissions and guest uploads" description.pl = "Lekki prywatny album zdjęć z katalogami, gośćmi i akceptacją zdjęć" -version = "0.1.1~ynh1" +version = "0.1.2~ynh1" maintainers = ["Filip"] [upstream] diff --git a/web/app.js b/web/app.js index 549d2e8..36d824e 100644 --- a/web/app.js +++ b/web/app.js @@ -221,3 +221,110 @@ $('#rejectPhotoBtn').addEventListener('click', async()=>{ }); init(); + +/* Albumik 0.1.2 - Moje konto */ +function albumikEscape(value) { + return String(value ?? "") + .replaceAll("&", "&") + .replaceAll("<", "<") + .replaceAll(">", ">") + .replaceAll('"', """) + .replaceAll("'", "'"); +} + +function albumikRenderAccountView() { + const main = + document.querySelector("#content") || + document.querySelector(".content") || + document.querySelector("main") || + document.querySelector(".main"); + + if (!main) return; + + const user = window.state?.user || state?.user || {}; + + main.innerHTML = ` +
+

Moje konto

+

Zmień hasło i sprawdź podstawowe informacje o swoim koncie.

+
+ + + + + `; + + document.querySelector("#changePasswordForm")?.addEventListener("submit", async (e) => { + e.preventDefault(); + + const fd = new FormData(e.currentTarget); + const current_password = fd.get("current_password"); + const new_password = fd.get("new_password"); + const repeat_password = fd.get("repeat_password"); + const err = document.querySelector("#changePasswordError"); + + err.style.color = ""; + + if (new_password !== repeat_password) { + err.textContent = "Nowe hasła nie są takie same."; + return; + } + + try { + const res = await api("/api/me/password", { + method: "POST", + body: JSON.stringify({ current_password, new_password }) + }); + + if (!res.ok) { + err.textContent = res.error || "Nie udało się zmienić hasła."; + return; + } + + err.style.color = "#16a34a"; + err.textContent = "Hasło zostało zmienione."; + e.currentTarget.reset(); + } catch (ex) { + err.textContent = "Błąd połączenia z serwerem."; + } + }); +} + +document.addEventListener("click", (e) => { + const btn = e.target.closest('[data-view="account"]'); + if (!btn) return; + + e.preventDefault(); + + try { + state.currentView = "account"; + } catch (e) {} + + document.querySelectorAll(".nav-btn").forEach((b) => b.classList.remove("active")); + btn.classList.add("active"); + + albumikRenderAccountView(); +}); diff --git a/web/index.html b/web/index.html index 194c561..717b8fc 100644 --- a/web/index.html +++ b/web/index.html @@ -4,12 +4,12 @@ Albumik - +