new configuration version

This commit is contained in:
haburger 2024-11-29 16:17:22 +00:00
parent c5c8475151
commit 55ef406a42
42 changed files with 497 additions and 280 deletions

View File

@ -45,7 +45,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-1389008c7767421128d0ba0b23857bd65a867694"
tag: "r-0d4f317ecee462cf51ce783f04b4590ea6d580fb"
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/auth"
credentials: "git-credentials"
keystores:

View File

@ -53,6 +53,7 @@ general.edit=Edit
general.email=Email
general.email.address=Email address
general.entryCode=Code entry
general.fieldRequired=Field required.
general.getStarted=Get started
general.goAGOVHelp=Go to AGOV help
general.goAccessApp=Login with AGOV access
@ -63,6 +64,10 @@ general.loginSecurityKey=Start Security key login
general.or=OR
general.otherOptions=OTHER OPTIONS
general.recovery=Recovery
general.recoveryCode.inputLabel=Recovery code
general.recoveryCode.repeatCodeError=The code you entered was incorrect. Please ensure you have stored it correctly, then continue to resubmit.
general.recoveryCode.repeatCodeModal.description=A lost or incorrectly stored recovery code can make it more difficult to recover your account. To ensure you have recorded your code correctly, please repeat it below.
general.recoveryCode.repeatCodeModal.title=Repeat recovery code
general.recoveryOngoing=Ongoing recovery
general.register=Register
general.registerNow=Register now!

View File

@ -53,6 +53,7 @@ general.edit=Edit
general.email=Email
general.email.address=Email address
general.entryCode=Code entry
general.fieldRequired=Field required.
general.getStarted=Get started
general.goAGOVHelp=Go to AGOV help
general.goAccessApp=Login with AGOV access
@ -63,6 +64,10 @@ general.loginSecurityKey=Start Security key login
general.or=OR
general.otherOptions=OTHER OPTIONS
general.recovery=Recovery
general.recoveryCode.inputLabel=Recovery code
general.recoveryCode.repeatCodeError=The code you entered was incorrect. Please ensure you have stored it correctly, then continue to resubmit.
general.recoveryCode.repeatCodeModal.description=A lost or incorrectly stored recovery code can make it more difficult to recover your account. To ensure you have recorded your code correctly, please repeat it below.
general.recoveryCode.repeatCodeModal.title=Repeat recovery code
general.recoveryOngoing=Ongoing recovery
general.register=Register
general.registerNow=Register now!

View File

@ -44,7 +44,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-1389008c7767421128d0ba0b23857bd65a867694"
tag: "r-0d4f317ecee462cf51ce783f04b4590ea6d580fb"
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/logrend"
credentials: "git-credentials"
podSecurity:

View File

@ -48,6 +48,7 @@ general.edit=Edit
general.email=Email
general.email.address=Email address
general.entryCode=Code entry
general.fieldRequired=Field required.
general.getStarted=Get started
general.goAGOVHelp=Go to AGOV help
general.goAccessApp=Login with AGOV access
@ -58,6 +59,10 @@ general.loginSecurityKey=Start Security key login
general.or=OR
general.otherOptions=OTHER OPTIONS
general.recovery=Recovery
general.recoveryCode.inputLabel=Recovery code
general.recoveryCode.repeatCodeError=The code you entered was incorrect. Please ensure you have stored it correctly, then continue to resubmit.
general.recoveryCode.repeatCodeModal.description=A lost or incorrectly stored recovery code can make it more difficult to recover your account. To ensure you have recorded your code correctly, please repeat it below.
general.recoveryCode.repeatCodeModal.title=Repeat recovery code
general.recoveryOngoing=Ongoing recovery
general.register=Register
general.registerNow=Register now!

View File

@ -48,6 +48,7 @@ general.edit=Edit
general.email=Email
general.email.address=Email address
general.entryCode=Code entry
general.fieldRequired=Field required.
general.getStarted=Get started
general.goAGOVHelp=Go to AGOV help
general.goAccessApp=Login with AGOV access
@ -58,6 +59,10 @@ general.loginSecurityKey=Start Security key login
general.or=OR
general.otherOptions=OTHER OPTIONS
general.recovery=Recovery
general.recoveryCode.inputLabel=Recovery code
general.recoveryCode.repeatCodeError=The code you entered was incorrect. Please ensure you have stored it correctly, then continue to resubmit.
general.recoveryCode.repeatCodeModal.description=A lost or incorrectly stored recovery code can make it more difficult to recover your account. To ensure you have recorded your code correctly, please repeat it below.
general.recoveryCode.repeatCodeModal.title=Repeat recovery code
general.recoveryOngoing=Ongoing recovery
general.register=Register
general.registerNow=Register now!

View File

@ -3,7 +3,7 @@
$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>
</div>
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="${login.appDataPath}/static/bundle.js"></script>
</body>

View File

@ -1,101 +1,160 @@
#parse("${templatePath}/header.vm")
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
#set ($PDFRecoveryTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','').replaceAll(
'^(https:\/\/[^\/]+\/).*$', '$1')))
'^(https:\/\/[^\/]+\/).*$', '$1')))
#set ($concat = "recovery/pdf?authToken=")
#set ($PDFLink = "$PDFRecoveryTarget$concat$gui.getGuiElem('pdfAuthToken').value")
<agov-backdrop></agov-backdrop>
<div id="mainContent" class="container mx-auto sm:mt-32 sm:max-w-full flex flex-auto sm:block">
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
basis-full md:basis-1/2">
<div class="flex mb-6 items-baseline">
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">$text.get("general.login")</h3>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get(
"recovery_code.newRecoveryCode")</h4>
</div>
<div id="codeNotSeen"
class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_code.banner.error")
</p>
</div>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
$text.get("recovery_code.instruction")
</p>
<div class="flex justify-between items-center relative mb-4 py-4 pr-4 pl-8 rounded-xl bg-indigo-light dark:bg-purple-black">
<div id="codeBlur" class="absolute top-0 bottom-0 left-0 right-0 backdrop-blur-sm rounded-xl z-50"></div>
<div>
<p class="font-header text-h5 text-space-blue dark:text-white">$gui.getGuiElem('isiwebpasswd').value</p>
<p class="font-body text-body-m text-space-blue dark:text-white">
$text.get("recovery_code.validUntil")
<div class="flex mb-6 items-baseline">
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">
$text.get("general.login")
</h3>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">
$text.get("recovery_code.newRecoveryCode")
</h4>
</div>
<div id="codeNotSeen"
class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_code.banner.error")
</p>
</div>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
$text.get("recovery_code.instruction")
</p>
<div class="flex justify-center items-center relative mb-4 py-4 pr-4 pl-8 rounded-xl bg-indigo-light
dark:bg-purple-black">
<div id="codeBlur"
class="absolute top-0 bottom-0 left-0 right-0 backdrop-blur-sm rounded-xl z-50">
</div>
<div>
<p class="font-header text-h5 text-space-blue dark:text-white select-none"
id="recoveryCode">
$gui.getGuiElem('isiwebpasswd').value
</p>
<p class="font-body text-body-m text-space-blue dark:text-white text-center">
$text.get("recovery_code.validUntil")
$gui.getGuiElem('validTil').value
</p>
</p>
</div>
</div>
<agov-button
id="showCode"
class="block basis-full mb-20"
data-style="secondary"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Reveal code"
data-type="button"
data-fullwidth="true">
</agov-button>
<a class="mb-20 hidden"
id="downloadPDF"
target="_blank"
href="$PDFLink">
<agov-button
class="block basis-full"
data-style="secondary"
data-label="<i class='fa-regular fa-arrow-down-to-line align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Download as PDF"
data-type="button"
data-fullwidth="true">
</agov-button>
</a>
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden"
id="errorBanner">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("general.recoveryCode.repeatCodeError")
</p>
</div>
<agov-button
id="recoveryCodeContinue"
class="block basis-full"
data-type="button"
data-label="$text.get("general.continue")"
data-fullwidth="true">
</agov-button>
</div>
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden block sm:hidden md:block">
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
</div>
</div>
<agov-button
id="copy"
class="block"
data-style="frameless"
data-label="Copy"
data-type="button"
onclick="navigator.clipboard.writeText('$gui.getGuiElem('isiwebpasswd').value');">
</agov-button>
</div>
<div id="modal" class="fixed top-0 bottom-0 left-0 right-0 pb-20 z-50 hidden">
<div class="fixed top-0 bottom-0 left-0 right-0 backdrop-blur-[10px]" id="modal_light"></div>
<div class="fixed top-0 bottom-0 left-0 right-0 bg-[#E2E2E2E5]/80 dark:bg-[#111111]/90" id="modal_dark"></div>
<agov-button
id="showCode"
class="block basis-full mb-20"
data-style="secondary"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Reveal code"
data-type="button"
data-fullwidth="true">
</agov-button>
<a class="mb-20" target="_blank" href="$PDFLink">
<agov-button
id="downloadPDF"
class="block basis-full hidden"
data-style="secondary"
data-label="<i class='fa-regular fa-arrow-down-to-line align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Download as PDF"
data-type="button"
data-fullwidth="true">
</agov-button>
</a>
<div id="drawer"
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">
<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 ">
<div id="modalTab" class="mb-6 cursor-pointer hidden">
<div class="w-10 h-1 rounded-full bg-light-grey dark:bg-ash mx-auto"></div>
</div>
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
<div class="flex flex-col flex-row-reverse gap-4">
<agov-button
id="recovery_code_continue"
class="block basis-full"
data-name="submit"
data-value="submit"
data-id="submit"
data-label="$text.get("general.continue")"
data-type="submit"
data-fullwidth="true">
</agov-button>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("general.recoveryCode.repeatCodeModal.title")
</h4>
</div>
</div>
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form>
</div>
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden block sm:hidden md:block">
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
<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
data-label="$text.get("general.recoveryCode.inputLabel")"
data-id="repeatRecoveryCodeInput"
data-name="repeatRecoveryCodeInput"
data-placeholder=""
data-value=""
data-type="text"
data-autofocus="true"
data-email_required="$text.get("general.fieldRequired")">
</agov-input>
</div>
<div class="w-full sm:static mt-auto">
<div class="flex justify-end flex-col-reverse sm:flex-row gap-4">
<agov-button
id="repeatRecoveryCodeModalBack"
class="block"
data-style="secondary"
data-label="$text.get("general.back")"
data-type="button"
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
data-name="submit"
data-id="submit"
data-value="submit"
data-type="submit"
class="block basis-full"
data-label="$text.get("general.continue")"
data-fullwidth="true">
</agov-button>
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form>
</div>
</div>
</div>
</div>
<script src="${login.appDataPath}/static/js-code/recovery_code.js">

View File

@ -48,6 +48,7 @@ general.edit=Edit
general.email=Email
general.email.address=Email address
general.entryCode=Code entry
general.fieldRequired=Field required.
general.getStarted=Get started
general.goAGOVHelp=Go to AGOV help
general.goAccessApp=Login with AGOV access
@ -58,6 +59,10 @@ general.loginSecurityKey=Start Security key login
general.or=OR
general.otherOptions=OTHER OPTIONS
general.recovery=Recovery
general.recoveryCode.inputLabel=Recovery code
general.recoveryCode.repeatCodeError=The code you entered was incorrect. Please ensure you have stored it correctly, then continue to resubmit.
general.recoveryCode.repeatCodeModal.description=A lost or incorrectly stored recovery code can make it more difficult to recover your account. To ensure you have recorded your code correctly, please repeat it below.
general.recoveryCode.repeatCodeModal.title=Repeat recovery code
general.recoveryOngoing=Ongoing recovery
general.register=Register
general.registerNow=Register now!

View File

@ -48,6 +48,7 @@ general.edit=Edit
general.email=Email
general.email.address=Email address
general.entryCode=Code entry
general.fieldRequired=Field required.
general.getStarted=Get started
general.goAGOVHelp=Go to AGOV help
general.goAccessApp=Login with AGOV access
@ -58,6 +59,10 @@ general.loginSecurityKey=Start Security key login
general.or=OR
general.otherOptions=OTHER OPTIONS
general.recovery=Recovery
general.recoveryCode.inputLabel=Recovery code
general.recoveryCode.repeatCodeError=The code you entered was incorrect. Please ensure you have stored it correctly, then continue to resubmit.
general.recoveryCode.repeatCodeModal.description=A lost or incorrectly stored recovery code can make it more difficult to recover your account. To ensure you have recorded your code correctly, please repeat it below.
general.recoveryCode.repeatCodeModal.title=Repeat recovery code
general.recoveryOngoing=Ongoing recovery
general.register=Register
general.registerNow=Register now!

View File

@ -3,7 +3,7 @@
$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>
</div>
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="${login.appDataPath}/static/bundle.js"></script>
</body>

View File

@ -1,101 +1,160 @@
#parse("${templatePath}/header.vm")
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
#set ($PDFRecoveryTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','').replaceAll(
'^(https:\/\/[^\/]+\/).*$', '$1')))
'^(https:\/\/[^\/]+\/).*$', '$1')))
#set ($concat = "recovery/pdf?authToken=")
#set ($PDFLink = "$PDFRecoveryTarget$concat$gui.getGuiElem('pdfAuthToken').value")
<agov-backdrop></agov-backdrop>
<div id="mainContent" class="container mx-auto sm:mt-32 sm:max-w-full flex flex-auto sm:block">
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
basis-full md:basis-1/2">
<div class="flex mb-6 items-baseline">
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">$text.get("general.login")</h3>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get(
"recovery_code.newRecoveryCode")</h4>
</div>
<div id="codeNotSeen"
class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_code.banner.error")
</p>
</div>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
$text.get("recovery_code.instruction")
</p>
<div class="flex justify-between items-center relative mb-4 py-4 pr-4 pl-8 rounded-xl bg-indigo-light dark:bg-purple-black">
<div id="codeBlur" class="absolute top-0 bottom-0 left-0 right-0 backdrop-blur-sm rounded-xl z-50"></div>
<div>
<p class="font-header text-h5 text-space-blue dark:text-white">$gui.getGuiElem('isiwebpasswd').value</p>
<p class="font-body text-body-m text-space-blue dark:text-white">
$text.get("recovery_code.validUntil")
<div class="flex mb-6 items-baseline">
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">
$text.get("general.login")
</h3>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">
$text.get("recovery_code.newRecoveryCode")
</h4>
</div>
<div id="codeNotSeen"
class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_code.banner.error")
</p>
</div>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
$text.get("recovery_code.instruction")
</p>
<div class="flex justify-center items-center relative mb-4 py-4 pr-4 pl-8 rounded-xl bg-indigo-light
dark:bg-purple-black">
<div id="codeBlur"
class="absolute top-0 bottom-0 left-0 right-0 backdrop-blur-sm rounded-xl z-50">
</div>
<div>
<p class="font-header text-h5 text-space-blue dark:text-white select-none"
id="recoveryCode">
$gui.getGuiElem('isiwebpasswd').value
</p>
<p class="font-body text-body-m text-space-blue dark:text-white text-center">
$text.get("recovery_code.validUntil")
$gui.getGuiElem('validTil').value
</p>
</p>
</div>
</div>
<agov-button
id="showCode"
class="block basis-full mb-20"
data-style="secondary"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Reveal code"
data-type="button"
data-fullwidth="true">
</agov-button>
<a class="mb-20 hidden"
id="downloadPDF"
target="_blank"
href="$PDFLink">
<agov-button
class="block basis-full"
data-style="secondary"
data-label="<i class='fa-regular fa-arrow-down-to-line align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Download as PDF"
data-type="button"
data-fullwidth="true">
</agov-button>
</a>
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden"
id="errorBanner">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("general.recoveryCode.repeatCodeError")
</p>
</div>
<agov-button
id="recoveryCodeContinue"
class="block basis-full"
data-type="button"
data-label="$text.get("general.continue")"
data-fullwidth="true">
</agov-button>
</div>
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden block sm:hidden md:block">
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
</div>
</div>
<agov-button
id="copy"
class="block"
data-style="frameless"
data-label="Copy"
data-type="button"
onclick="navigator.clipboard.writeText('$gui.getGuiElem('isiwebpasswd').value');">
</agov-button>
</div>
<div id="modal" class="fixed top-0 bottom-0 left-0 right-0 pb-20 z-50 hidden">
<div class="fixed top-0 bottom-0 left-0 right-0 backdrop-blur-[10px]" id="modal_light"></div>
<div class="fixed top-0 bottom-0 left-0 right-0 bg-[#E2E2E2E5]/80 dark:bg-[#111111]/90" id="modal_dark"></div>
<agov-button
id="showCode"
class="block basis-full mb-20"
data-style="secondary"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Reveal code"
data-type="button"
data-fullwidth="true">
</agov-button>
<a class="mb-20" target="_blank" href="$PDFLink">
<agov-button
id="downloadPDF"
class="block basis-full hidden"
data-style="secondary"
data-label="<i class='fa-regular fa-arrow-down-to-line align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Download as PDF"
data-type="button"
data-fullwidth="true">
</agov-button>
</a>
<div id="drawer"
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">
<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 ">
<div id="modalTab" class="mb-6 cursor-pointer hidden">
<div class="w-10 h-1 rounded-full bg-light-grey dark:bg-ash mx-auto"></div>
</div>
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
<div class="flex flex-col flex-row-reverse gap-4">
<agov-button
id="recovery_code_continue"
class="block basis-full"
data-name="submit"
data-value="submit"
data-id="submit"
data-label="$text.get("general.continue")"
data-type="submit"
data-fullwidth="true">
</agov-button>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("general.recoveryCode.repeatCodeModal.title")
</h4>
</div>
</div>
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form>
</div>
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden block sm:hidden md:block">
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
<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
data-label="$text.get("general.recoveryCode.inputLabel")"
data-id="repeatRecoveryCodeInput"
data-name="repeatRecoveryCodeInput"
data-placeholder=""
data-value=""
data-type="text"
data-autofocus="true"
data-email_required="$text.get("general.fieldRequired")">
</agov-input>
</div>
<div class="w-full sm:static mt-auto">
<div class="flex justify-end flex-col-reverse sm:flex-row gap-4">
<agov-button
id="repeatRecoveryCodeModalBack"
class="block"
data-style="secondary"
data-label="$text.get("general.back")"
data-type="button"
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
data-name="submit"
data-id="submit"
data-value="submit"
data-type="submit"
class="block basis-full"
data-label="$text.get("general.continue")"
data-fullwidth="true">
</agov-button>
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form>
</div>
</div>
</div>
</div>
<script src="${login.appDataPath}/static/js-code/recovery_code.js">

View File

@ -48,6 +48,7 @@ general.edit=Edit
general.email=Email
general.email.address=Email address
general.entryCode=Code entry
general.fieldRequired=Field required.
general.getStarted=Get started
general.goAGOVHelp=Go to AGOV help
general.goAccessApp=Login with AGOV access
@ -58,6 +59,10 @@ general.loginSecurityKey=Start Security key login
general.or=OR
general.otherOptions=OTHER OPTIONS
general.recovery=Recovery
general.recoveryCode.inputLabel=Recovery code
general.recoveryCode.repeatCodeError=The code you entered was incorrect. Please ensure you have stored it correctly, then continue to resubmit.
general.recoveryCode.repeatCodeModal.description=A lost or incorrectly stored recovery code can make it more difficult to recover your account. To ensure you have recorded your code correctly, please repeat it below.
general.recoveryCode.repeatCodeModal.title=Repeat recovery code
general.recoveryOngoing=Ongoing recovery
general.register=Register
general.registerNow=Register now!

View File

@ -48,6 +48,7 @@ general.edit=Edit
general.email=Email
general.email.address=Email address
general.entryCode=Code entry
general.fieldRequired=Field required.
general.getStarted=Get started
general.goAGOVHelp=Go to AGOV help
general.goAccessApp=Login with AGOV access
@ -58,6 +59,10 @@ general.loginSecurityKey=Start Security key login
general.or=OR
general.otherOptions=OTHER OPTIONS
general.recovery=Recovery
general.recoveryCode.inputLabel=Recovery code
general.recoveryCode.repeatCodeError=The code you entered was incorrect. Please ensure you have stored it correctly, then continue to resubmit.
general.recoveryCode.repeatCodeModal.description=A lost or incorrectly stored recovery code can make it more difficult to recover your account. To ensure you have recorded your code correctly, please repeat it below.
general.recoveryCode.repeatCodeModal.title=Repeat recovery code
general.recoveryOngoing=Ongoing recovery
general.register=Register
general.registerNow=Register now!

View File

@ -3,7 +3,7 @@
$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>
</div>
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="${login.appDataPath}/static/bundle.js"></script>
</body>

View File

@ -1,101 +1,160 @@
#parse("${templatePath}/header.vm")
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
#set ($PDFRecoveryTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','').replaceAll(
'^(https:\/\/[^\/]+\/).*$', '$1')))
'^(https:\/\/[^\/]+\/).*$', '$1')))
#set ($concat = "recovery/pdf?authToken=")
#set ($PDFLink = "$PDFRecoveryTarget$concat$gui.getGuiElem('pdfAuthToken').value")
<agov-backdrop></agov-backdrop>
<div id="mainContent" class="container mx-auto sm:mt-32 sm:max-w-full flex flex-auto sm:block">
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
basis-full md:basis-1/2">
<div class="flex mb-6 items-baseline">
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">$text.get("general.login")</h3>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">$text.get(
"recovery_code.newRecoveryCode")</h4>
</div>
<div id="codeNotSeen"
class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_code.banner.error")
</p>
</div>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
$text.get("recovery_code.instruction")
</p>
<div class="flex justify-between items-center relative mb-4 py-4 pr-4 pl-8 rounded-xl bg-indigo-light dark:bg-purple-black">
<div id="codeBlur" class="absolute top-0 bottom-0 left-0 right-0 backdrop-blur-sm rounded-xl z-50"></div>
<div>
<p class="font-header text-h5 text-space-blue dark:text-white">$gui.getGuiElem('isiwebpasswd').value</p>
<p class="font-body text-body-m text-space-blue dark:text-white">
$text.get("recovery_code.validUntil")
<div class="flex mb-6 items-baseline">
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">
$text.get("general.login")
</h3>
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">
$text.get("recovery_code.newRecoveryCode")
</h4>
</div>
<div id="codeNotSeen"
class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("recovery_code.banner.error")
</p>
</div>
<p class="font-body text-body-l text-space-blue dark:text-white mb-2">
$text.get("recovery_code.instruction")
</p>
<div class="flex justify-center items-center relative mb-4 py-4 pr-4 pl-8 rounded-xl bg-indigo-light
dark:bg-purple-black">
<div id="codeBlur"
class="absolute top-0 bottom-0 left-0 right-0 backdrop-blur-sm rounded-xl z-50">
</div>
<div>
<p class="font-header text-h5 text-space-blue dark:text-white select-none"
id="recoveryCode">
$gui.getGuiElem('isiwebpasswd').value
</p>
<p class="font-body text-body-m text-space-blue dark:text-white text-center">
$text.get("recovery_code.validUntil")
$gui.getGuiElem('validTil').value
</p>
</p>
</div>
</div>
<agov-button
id="showCode"
class="block basis-full mb-20"
data-style="secondary"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Reveal code"
data-type="button"
data-fullwidth="true">
</agov-button>
<a class="mb-20 hidden"
id="downloadPDF"
target="_blank"
href="$PDFLink">
<agov-button
class="block basis-full"
data-style="secondary"
data-label="<i class='fa-regular fa-arrow-down-to-line align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Download as PDF"
data-type="button"
data-fullwidth="true">
</agov-button>
</a>
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4 mb-4 hidden"
id="errorBanner">
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
<p class="font-body text-body-l text-space-blue dark:text-white">
$text.get("general.recoveryCode.repeatCodeError")
</p>
</div>
<agov-button
id="recoveryCodeContinue"
class="block basis-full"
data-type="button"
data-label="$text.get("general.continue")"
data-fullwidth="true">
</agov-button>
</div>
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden block sm:hidden md:block">
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
</div>
</div>
<agov-button
id="copy"
class="block"
data-style="frameless"
data-label="Copy"
data-type="button"
onclick="navigator.clipboard.writeText('$gui.getGuiElem('isiwebpasswd').value');">
</agov-button>
</div>
<div id="modal" class="fixed top-0 bottom-0 left-0 right-0 pb-20 z-50 hidden">
<div class="fixed top-0 bottom-0 left-0 right-0 backdrop-blur-[10px]" id="modal_light"></div>
<div class="fixed top-0 bottom-0 left-0 right-0 bg-[#E2E2E2E5]/80 dark:bg-[#111111]/90" id="modal_dark"></div>
<agov-button
id="showCode"
class="block basis-full mb-20"
data-style="secondary"
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Reveal code"
data-type="button"
data-fullwidth="true">
</agov-button>
<a class="mb-20" target="_blank" href="$PDFLink">
<agov-button
id="downloadPDF"
class="block basis-full hidden"
data-style="secondary"
data-label="<i class='fa-regular fa-arrow-down-to-line align-middle text-xl text-indigo dark:text-lilac mr-2'></i>Download as PDF"
data-type="button"
data-fullwidth="true">
</agov-button>
</a>
<div id="drawer"
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">
<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 ">
<div id="modalTab" class="mb-6 cursor-pointer hidden">
<div class="w-10 h-1 rounded-full bg-light-grey dark:bg-ash mx-auto"></div>
</div>
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
<div class="flex flex-col flex-row-reverse gap-4">
<agov-button
id="recovery_code_continue"
class="block basis-full"
data-name="submit"
data-value="submit"
data-id="submit"
data-label="$text.get("general.continue")"
data-type="submit"
data-fullwidth="true">
</agov-button>
<h4 id="modalTitle" class="font-header text-h4 text-space-blue dark:text-white mb-8">
$text.get("general.recoveryCode.repeatCodeModal.title")
</h4>
</div>
</div>
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form>
</div>
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden block sm:hidden md:block">
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:block dark:sm:hidden dark:md:block">
</div>
<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
data-label="$text.get("general.recoveryCode.inputLabel")"
data-id="repeatRecoveryCodeInput"
data-name="repeatRecoveryCodeInput"
data-placeholder=""
data-value=""
data-type="text"
data-autofocus="true"
data-email_required="$text.get("general.fieldRequired")">
</agov-input>
</div>
<div class="w-full sm:static mt-auto">
<div class="flex justify-end flex-col-reverse sm:flex-row gap-4">
<agov-button
id="repeatRecoveryCodeModalBack"
class="block"
data-style="secondary"
data-label="$text.get("general.back")"
data-type="button"
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
data-name="submit"
data-id="submit"
data-value="submit"
data-type="submit"
class="block basis-full"
data-label="$text.get("general.continue")"
data-fullwidth="true">
</agov-button>
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
</form>
</div>
</div>
</div>
</div>
<script src="${login.appDataPath}/static/js-code/recovery_code.js">

View File

@ -46,7 +46,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-1389008c7767421128d0ba0b23857bd65a867694"
tag: "r-0d4f317ecee462cf51ce783f04b4590ea6d580fb"
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/proxy-idm"
credentials: "git-credentials"
keystores:

View File

@ -63,7 +63,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -60,7 +60,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -61,7 +61,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -62,7 +62,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -59,7 +59,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -66,7 +66,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -63,7 +63,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -46,7 +46,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-1389008c7767421128d0ba0b23857bd65a867694"
tag: "r-0d4f317ecee462cf51ce783f04b4590ea6d580fb"
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/proxy-sp"
credentials: "git-credentials"
keystores:

View File

@ -63,7 +63,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -60,7 +60,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -61,7 +61,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -62,7 +62,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -59,7 +59,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -66,7 +66,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>

View File

@ -63,7 +63,7 @@
</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">
<p>1.7.5.81-20241128T155239Z</p>
<p>1.8.0.2418-20241128T144505Z</p>
</footer>
<script src="/resources/static/bundle.js"></script>
</body>