/* Espe | Ein schlichtes Werkzeug zur Mitglieder-Verwaltung | Frontend Copyright (C) 2024 Christian Fraß This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ lib_plankton.zoo_page.register( "password_change_init", (parameters, target_element) => { target_element.appendChild(template_request("password_change_init")); target_element.querySelector(".password_change_init-title").textContent = lib_plankton.translate.get("page.password_change_init.title"); target_element.querySelector(".password_change_init-info").textContent = lib_plankton.translate.get("page.password_change_init.info"); update_nav({"mode": null}); const form = new lib_plankton.zoo_form.class_form< { identifier : string; }, { identifier : string; } >( x => x, x => x, new lib_plankton.zoo_input.class_input_group( [ { "name": "identifier", "input": new lib_plankton.zoo_input.class_input_text(), "label": lib_plankton.translate.get("page.password_change_init.identifier"), }, ] ), [ { "label": lib_plankton.translate.get("page.password_change_init.submit"), "procedure": async (get_value, get_representation) => { target_element.querySelector(".password_change_init-stat").textContent = lib_plankton.translate.get("page.password_change_init.status.wait"); const value = await get_value(); ( _espe.backend.member_password_change_initialize( value.identifier, lib_plankton.zoo_page.encode( { "name": "password_change_exec", "parameters": { "id": "{{id}}", "token": "{{token}}", } } ) ) .then( () => { target_element.querySelector(".password_change_init-stat").textContent = lib_plankton.translate.get("page.password_change_init.status.success"); } ) .catch( (error) => { target_element.querySelector(".password_change_init-stat").textContent = lib_plankton.translate.get("page.password_change_init.status.fail"); } ) ); }, } ] ); form.setup(target_element.querySelector(".password_change_init-form") as HTMLElement); } );