new configuration version

This commit is contained in:
haburger 2025-07-09 15:57:16 +00:00
parent ed92f6738b
commit ec23310957
27 changed files with 483 additions and 589 deletions

View File

@ -44,7 +44,7 @@ spec:
podDisruptionBudget: podDisruptionBudget:
maxUnavailable: "50%" maxUnavailable: "50%"
git: git:
tag: "r-0a95034444af9c2e5b4a8c12cc3a0f444f6b0447" tag: "r-25da499166053032321f08e80ed9ec3136c59cd1"
dir: "DEFAULT-ADN-AGOV-PROJECT/DEFAULT-ADN-AGOV-INV/logrend" dir: "DEFAULT-ADN-AGOV-PROJECT/DEFAULT-ADN-AGOV-INV/logrend"
credentials: "git-credentials" credentials: "git-credentials"
podSecurity: podSecurity:

View File

@ -1,7 +1,6 @@
class ProvidePhoneNumber { class ProvidePhoneNumber {
modal; modal;
declineModal; declineModal;
providePhoneNumberLaterButton;
phoneNumberInput; phoneNumberInput;
agovInputPhoneNumberInput; agovInputPhoneNumberInput;
repeatPhoneNumberInput; repeatPhoneNumberInput;
@ -10,7 +9,6 @@ class ProvidePhoneNumber {
constructor() { constructor() {
this.modal = document.querySelector('#modal'); this.modal = document.querySelector('#modal');
this.declineModal = document.querySelector('#declineModal'); this.declineModal = document.querySelector('#declineModal');
this.providePhoneNumberLaterButton = document.querySelector('#providePhoneNumberLaterButton');
this.phoneNumberInput = document.querySelector('#phoneNumberInput'); this.phoneNumberInput = document.querySelector('#phoneNumberInput');
this.agovInputPhoneNumberInput = document.querySelector('#agovInputPhoneNumberInput'); this.agovInputPhoneNumberInput = document.querySelector('#agovInputPhoneNumberInput');
this.agovInputRepeatPhoneNumberInput = document.querySelector('#agovInputRepeatPhoneNumberInput'); this.agovInputRepeatPhoneNumberInput = document.querySelector('#agovInputRepeatPhoneNumberInput');
@ -20,20 +18,6 @@ class ProvidePhoneNumber {
this.addPhoneInputEventHandlers(this.phoneNumberInput); this.addPhoneInputEventHandlers(this.phoneNumberInput);
this.addPhoneInputEventHandlers(this.repeatPhoneNumberInput); this.addPhoneInputEventHandlers(this.repeatPhoneNumberInput);
document.querySelector('#declineModalBack').addEventListener('click', () => {
this.resetValidation(this.agovInputPhoneNumberInput);
this.setInvisible(this.declineModal);
});
document.querySelector('#repeatPhoneNumberModalBack').addEventListener('click', () => {
this.initializePhoneInput(this.phoneNumberInput);
this.setInvisible(this.modal);
});
document.querySelector('#repeatPhoneNumberModalContinue').addEventListener('click', () => {
if (this.validateInput(this.agovInputRepeatPhoneNumberInput)) {
this.evaluatePhoneNumbersAndSubmit();
this.initializePhoneInput(this.phoneNumberInput);
}
});
document.querySelector('#providePhoneNumberContinueButton').addEventListener('click', () => { document.querySelector('#providePhoneNumberContinueButton').addEventListener('click', () => {
const dialCode = `+${window.phoneNumberUtils.getDialCode()}`; const dialCode = `+${window.phoneNumberUtils.getDialCode()}`;
if (this.validateInput(this.agovInputPhoneNumberInput)) { if (this.validateInput(this.agovInputPhoneNumberInput)) {
@ -50,6 +34,18 @@ class ProvidePhoneNumber {
}); });
} }
onRepeatModalSubmit() {
if (this.validateInput(this.agovInputRepeatPhoneNumberInput)) {
this.evaluatePhoneNumbersAndSubmit();
this.initializePhoneInput(this.phoneNumberInput);
}
}
onRepeatModalCancel() {
this.initializePhoneInput(this.phoneNumberInput);
this.setInvisible(this.modal);
}
addPhoneInputEventHandlers(phoneInputElement) { addPhoneInputEventHandlers(phoneInputElement) {
phoneInputElement.addEventListener('input', () => { phoneInputElement.addEventListener('input', () => {
this.formatAndEmitPhoneNumberValue(phoneInputElement); this.formatAndEmitPhoneNumberValue(phoneInputElement);
@ -141,9 +137,34 @@ class ProvidePhoneNumber {
window.utils.changeDisplay(errorBanner, 'hidden', 'block'); window.utils.changeDisplay(errorBanner, 'hidden', 'block');
} }
} }
onCloseDeclineModal() {
this.resetValidation(this.agovInputPhoneNumberInput);
this.setInvisible(this.declineModal);
}
onSubmitDeclineModal() {
setTimeout(() => {
document.querySelector('#continueWithoutPhoneNumberButton').click();
});
}
} }
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
document.dispatchEvent(new Event('initPhoneNumberUtils')); document.dispatchEvent(new Event('initPhoneNumberUtils'));
window.providePhoneNumber = new ProvidePhoneNumber(); window.providePhoneNumber = new ProvidePhoneNumber();
document.addEventListener('declineModalCancelEvent', () => {
window.providePhoneNumber.onCloseDeclineModal();
});
document.addEventListener('declineModalSubmitEvent', () => {
window.providePhoneNumber.onSubmitDeclineModal();
});
document.addEventListener('repeatModalCancelEvent', () => {
window.providePhoneNumber.onRepeatModalCancel();
});
document.addEventListener('repeatModalSubmitEvent', () => {
window.providePhoneNumber.onRepeatModalSubmit();
});
}); });

View File

@ -77,7 +77,7 @@
$text.get("footer.text") $text.get("footer.text")
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a> <a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
</div> </div>
<p data-test="agovVersionNumber">1.11.0.local-20250704T042155Z-haburger: Fri Jul 4 06:28:02 CEST 2025</p> <p data-test="agovVersionNumber">1.11.0.local-20250709T152644Z-haburger: Wed Jul 9 17:52:01 CEST 2025</p>
</footer> </footer>
</body> </body>
<script src="${login.appDataPath}/static/bundle.js"></script> <script src="${login.appDataPath}/static/bundle.js"></script>

View File

@ -59,12 +59,12 @@
data-fullwidth="true"> data-fullwidth="true">
</agov-button> </agov-button>
<input class="hidden" name="skip" value="later"> <input class="hidden" name="skip" value="later">
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/> <input class="hidden" name="authRequestId" type="hidden"
value="$gui.getGuiElem('authRequestId').value"/>
</form> </form>
<agov-button <agov-button
id="providePhoneNumberContinueButton" id="providePhoneNumberContinueButton"
class="w-full" class="w-full"
data-style="primary"
data-label="$text.get("providePhoneNumber.saveButtonText")" data-label="$text.get("providePhoneNumber.saveButtonText")"
data-type="button" data-type="button"
data-fullwidth="true"> data-fullwidth="true">
@ -80,25 +80,14 @@
</div> </div>
</div> </div>
<div id="modal" class="fixed top-0 bottom-0 left-0 right-0 pb-20 z-50 hidden"> <agov-modal class="hidden"
<div class="fixed top-0 bottom-0 left-0 right-0 backdrop-blur-[10px]" id="modal_light"></div> id="modal"
<div class="fixed top-0 bottom-0 left-0 right-0 bg-[#E2E2E2E5]/80 dark:bg-[#111111]/90" id="modal_dark"></div> data-title="$text.get("providePhoneNumber.modal.title")"
<div id="drawer" data-description="$text.get("providePhoneNumber.modal.description")"
class="fixed bg-white dark:bg-surface-black rounded-[20px] p-10 w-11/12 sm:max-w-[660px] top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"> data-cancel-button-label="$text.get("general.back")"
data-submit-button-label="$text.get("general.continue")"
<div id="modalTab" class="mb-6 cursor-pointer hidden"> data-submit-button-event-name="repeatModalSubmitEvent"
<div class="w-10 h-1 rounded-full bg-light-grey dark:bg-ash mx-auto"></div> data-cancel-button-event-name="repeatModalCancelEvent">
</div>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("providePhoneNumber.modal.title")
</h4>
<div class="flex flex-col gap-[72px]">
<div class="flex flex-col gap-8">
<div id="modalDescription">
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("providePhoneNumber.modal.description")
</p>
</div>
<agov-input <agov-input
id="agovInputRepeatPhoneNumberInput" id="agovInputRepeatPhoneNumberInput"
data-label="$text.get("providePhoneNumber.modal.inputLabel")" data-label="$text.get("providePhoneNumber.modal.inputLabel")"
@ -112,67 +101,38 @@
data-email_invalid="$text.get("general.wrongPhoneNumber")" data-email_invalid="$text.get("general.wrongPhoneNumber")"
data-email_required="$text.get("general.fieldRequired")"> data-email_required="$text.get("general.fieldRequired")">
</agov-input> </agov-input>
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off" </agov-modal>
accept-charset="UTF-8" <form class="hidden"
class="hidden flex flex-col flex-auto block"> id="$gui.name"
<agov-input name="$gui.name"
id="agovInputMobile" method="POST"
data-label="$text.get("providePhoneNumber.modal.inputLabel")" target="_self"
action="$formTarget"
autocomplete="off"
accept-charset="UTF-8">
<agov-input data-label="$text.get("providePhoneNumber.modal.inputLabel")"
data-id="mobile" data-id="mobile"
data-name="mobile" data-name="mobile"
data-placeholder="" data-placeholder=""
data-value="" data-value=""
data-type="tel" data-type="tel">
data-autofocus="true">
</agov-input> </agov-input>
<agov-button <agov-button data-name="submit"
class="basis-full"
data-name="submit"
data-id="submitPhoneNumber" data-id="submitPhoneNumber"
data-value="submit" data-value="submit"
data-type="submit" data-type="submit"
data-label="$text.get("general.continue")" data-label="$text.get("general.continue")">
data-fullwidth="true">
</agov-button> </agov-button>
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/> <input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form> </form>
</div>
<div class="w-full sm:static mt-auto">
<div class="flex justify-end flex-col-reverse sm:flex-row gap-4">
<agov-button
class="block"
id="repeatPhoneNumberModalBack"
data-style="secondary"
data-label="$text.get("general.back")"
data-type="button"
data-fullwidth="true">
</agov-button>
<agov-button
class="block"
id="repeatPhoneNumberModalContinue"
data-style="primary"
data-label="$text.get("general.continue")"
data-type="button"
data-fullwidth="true">
</agov-button>
</div>
</div>
</div>
</div>
</div>
<div id="declineModal" class="fixed top-0 bottom-0 left-0 right-0 pb-20 z-50 hidden"> <agov-modal class="hidden"
<div class="fixed top-0 bottom-0 left-0 right-0 backdrop-blur-[10px]" id="modal_light"></div> id="declineModal"
<div class="fixed top-0 bottom-0 left-0 right-0 bg-[#E2E2E2E5]/80 dark:bg-[#111111]/90" id="modal_dark"></div> data-title="$text.get("providePhoneNumber.laterModal.title")"
<div id="drawer" data-cancel-button-label="$text.get("general.back")"
class="fixed bg-white dark:bg-surface-black rounded-[20px] p-10 w-11/12 sm:max-w-[660px] top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"> data-submit-button-label="$text.get("general.continue")"
<div id="modalTab" class="mb-6 cursor-pointer hidden"> data-submit-button-event-name="declineModalSubmitEvent"
<div class="w-10 h-1 rounded-full bg-light-grey dark:bg-ash mx-auto"></div> data-cancel-button-event-name="declineModalCancelEvent">
</div>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("providePhoneNumber.laterModal.title")
</h4>
<div class="flex flex-col gap-[72px]">
<div class="flex flex-col gap-4" id="modalDescription"> <div class="flex flex-col gap-4" id="modalDescription">
<p class="font-body text-body-l text-space-blue dark:text-white"> <p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("providePhoneNumber.laterModal.description1") $text.get("providePhoneNumber.laterModal.description1")
@ -184,20 +144,18 @@
$text.get("providePhoneNumber.laterModal.description3") $text.get("providePhoneNumber.laterModal.description3")
</p> </p>
</div> </div>
<div class="w-full sm:static mt-auto sm:justify-items-end"> </agov-modal>
<div class="flex justify-end flex-col-reverse sm:flex-row gap-4"> <form class="hidden"
<agov-button id="$gui.name"
id="declineModalBack" name="$gui.name"
data-style="secondary" method="POST"
data-label="$text.get("general.back")" target="_self"
data-type="button" action="$formTarget"
data-fullwidth="true"> autocomplete="off"
</agov-button> accept-charset="UTF-8">
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
accept-charset="UTF-8"
class="flex flex-col flex-auto block">
<agov-button <agov-button
data-name="submit" data-name="submit"
data-id="continueWithoutPhoneNumberButton"
data-value="submit" data-value="submit"
data-label="$text.get("general.continue")" data-label="$text.get("general.continue")"
data-type="submit" data-type="submit"
@ -206,11 +164,6 @@
<input class="hidden" name="skip" value="persistent"> <input class="hidden" name="skip" value="persistent">
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/> <input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form> </form>
</div>
</div>
</div>
</div>
</div>
<script src="${login.appDataPath}/static/js-code/ask_mobile.js"> <script src="${login.appDataPath}/static/js-code/ask_mobile.js">
</script> </script>

View File

@ -3,7 +3,7 @@
$text.get("footer.text") $text.get("footer.text")
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a> <a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
</div> </div>
<p data-test="agovVersionNumber">1.11.0.local-20250704T042155Z-haburger: Fri Jul 4 06:28:02 CEST 2025</p> <p data-test="agovVersionNumber">1.11.0.local-20250709T152644Z-haburger: Wed Jul 9 17:52:01 CEST 2025</p>
</footer> </footer>
<script src="${login.appDataPath}/static/bundle.js"></script> <script src="${login.appDataPath}/static/bundle.js"></script>
</body> </body>

View File

@ -88,25 +88,14 @@
</div> </div>
</div> </div>
<div id="modal" class="fixed top-0 bottom-0 left-0 right-0 pb-20 z-50 hidden"> <agov-modal class="hidden"
<div class="fixed top-0 bottom-0 left-0 right-0 backdrop-blur-[10px]" id="modal_light"></div> id="modal"
<div class="fixed top-0 bottom-0 left-0 right-0 bg-[#E2E2E2E5]/80 dark:bg-[#111111]/90" id="modal_dark"></div> data-title="$text.get("general.recoveryCode.repeatCodeModal.title")"
data-description="$text.get("general.recoveryCode.repeatCodeModal.description")"
<div id="drawer" data-cancel-button-label="$text.get("general.back")"
class="fixed bg-white dark:bg-surface-black rounded-[20px] p-10 w-11/12 sm:max-w-[660px] top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"> data-submit-button-label="$text.get("general.continue")"
data-submit-button-event-name="repeatRecoveryCodeModalSubmitEvent"
<div id="modalTab" class="mb-6 cursor-pointer hidden"> data-cancel-button-event-name="repeatRecoveryCodeModalCancelEvent">
<div class="w-10 h-1 rounded-full bg-light-grey dark:bg-ash mx-auto"></div>
</div>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("general.recoveryCode.repeatCodeModal.title")
</h4>
<div class="flex flex-col gap-8">
<div id="modalDescription">
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("general.recoveryCode.repeatCodeModal.description")
</p>
</div>
<agov-input <agov-input
data-label="$text.get("general.recoveryCode.inputLabel")" data-label="$text.get("general.recoveryCode.inputLabel")"
data-id="repeatRecoveryCodeInput" data-id="repeatRecoveryCodeInput"
@ -117,30 +106,15 @@
data-autofocus="true" data-autofocus="true"
data-email_required="$text.get("general.fieldRequired")"> data-email_required="$text.get("general.fieldRequired")">
</agov-input> </agov-input>
</div> </agov-modal>
<div class="w-full sm:static mt-auto"> <form class="hidden"
<div class="flex justify-end flex-col-reverse sm:flex-row gap-4"> id="$gui.name"
<agov-button name="$gui.name"
id="repeatRecoveryCodeModalBack" method="POST"
class="block" target="_self"
data-style="secondary" action="$formTarget"
data-label="$text.get("general.back")" autocomplete="off"
data-type="button" accept-charset="UTF-8">
data-fullwidth="true">
</agov-button>
<agov-button
id="repeatRecoveryCodeModalContinue"
class="block"
data-style="primary"
data-label="$text.get("general.continue")"
data-type="button"
data-fullwidth="true">
</agov-button>
<form id="$gui.name" name="$gui.name" method="POST" target="_self"
action="$formTarget" autocomplete="off"
accept-charset="UTF-8"
class="hidden">
<agov-button <agov-button
class="block basis-full" class="block basis-full"
data-name="submit" data-name="submit"
@ -152,10 +126,6 @@
</agov-button> </agov-button>
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/> <input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form> </form>
</div>
</div>
</div>
</div>
<script src="${login.appDataPath}/static/js-code/recovery_code.js"> <script src="${login.appDataPath}/static/js-code/recovery_code.js">
</script> </script>

View File

@ -2,6 +2,7 @@
## svh -> Small View Height. It's not taking the height of the search bar on mobile into account ## svh -> Small View Height. It's not taking the height of the search bar on mobile into account
<html lang="$login.language" class="relative min-h-100 h-full mx-4 flex sm:block"> <html lang="$login.language" class="relative min-h-100 h-full mx-4 flex sm:block">
<head> <head>
<script src="${login.appDataPath}/static/preload.js"></script>
<title>AGOV</title> <title>AGOV</title>
<meta charset="UTF-8"> <meta charset="UTF-8">
<script src="${login.appDataPath}/static/preload.js"></script> <script src="${login.appDataPath}/static/preload.js"></script>
@ -24,7 +25,9 @@
dark:block"> dark:block">
<div class="flex items-center flex-1 sm:flex-initial justify-end"> <div class="flex items-center flex-1 sm:flex-initial justify-end">
#set ($langMenu = '') #set ($langMenu = '')
#foreach ($locale in $login.locales) ## NOTE/2025-06-30/haburger: using hard coded, sorted array instead of $login.locales
#set($localeList = ["de", "fr", "it", "rm", "en"])
#foreach ($locale in $localeList)
## find translated label of current locale ## find translated label of current locale
#if ($text.contains("language.$locale")) #if ($text.contains("language.$locale"))
#set ($langLabel = $text.get("language.$locale")) #set ($langLabel = $text.get("language.$locale"))

View File

@ -1,7 +1,6 @@
class ProvidePhoneNumber { class ProvidePhoneNumber {
modal; modal;
declineModal; declineModal;
providePhoneNumberLaterButton;
phoneNumberInput; phoneNumberInput;
agovInputPhoneNumberInput; agovInputPhoneNumberInput;
repeatPhoneNumberInput; repeatPhoneNumberInput;
@ -10,7 +9,6 @@ class ProvidePhoneNumber {
constructor() { constructor() {
this.modal = document.querySelector('#modal'); this.modal = document.querySelector('#modal');
this.declineModal = document.querySelector('#declineModal'); this.declineModal = document.querySelector('#declineModal');
this.providePhoneNumberLaterButton = document.querySelector('#providePhoneNumberLaterButton');
this.phoneNumberInput = document.querySelector('#phoneNumberInput'); this.phoneNumberInput = document.querySelector('#phoneNumberInput');
this.agovInputPhoneNumberInput = document.querySelector('#agovInputPhoneNumberInput'); this.agovInputPhoneNumberInput = document.querySelector('#agovInputPhoneNumberInput');
this.agovInputRepeatPhoneNumberInput = document.querySelector('#agovInputRepeatPhoneNumberInput'); this.agovInputRepeatPhoneNumberInput = document.querySelector('#agovInputRepeatPhoneNumberInput');
@ -20,20 +18,6 @@ class ProvidePhoneNumber {
this.addPhoneInputEventHandlers(this.phoneNumberInput); this.addPhoneInputEventHandlers(this.phoneNumberInput);
this.addPhoneInputEventHandlers(this.repeatPhoneNumberInput); this.addPhoneInputEventHandlers(this.repeatPhoneNumberInput);
document.querySelector('#declineModalBack').addEventListener('click', () => {
this.resetValidation(this.agovInputPhoneNumberInput);
this.setInvisible(this.declineModal);
});
document.querySelector('#repeatPhoneNumberModalBack').addEventListener('click', () => {
this.initializePhoneInput(this.phoneNumberInput);
this.setInvisible(this.modal);
});
document.querySelector('#repeatPhoneNumberModalContinue').addEventListener('click', () => {
if (this.validateInput(this.agovInputRepeatPhoneNumberInput)) {
this.evaluatePhoneNumbersAndSubmit();
this.initializePhoneInput(this.phoneNumberInput);
}
});
document.querySelector('#providePhoneNumberContinueButton').addEventListener('click', () => { document.querySelector('#providePhoneNumberContinueButton').addEventListener('click', () => {
const dialCode = `+${window.phoneNumberUtils.getDialCode()}`; const dialCode = `+${window.phoneNumberUtils.getDialCode()}`;
if (this.validateInput(this.agovInputPhoneNumberInput)) { if (this.validateInput(this.agovInputPhoneNumberInput)) {
@ -50,6 +34,18 @@ class ProvidePhoneNumber {
}); });
} }
onRepeatModalSubmit() {
if (this.validateInput(this.agovInputRepeatPhoneNumberInput)) {
this.evaluatePhoneNumbersAndSubmit();
this.initializePhoneInput(this.phoneNumberInput);
}
}
onRepeatModalCancel() {
this.initializePhoneInput(this.phoneNumberInput);
this.setInvisible(this.modal);
}
addPhoneInputEventHandlers(phoneInputElement) { addPhoneInputEventHandlers(phoneInputElement) {
phoneInputElement.addEventListener('input', () => { phoneInputElement.addEventListener('input', () => {
this.formatAndEmitPhoneNumberValue(phoneInputElement); this.formatAndEmitPhoneNumberValue(phoneInputElement);
@ -141,9 +137,34 @@ class ProvidePhoneNumber {
window.utils.changeDisplay(errorBanner, 'hidden', 'block'); window.utils.changeDisplay(errorBanner, 'hidden', 'block');
} }
} }
onCloseDeclineModal() {
this.resetValidation(this.agovInputPhoneNumberInput);
this.setInvisible(this.declineModal);
}
onSubmitDeclineModal() {
setTimeout(() => {
document.querySelector('#continueWithoutPhoneNumberButton').click();
});
}
} }
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
document.dispatchEvent(new Event('initPhoneNumberUtils')); document.dispatchEvent(new Event('initPhoneNumberUtils'));
window.providePhoneNumber = new ProvidePhoneNumber(); window.providePhoneNumber = new ProvidePhoneNumber();
document.addEventListener('declineModalCancelEvent', () => {
window.providePhoneNumber.onCloseDeclineModal();
});
document.addEventListener('declineModalSubmitEvent', () => {
window.providePhoneNumber.onSubmitDeclineModal();
});
document.addEventListener('repeatModalCancelEvent', () => {
window.providePhoneNumber.onRepeatModalCancel();
});
document.addEventListener('repeatModalSubmitEvent', () => {
window.providePhoneNumber.onRepeatModalSubmit();
});
}); });

View File

@ -77,7 +77,7 @@
$text.get("footer.text") $text.get("footer.text")
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a> <a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
</div> </div>
<p data-test="agovVersionNumber">1.11.0.local-20250704T042155Z-haburger: Fri Jul 4 06:28:02 CEST 2025</p> <p data-test="agovVersionNumber">1.11.0.local-20250709T152644Z-haburger: Wed Jul 9 17:52:01 CEST 2025</p>
</footer> </footer>
</body> </body>
<script src="${login.appDataPath}/static/bundle.js"></script> <script src="${login.appDataPath}/static/bundle.js"></script>

View File

@ -59,12 +59,12 @@
data-fullwidth="true"> data-fullwidth="true">
</agov-button> </agov-button>
<input class="hidden" name="skip" value="later"> <input class="hidden" name="skip" value="later">
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/> <input class="hidden" name="authRequestId" type="hidden"
value="$gui.getGuiElem('authRequestId').value"/>
</form> </form>
<agov-button <agov-button
id="providePhoneNumberContinueButton" id="providePhoneNumberContinueButton"
class="w-full" class="w-full"
data-style="primary"
data-label="$text.get("providePhoneNumber.saveButtonText")" data-label="$text.get("providePhoneNumber.saveButtonText")"
data-type="button" data-type="button"
data-fullwidth="true"> data-fullwidth="true">
@ -80,25 +80,14 @@
</div> </div>
</div> </div>
<div id="modal" class="fixed top-0 bottom-0 left-0 right-0 pb-20 z-50 hidden"> <agov-modal class="hidden"
<div class="fixed top-0 bottom-0 left-0 right-0 backdrop-blur-[10px]" id="modal_light"></div> id="modal"
<div class="fixed top-0 bottom-0 left-0 right-0 bg-[#E2E2E2E5]/80 dark:bg-[#111111]/90" id="modal_dark"></div> data-title="$text.get("providePhoneNumber.modal.title")"
<div id="drawer" data-description="$text.get("providePhoneNumber.modal.description")"
class="fixed bg-white dark:bg-surface-black rounded-[20px] p-10 w-11/12 sm:max-w-[660px] top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"> data-cancel-button-label="$text.get("general.back")"
data-submit-button-label="$text.get("general.continue")"
<div id="modalTab" class="mb-6 cursor-pointer hidden"> data-submit-button-event-name="repeatModalSubmitEvent"
<div class="w-10 h-1 rounded-full bg-light-grey dark:bg-ash mx-auto"></div> data-cancel-button-event-name="repeatModalCancelEvent">
</div>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("providePhoneNumber.modal.title")
</h4>
<div class="flex flex-col gap-[72px]">
<div class="flex flex-col gap-8">
<div id="modalDescription">
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("providePhoneNumber.modal.description")
</p>
</div>
<agov-input <agov-input
id="agovInputRepeatPhoneNumberInput" id="agovInputRepeatPhoneNumberInput"
data-label="$text.get("providePhoneNumber.modal.inputLabel")" data-label="$text.get("providePhoneNumber.modal.inputLabel")"
@ -112,67 +101,38 @@
data-email_invalid="$text.get("general.wrongPhoneNumber")" data-email_invalid="$text.get("general.wrongPhoneNumber")"
data-email_required="$text.get("general.fieldRequired")"> data-email_required="$text.get("general.fieldRequired")">
</agov-input> </agov-input>
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off" </agov-modal>
accept-charset="UTF-8" <form class="hidden"
class="hidden flex flex-col flex-auto block"> id="$gui.name"
<agov-input name="$gui.name"
id="agovInputMobile" method="POST"
data-label="$text.get("providePhoneNumber.modal.inputLabel")" target="_self"
action="$formTarget"
autocomplete="off"
accept-charset="UTF-8">
<agov-input data-label="$text.get("providePhoneNumber.modal.inputLabel")"
data-id="mobile" data-id="mobile"
data-name="mobile" data-name="mobile"
data-placeholder="" data-placeholder=""
data-value="" data-value=""
data-type="tel" data-type="tel">
data-autofocus="true">
</agov-input> </agov-input>
<agov-button <agov-button data-name="submit"
class="basis-full"
data-name="submit"
data-id="submitPhoneNumber" data-id="submitPhoneNumber"
data-value="submit" data-value="submit"
data-type="submit" data-type="submit"
data-label="$text.get("general.continue")" data-label="$text.get("general.continue")">
data-fullwidth="true">
</agov-button> </agov-button>
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/> <input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form> </form>
</div>
<div class="w-full sm:static mt-auto">
<div class="flex justify-end flex-col-reverse sm:flex-row gap-4">
<agov-button
class="block"
id="repeatPhoneNumberModalBack"
data-style="secondary"
data-label="$text.get("general.back")"
data-type="button"
data-fullwidth="true">
</agov-button>
<agov-button
class="block"
id="repeatPhoneNumberModalContinue"
data-style="primary"
data-label="$text.get("general.continue")"
data-type="button"
data-fullwidth="true">
</agov-button>
</div>
</div>
</div>
</div>
</div>
<div id="declineModal" class="fixed top-0 bottom-0 left-0 right-0 pb-20 z-50 hidden"> <agov-modal class="hidden"
<div class="fixed top-0 bottom-0 left-0 right-0 backdrop-blur-[10px]" id="modal_light"></div> id="declineModal"
<div class="fixed top-0 bottom-0 left-0 right-0 bg-[#E2E2E2E5]/80 dark:bg-[#111111]/90" id="modal_dark"></div> data-title="$text.get("providePhoneNumber.laterModal.title")"
<div id="drawer" data-cancel-button-label="$text.get("general.back")"
class="fixed bg-white dark:bg-surface-black rounded-[20px] p-10 w-11/12 sm:max-w-[660px] top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"> data-submit-button-label="$text.get("general.continue")"
<div id="modalTab" class="mb-6 cursor-pointer hidden"> data-submit-button-event-name="declineModalSubmitEvent"
<div class="w-10 h-1 rounded-full bg-light-grey dark:bg-ash mx-auto"></div> data-cancel-button-event-name="declineModalCancelEvent">
</div>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("providePhoneNumber.laterModal.title")
</h4>
<div class="flex flex-col gap-[72px]">
<div class="flex flex-col gap-4" id="modalDescription"> <div class="flex flex-col gap-4" id="modalDescription">
<p class="font-body text-body-l text-space-blue dark:text-white"> <p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("providePhoneNumber.laterModal.description1") $text.get("providePhoneNumber.laterModal.description1")
@ -184,20 +144,18 @@
$text.get("providePhoneNumber.laterModal.description3") $text.get("providePhoneNumber.laterModal.description3")
</p> </p>
</div> </div>
<div class="w-full sm:static mt-auto sm:justify-items-end"> </agov-modal>
<div class="flex justify-end flex-col-reverse sm:flex-row gap-4"> <form class="hidden"
<agov-button id="$gui.name"
id="declineModalBack" name="$gui.name"
data-style="secondary" method="POST"
data-label="$text.get("general.back")" target="_self"
data-type="button" action="$formTarget"
data-fullwidth="true"> autocomplete="off"
</agov-button> accept-charset="UTF-8">
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
accept-charset="UTF-8"
class="flex flex-col flex-auto block">
<agov-button <agov-button
data-name="submit" data-name="submit"
data-id="continueWithoutPhoneNumberButton"
data-value="submit" data-value="submit"
data-label="$text.get("general.continue")" data-label="$text.get("general.continue")"
data-type="submit" data-type="submit"
@ -206,11 +164,6 @@
<input class="hidden" name="skip" value="persistent"> <input class="hidden" name="skip" value="persistent">
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/> <input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form> </form>
</div>
</div>
</div>
</div>
</div>
<script src="${login.appDataPath}/static/js-code/ask_mobile.js"> <script src="${login.appDataPath}/static/js-code/ask_mobile.js">
</script> </script>

View File

@ -3,7 +3,7 @@
$text.get("footer.text") $text.get("footer.text")
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a> <a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
</div> </div>
<p data-test="agovVersionNumber">1.11.0.local-20250704T042155Z-haburger: Fri Jul 4 06:28:02 CEST 2025</p> <p data-test="agovVersionNumber">1.11.0.local-20250709T152644Z-haburger: Wed Jul 9 17:52:01 CEST 2025</p>
</footer> </footer>
<script src="${login.appDataPath}/static/bundle.js"></script> <script src="${login.appDataPath}/static/bundle.js"></script>
</body> </body>

View File

@ -88,25 +88,14 @@
</div> </div>
</div> </div>
<div id="modal" class="fixed top-0 bottom-0 left-0 right-0 pb-20 z-50 hidden"> <agov-modal class="hidden"
<div class="fixed top-0 bottom-0 left-0 right-0 backdrop-blur-[10px]" id="modal_light"></div> id="modal"
<div class="fixed top-0 bottom-0 left-0 right-0 bg-[#E2E2E2E5]/80 dark:bg-[#111111]/90" id="modal_dark"></div> data-title="$text.get("general.recoveryCode.repeatCodeModal.title")"
data-description="$text.get("general.recoveryCode.repeatCodeModal.description")"
<div id="drawer" data-cancel-button-label="$text.get("general.back")"
class="fixed bg-white dark:bg-surface-black rounded-[20px] p-10 w-11/12 sm:max-w-[660px] top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"> data-submit-button-label="$text.get("general.continue")"
data-submit-button-event-name="repeatRecoveryCodeModalSubmitEvent"
<div id="modalTab" class="mb-6 cursor-pointer hidden"> data-cancel-button-event-name="repeatRecoveryCodeModalCancelEvent">
<div class="w-10 h-1 rounded-full bg-light-grey dark:bg-ash mx-auto"></div>
</div>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("general.recoveryCode.repeatCodeModal.title")
</h4>
<div class="flex flex-col gap-8">
<div id="modalDescription">
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("general.recoveryCode.repeatCodeModal.description")
</p>
</div>
<agov-input <agov-input
data-label="$text.get("general.recoveryCode.inputLabel")" data-label="$text.get("general.recoveryCode.inputLabel")"
data-id="repeatRecoveryCodeInput" data-id="repeatRecoveryCodeInput"
@ -117,30 +106,15 @@
data-autofocus="true" data-autofocus="true"
data-email_required="$text.get("general.fieldRequired")"> data-email_required="$text.get("general.fieldRequired")">
</agov-input> </agov-input>
</div> </agov-modal>
<div class="w-full sm:static mt-auto"> <form class="hidden"
<div class="flex justify-end flex-col-reverse sm:flex-row gap-4"> id="$gui.name"
<agov-button name="$gui.name"
id="repeatRecoveryCodeModalBack" method="POST"
class="block" target="_self"
data-style="secondary" action="$formTarget"
data-label="$text.get("general.back")" autocomplete="off"
data-type="button" accept-charset="UTF-8">
data-fullwidth="true">
</agov-button>
<agov-button
id="repeatRecoveryCodeModalContinue"
class="block"
data-style="primary"
data-label="$text.get("general.continue")"
data-type="button"
data-fullwidth="true">
</agov-button>
<form id="$gui.name" name="$gui.name" method="POST" target="_self"
action="$formTarget" autocomplete="off"
accept-charset="UTF-8"
class="hidden">
<agov-button <agov-button
class="block basis-full" class="block basis-full"
data-name="submit" data-name="submit"
@ -152,10 +126,6 @@
</agov-button> </agov-button>
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/> <input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form> </form>
</div>
</div>
</div>
</div>
<script src="${login.appDataPath}/static/js-code/recovery_code.js"> <script src="${login.appDataPath}/static/js-code/recovery_code.js">
</script> </script>

View File

@ -2,6 +2,7 @@
## svh -> Small View Height. It's not taking the height of the search bar on mobile into account ## svh -> Small View Height. It's not taking the height of the search bar on mobile into account
<html lang="$login.language" class="relative min-h-100 h-full mx-4 flex sm:block"> <html lang="$login.language" class="relative min-h-100 h-full mx-4 flex sm:block">
<head> <head>
<script src="${login.appDataPath}/static/preload.js"></script>
<title>AGOV</title> <title>AGOV</title>
<meta charset="UTF-8"> <meta charset="UTF-8">
<script src="${login.appDataPath}/static/preload.js"></script> <script src="${login.appDataPath}/static/preload.js"></script>
@ -24,7 +25,9 @@
dark:block"> dark:block">
<div class="flex items-center flex-1 sm:flex-initial justify-end"> <div class="flex items-center flex-1 sm:flex-initial justify-end">
#set ($langMenu = '') #set ($langMenu = '')
#foreach ($locale in $login.locales) ## NOTE/2025-06-30/haburger: using hard coded, sorted array instead of $login.locales
#set($localeList = ["de", "fr", "it", "rm", "en"])
#foreach ($locale in $localeList)
## find translated label of current locale ## find translated label of current locale
#if ($text.contains("language.$locale")) #if ($text.contains("language.$locale"))
#set ($langLabel = $text.get("language.$locale")) #set ($langLabel = $text.get("language.$locale"))

View File

@ -46,7 +46,7 @@ spec:
podDisruptionBudget: podDisruptionBudget:
maxUnavailable: "50%" maxUnavailable: "50%"
git: git:
tag: "r-0a95034444af9c2e5b4a8c12cc3a0f444f6b0447" tag: "r-25da499166053032321f08e80ed9ec3136c59cd1"
dir: "DEFAULT-ADN-AGOV-PROJECT/DEFAULT-ADN-AGOV-INV/proxy-idp" dir: "DEFAULT-ADN-AGOV-PROJECT/DEFAULT-ADN-AGOV-INV/proxy-idp"
credentials: "git-credentials" credentials: "git-credentials"
keystores: keystores:

View File

@ -63,7 +63,7 @@
</div> </div>
</div> </div>
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end"> <footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
<p data-test="agovVersionNumber">1.11.0.local-20250704T042155Z-haburger: Fri Jul 4 06:28:02 CEST 2025</p> <p data-test="agovVersionNumber">1.11.0.local-20250709T152644Z-haburger: Wed Jul 9 17:52:01 CEST 2025</p>
</footer> </footer>
<script src="/resources/static/bundle.js"></script> <script src="/resources/static/bundle.js"></script>
</body> </body>

View File

@ -60,7 +60,7 @@
</div> </div>
</div> </div>
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end"> <footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
<p data-test="agovVersionNumber">1.11.0.local-20250704T042155Z-haburger: Fri Jul 4 06:28:02 CEST 2025</p> <p data-test="agovVersionNumber">1.11.0.local-20250709T152644Z-haburger: Wed Jul 9 17:52:01 CEST 2025</p>
</footer> </footer>
<script src="/resources/static/bundle.js"></script> <script src="/resources/static/bundle.js"></script>
</body> </body>

View File

@ -61,7 +61,7 @@
</div> </div>
</div> </div>
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end"> <footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
<p data-test="agovVersionNumber">1.11.0.local-20250704T042155Z-haburger: Fri Jul 4 06:28:02 CEST 2025</p> <p data-test="agovVersionNumber">1.11.0.local-20250709T152644Z-haburger: Wed Jul 9 17:52:01 CEST 2025</p>
</footer> </footer>
<script src="/resources/static/bundle.js"></script> <script src="/resources/static/bundle.js"></script>
</body> </body>

View File

@ -62,7 +62,7 @@
</div> </div>
</div> </div>
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end"> <footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
<p data-test="agovVersionNumber">1.11.0.local-20250704T042155Z-haburger: Fri Jul 4 06:28:02 CEST 2025</p> <p data-test="agovVersionNumber">1.11.0.local-20250709T152644Z-haburger: Wed Jul 9 17:52:01 CEST 2025</p>
</footer> </footer>
<script src="/resources/static/bundle.js"></script> <script src="/resources/static/bundle.js"></script>
</body> </body>

View File

@ -64,7 +64,7 @@
</div> </div>
</div> </div>
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end"> <footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
<p data-test="agovVersionNumber">1.11.0.local-20250704T042155Z-haburger: Fri Jul 4 06:28:02 CEST 2025</p> <p data-test="agovVersionNumber">1.11.0.local-20250709T152644Z-haburger: Wed Jul 9 17:52:01 CEST 2025</p>
</footer> </footer>
</body> </body>
<script src="/resources/static/bundle.js"></script> <script src="/resources/static/bundle.js"></script>

View File

@ -66,7 +66,7 @@
</div> </div>
</div> </div>
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end"> <footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
<p data-test="agovVersionNumber">1.11.0.local-20250704T042155Z-haburger: Fri Jul 4 06:28:02 CEST 2025</p> <p data-test="agovVersionNumber">1.11.0.local-20250709T152644Z-haburger: Wed Jul 9 17:52:01 CEST 2025</p>
</footer> </footer>
<script src="/resources/static/bundle.js"></script> <script src="/resources/static/bundle.js"></script>
</body> </body>

View File

@ -63,7 +63,7 @@
</div> </div>
</div> </div>
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end"> <footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
<p data-test="agovVersionNumber">1.11.0.local-20250704T042155Z-haburger: Fri Jul 4 06:28:02 CEST 2025</p> <p data-test="agovVersionNumber">1.11.0.local-20250709T152644Z-haburger: Wed Jul 9 17:52:01 CEST 2025</p>
</footer> </footer>
<script src="/resources/static/bundle.js"></script> <script src="/resources/static/bundle.js"></script>
</body> </body>