diff --git a/EnvelopeGenerator.Web/Views/Home/EnvelopeLocked.cshtml b/EnvelopeGenerator.Web/Views/Home/EnvelopeLocked.cshtml index eec2c588..6738e567 100644 --- a/EnvelopeGenerator.Web/Views/Home/EnvelopeLocked.cshtml +++ b/EnvelopeGenerator.Web/Views/Home/EnvelopeLocked.cshtml @@ -1,8 +1,6 @@ @{ var nonce = _accessor.HttpContext?.Items["csp-nonce"] as string; var logo = _logoOpt.Value; -} -@{ ViewData["Title"] = _localizer[WebKey.DocProtected]; var userCulture = ViewData["UserCulture"] as Culture; } @@ -35,23 +33,6 @@ - @@ -68,18 +49,4 @@

@_localizer[WebKey.LockedFooterBody]

- - \ No newline at end of file + \ No newline at end of file diff --git a/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml b/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml index d88e1fd8..ee0c5134 100644 --- a/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml +++ b/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml @@ -3,7 +3,7 @@ @using Newtonsoft.Json.Serialization @{ var nonce = _accessor.HttpContext?.Items["csp-nonce"] as string; - + var userCulture = ViewData["UserCulture"] as Culture; var isReadOnly = false; if (ViewData["IsReadOnly"] is bool isReadOnly_bool) isReadOnly = isReadOnly_bool; @@ -77,6 +77,23 @@ @Html.AntiForgeryToken() diff --git a/EnvelopeGenerator.Web/wwwroot/css/site.css b/EnvelopeGenerator.Web/wwwroot/css/site.css index 3b24ad71..d757496a 100644 --- a/EnvelopeGenerator.Web/wwwroot/css/site.css +++ b/EnvelopeGenerator.Web/wwwroot/css/site.css @@ -174,6 +174,18 @@ footer { text-decoration: none; } + footer .dropdown-toggle, footer .flag-dropdown, footer li { + margin: 0; + padding: 0; + border-width: 0; + } + + footer .dropdown-menu a { + padding: 0.25rem 1rem 0.25rem 1rem; + margin-left: 0; + user-select: none; + } + .page { margin-top: 3rem; background: white; @@ -401,9 +413,9 @@ footer#page-footer { height: 2.5rem; } -.flag-dropdown button { +/*.flag-dropdown button { height: 100%; -} +}*/ .header-1 { align-items: center; diff --git a/EnvelopeGenerator.Web/wwwroot/css/site.min.css b/EnvelopeGenerator.Web/wwwroot/css/site.min.css index a09ed3fd..485d6a98 100644 --- a/EnvelopeGenerator.Web/wwwroot/css/site.min.css +++ b/EnvelopeGenerator.Web/wwwroot/css/site.min.css @@ -1 +1 @@ -.navbar-toggler{border:0}.material-symbols-outlined{align-content:center}.btn-group{margin-right:10vw;margin-bottom:10vh}.btn_refresh,.btn_reject,.btn_complete{height:2.5rem}.btn_complete .icon,.btn_reject .icon,.btn_refresh .icon{width:1.1rem}.btn_complete span,.btn_reject span,.btn_refresh span{vertical-align:middle}.button-finish{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.button-finish:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.button-finish:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.button-finish:active{color:#fff;background-color:#0a58ca;border-color:#0a53be;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.button-finish:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.button-reject{color:#fff;background-color:#dc3545;border-color:#dc3545}.button-reject:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.button-reject:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.button-reject:active{color:#fff;background-color:#b02a37;border-color:#a52834;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.button-reject:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.button-reset{color:#fff;background-color:#6c757d;border-color:#6c757d}.button-reset:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.button-reset:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.button-reset:active{color:#fff;background-color:#565e64;border-color:#51585e;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.button-reset:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}body{background:#f8fcfc;display:flex;flex-direction:column;height:100vh;margin:0}main{display:flex;margin:0 0 .5vh 0}.envelope-view{display:flex;flex-direction:column;width:100vw;height:95.9vh}#app{background:#808080;width:100vw;height:100%;flex-grow:1;border-width:0}footer{height:4vh;min-height:1.5rem;background-color:#001f61;border-radius:10px 10px 0 0;color:#fff;font-family:'Muli';padding:.5vh 0;position:fixed;bottom:0;width:100%;z-index:998;border-width:0;font-size:clamp(.75rem,1.5vw,1rem);display:flex;flex-direction:row;justify-content:space-around;align-items:start}footer *{margin-left:clamp(.5rem,2vw,1rem)}footer a{color:#ff7500;text-decoration:none}.page{margin-top:3rem;background:#fff;border-radius:.313rem;box-shadow:rgba(9,30,66,.25) 0 .25rem .5rem -.125rem,rgba(9,30,66,.08) 0 0 0 .063rem;max-width:40rem}.page section{max-width:30rem;margin:0 auto}.page header .icon{display:inline-block;border-radius:6.25rem;padding:.938rem;margin-bottom:2rem}.page header .icon.admin{background-color:#331904;color:#fecba1}.page header .icon.locked{background-color:#ffc107;color:#000}.page header .icon.signed{background-color:#146c43;color:#fff}.page header .icon.rejected{background-color:#e4d8d5;color:#fff}.page header .icon.expired{background-color:rgba(228,216,213,.5);color:#fff}.page .form{max-width:30rem;margin:2rem auto;display:flex;gap:1rem}#form-access-code>.input,#form-admin-password>.input{flex-grow:1}#page-admin header .icon{background-color:#331904;color:#fecba1}.envelope{display:block;border:.063rem solid #eee;margin-bottom:1rem;padding:.5rem}footer#page-footer{color:#333;max-width:40rem;margin-top:1rem;font-size:.85rem}footer#page-footer a,footer#page-footer a:link,footer#page-footer a:hover,footer#page-footer a:visited,footer#page-footer a:focus{color:#444}.sender-card{background-color:transparent;border:0}.sender-card .row{height:7vh}.sender-card img{height:7vh;background-color:#d1cfcf;border-radius:3.125rem}.navbar .container{display:flex;padding:0;margin:0}.navbar-toggler{padding:0;margin:0;width:4rem;left:0}.envelope-message{position:absolute;display:flex;width:calc(100% - 8rem);align-items:center;justify-content:start;margin-left:4rem}.envelope-message .icon{margin-right:.5rem}.envelope-message .message{font-family:'Roboto',sans-serif;font-size:16px;font-weight:550}.logo{width:9rem;position:absolute;right:0;margin-right:2rem}.none-display{display:none}.dropdown-flag img,.img-flag{width:30%;height:70%}.dropdown-flag{height:75%;width:75%}.increase-dropdown-height{min-height:25rem}.dropdown-flag .select2-container{width:100%!important;max-width:11.25rem}.lang-item{font-size:.85rem}#langDropdownMenuButton{min-width:4vw}.highlight{font-weight:700;font-size:.85rem}.signature-process-title,.signature-process-name{font-size:1.125rem}.mail-link{color:#000;text-decoration:none}.mail-link:hover{text-decoration:underline}#flex-action-panel{z-index:1050}#form-access-code{justify-content:space-evenly}.access-code-form-floating{display:flex;justify-content:start;flex-direction:row}.access-code-form-floating button{align-content:center;border-bottom-left-radius:0;border-top-left-radius:0}.access-code-form-floating input{align-content:center;border-bottom-right-radius:0;border-top-right-radius:0;border-right-width:0;width:7rem}#access-code-error-message{justify-content:center;align-content:center;margin:1.5rem 7rem 0 7rem;height:2.5rem}.flag-dropdown button{height:100%}.header-1{align-items:center;justify-content:space-between;margin-top:0;padding-top:0}.header-1 .text{text-align:center;margin-left:1.5vw;margin-top:0;padding-top:0}.no-receiver-explanation{padding:2.5rem}.ajs-message.ajs-custom{margin:0 0 0 0;padding:0 0 0 0;width:50rem}.ajs-message.ajs-custom .alert{display:flex;flex-direction:row}.ajs-message.ajs-custom span{margin:0 1rem 0 0}.ajs-message.ajs-custom p{margin:0;padding:0}@media(max-height:850px){.navbar .container{display:flex;padding:0;margin:0}.navbar-toggler{padding:0;margin:0;width:4rem;left:0}.envelope-message{width:calc(100% - 4rem - 9rem)}.envelope-message .message{font-size:14px;font-weight:550}.logo{width:9rem;position:absolute;right:0}.card-text,.card-text{font-size:.6rem;margin:0;padding:0}.highlight{font-weight:700;font-size:.5rem}.signature-process-title,.signature-process-name{font-size:.7rem}}@media(max-width:767px){.navbar{flex-direction:column;align-items:flex-start}.navbar-brand{font-size:.5rem;text-align:center;overflow:hidden;text-overflow:ellipsis}.envelope-message{width:calc(100% - 4rem - 4.5rem);margin-left:3rem}.envelope-message .message{font-size:12px;font-weight:550}.envelope-message .icon{margin-right:.1rem;font-size:1rem}.logo{width:5rem;right:0;margin-right:1rem}.btn_group{position:fixed;flex-direction:row;bottom:.5rem;right:.5rem}.img-fluid{width:1.2rem;height:100%;display:none}.page{margin-top:1rem;max-width:90%;padding:.5rem}.page section{max-width:90%}#form-access-code{margin-left:0}}@media(max-width:1024px){#flex-action-panel,.btn-desktop{display:none}}@media(max-height:600px){.collapse{height:4rem}} \ No newline at end of file +.navbar-toggler{border:0}.material-symbols-outlined{align-content:center}.btn-group{margin-right:10vw;margin-bottom:10vh}.btn_refresh,.btn_reject,.btn_complete{height:2.5rem}.btn_complete .icon,.btn_reject .icon,.btn_refresh .icon{width:1.1rem}.btn_complete span,.btn_reject span,.btn_refresh span{vertical-align:middle}.button-finish{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.button-finish:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.button-finish:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.button-finish:active{color:#fff;background-color:#0a58ca;border-color:#0a53be;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.button-finish:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.button-reject{color:#fff;background-color:#dc3545;border-color:#dc3545}.button-reject:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.button-reject:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.button-reject:active{color:#fff;background-color:#b02a37;border-color:#a52834;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.button-reject:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.button-reset{color:#fff;background-color:#6c757d;border-color:#6c757d}.button-reset:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.button-reset:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.button-reset:active{color:#fff;background-color:#565e64;border-color:#51585e;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.button-reset:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}body{background:#f8fcfc;display:flex;flex-direction:column;height:100vh;margin:0}main{display:flex;margin:0 0 .5vh 0}.envelope-view{display:flex;flex-direction:column;width:100vw;height:95.9vh}#app{background:#808080;width:100vw;height:100%;flex-grow:1;border-width:0}footer{height:4vh;min-height:1.5rem;background-color:#001f61;border-radius:10px 10px 0 0;color:#fff;font-family:'Muli';padding:.5vh 0;position:fixed;bottom:0;width:100%;z-index:998;border-width:0;font-size:clamp(.75rem,1.5vw,1rem);display:flex;flex-direction:row;justify-content:space-around;align-items:start}footer *{margin-left:clamp(.5rem,2vw,1rem)}footer a{color:#ff7500;text-decoration:none}footer .dropdown-toggle,footer .flag-dropdown,footer li{margin:0;padding:0;border-width:0}footer .dropdown-menu a{padding:.25rem 1rem .25rem 1rem;margin-left:0;user-select:none}.page{margin-top:3rem;background:#fff;border-radius:.313rem;box-shadow:rgba(9,30,66,.25) 0 .25rem .5rem -.125rem,rgba(9,30,66,.08) 0 0 0 .063rem;max-width:40rem}.page section{max-width:30rem;margin:0 auto}.page header .icon{display:inline-block;border-radius:6.25rem;padding:.938rem;margin-bottom:2rem}.page header .icon.admin{background-color:#331904;color:#fecba1}.page header .icon.locked{background-color:#ffc107;color:#000}.page header .icon.signed{background-color:#146c43;color:#fff}.page header .icon.rejected{background-color:#e4d8d5;color:#fff}.page header .icon.expired{background-color:rgba(228,216,213,.5);color:#fff}.page .form{max-width:30rem;margin:2rem auto;display:flex;gap:1rem}#form-access-code>.input,#form-admin-password>.input{flex-grow:1}#page-admin header .icon{background-color:#331904;color:#fecba1}.envelope{display:block;border:.063rem solid #eee;margin-bottom:1rem;padding:.5rem}footer#page-footer{color:#333;max-width:40rem;margin-top:1rem;font-size:.85rem}footer#page-footer a,footer#page-footer a:link,footer#page-footer a:hover,footer#page-footer a:visited,footer#page-footer a:focus{color:#444}.sender-card{background-color:transparent;border:0}.sender-card .row{height:7vh}.sender-card img{height:7vh;background-color:#d1cfcf;border-radius:3.125rem}.navbar .container{display:flex;padding:0;margin:0}.navbar-toggler{padding:0;margin:0;width:4rem;left:0}.envelope-message{position:absolute;display:flex;width:calc(100% - 8rem);align-items:center;justify-content:start;margin-left:4rem}.envelope-message .icon{margin-right:.5rem}.envelope-message .message{font-family:'Roboto',sans-serif;font-size:16px;font-weight:550}.logo{width:9rem;position:absolute;right:0;margin-right:2rem}.none-display{display:none}.dropdown-flag img,.img-flag{width:30%;height:70%}.dropdown-flag{height:75%;width:75%}.increase-dropdown-height{min-height:25rem}.dropdown-flag .select2-container{width:100%!important;max-width:11.25rem}.lang-item{font-size:.85rem}#langDropdownMenuButton{min-width:4vw}.highlight{font-weight:700;font-size:.85rem}.signature-process-title,.signature-process-name{font-size:1.125rem}.mail-link{color:#000;text-decoration:none}.mail-link:hover{text-decoration:underline}#flex-action-panel{z-index:1050}#form-access-code{justify-content:space-evenly}.access-code-form-floating{display:flex;justify-content:start;flex-direction:row}.access-code-form-floating button{align-content:center;border-bottom-left-radius:0;border-top-left-radius:0}.access-code-form-floating input{align-content:center;border-bottom-right-radius:0;border-top-right-radius:0;border-right-width:0;width:7rem}#access-code-error-message{justify-content:center;align-content:center;margin:1.5rem 7rem 0 7rem;height:2.5rem}.header-1{align-items:center;justify-content:space-between;margin-top:0;padding-top:0}.header-1 .text{text-align:center;margin-left:1.5vw;margin-top:0;padding-top:0}.no-receiver-explanation{padding:2.5rem}.ajs-message.ajs-custom{margin:0 0 0 0;padding:0 0 0 0;width:50rem}.ajs-message.ajs-custom .alert{display:flex;flex-direction:row}.ajs-message.ajs-custom span{margin:0 1rem 0 0}.ajs-message.ajs-custom p{margin:0;padding:0}@media(max-height:850px){.navbar .container{display:flex;padding:0;margin:0}.navbar-toggler{padding:0;margin:0;width:4rem;left:0}.envelope-message{width:calc(100% - 4rem - 9rem)}.envelope-message .message{font-size:14px;font-weight:550}.logo{width:9rem;position:absolute;right:0}.card-text,.card-text{font-size:.6rem;margin:0;padding:0}.highlight{font-weight:700;font-size:.5rem}.signature-process-title,.signature-process-name{font-size:.7rem}}@media(max-width:767px){.navbar{flex-direction:column;align-items:flex-start}.navbar-brand{font-size:.5rem;text-align:center;overflow:hidden;text-overflow:ellipsis}.envelope-message{width:calc(100% - 4rem - 4.5rem);margin-left:3rem}.envelope-message .message{font-size:12px;font-weight:550}.envelope-message .icon{margin-right:.1rem;font-size:1rem}.logo{width:5rem;right:0;margin-right:1rem}.btn_group{position:fixed;flex-direction:row;bottom:.5rem;right:.5rem}.img-fluid{width:1.2rem;height:100%;display:none}.page{margin-top:1rem;max-width:90%;padding:.5rem}.page section{max-width:90%}#form-access-code{margin-left:0}}@media(max-width:1024px){#flex-action-panel,.btn-desktop{display:none}}@media(max-height:600px){.collapse{height:4rem}} \ No newline at end of file diff --git a/EnvelopeGenerator.Web/wwwroot/js/event-binder.js b/EnvelopeGenerator.Web/wwwroot/js/event-binder.js index b258444d..d36137ed 100644 --- a/EnvelopeGenerator.Web/wwwroot/js/event-binder.js +++ b/EnvelopeGenerator.Web/wwwroot/js/event-binder.js @@ -8,6 +8,19 @@ document.querySelectorAll('.email-input').forEach(input => { }); }); +document.addEventListener('DOMContentLoaded', function () { + var dropdownItems = document.querySelectorAll('.culture-dropdown-item'); + dropdownItems.forEach(function (item) { + item.addEventListener('click', async function(event) { + event.preventDefault(); + var language = this.getAttribute('data-language'); + var flagCode = this.getAttribute('data-flag'); + document.getElementById('selectedFlag').className = 'fi ' + flagCode + ' me-2'; + await setLanguage(language); + }); + }); +}); + const bsNotify = (message, options) => alertify.notify( ``, 'custom', diff --git a/EnvelopeGenerator.Web/wwwroot/js/event-binder.min.js b/EnvelopeGenerator.Web/wwwroot/js/event-binder.min.js index 3c458c4a..30f6d827 100644 --- a/EnvelopeGenerator.Web/wwwroot/js/event-binder.min.js +++ b/EnvelopeGenerator.Web/wwwroot/js/event-binder.min.js @@ -1 +1 @@ -document.querySelectorAll(".email-input").forEach(n=>{n.addEventListener("input",function(){/^\S+@\S+\.\S+$/.test(this.value)?this.classList.remove("is-invalid"):this.classList.add("is-invalid")})});const bsNotify=(n,t)=>alertify.notify(``,"custom",t?.delay??5);class Comp{static ActPanel=class{static __Root;static get Root(){Comp.ActPanel.__Root??=document.getElementById("flex-action-panel");return Comp.ActPanel.__Root}static get Elements(){return[...Comp.ActPanel.Root.children]}static get IsHided(){return Comp.ActPanel.Root.style.display=="none"}static set Display(n){Comp.ActPanel.Root.style.display=n;Comp.ActPanel.Elements.forEach(t=>t.style.display=n)}static Toggle(){Comp.ActPanel.Display=Comp.ActPanel.IsHided?"":"none"}};static SignatureProgress=class{static __SignatureCount;static get SignatureCount(){this.__SignatureCount=parseInt(document.getElementById("signature-count").innerText);return this.__SignatureCount}static __SignedCountSpan;static get SignedCountSpan(){this.__SignedCountSpan??=document.getElementById("signed-count");return Comp.SignatureProgress.__SignedCountSpan}static __signedCount=0;static get SignedCount(){return this.__signedCount}static set SignedCount(n){this.__signedCount=n;const t=(n/this.SignatureCount)*100;this.SignedCountBar.style.setProperty("--progress-width",t+"%");this.SignedCountSpan.innerText=n.toString()}static __SignedCountBar;static get SignedCountBar(){this.__SignedCountBar??=document.getElementById("signed-count-bar");return this.__SignedCountBar}};static __ShareBackdrop;static get ShareBackdrop(){return Comp.__ShareBackdrop??=new bootstrap.Modal(document.getElementById("shareBackdrop")),this.__ShareBackdrop}} \ No newline at end of file +document.querySelectorAll(".email-input").forEach(n=>{n.addEventListener("input",function(){/^\S+@\S+\.\S+$/.test(this.value)?this.classList.remove("is-invalid"):this.classList.add("is-invalid")})});document.addEventListener("DOMContentLoaded",function(){var n=document.querySelectorAll(".culture-dropdown-item");n.forEach(function(n){n.addEventListener("click",async function(n){n.preventDefault();var t=this.getAttribute("data-language"),i=this.getAttribute("data-flag");document.getElementById("selectedFlag").className="fi "+i+" me-2";await setLanguage(t)})})});const bsNotify=(n,t)=>alertify.notify(``,"custom",t?.delay??5);class Comp{static ActPanel=class{static __Root;static get Root(){Comp.ActPanel.__Root??=document.getElementById("flex-action-panel");return Comp.ActPanel.__Root}static get Elements(){return[...Comp.ActPanel.Root.children]}static get IsHided(){return Comp.ActPanel.Root.style.display=="none"}static set Display(n){Comp.ActPanel.Root.style.display=n;Comp.ActPanel.Elements.forEach(t=>t.style.display=n)}static Toggle(){Comp.ActPanel.Display=Comp.ActPanel.IsHided?"":"none"}};static SignatureProgress=class{static __SignatureCount;static get SignatureCount(){this.__SignatureCount=parseInt(document.getElementById("signature-count").innerText);return this.__SignatureCount}static __SignedCountSpan;static get SignedCountSpan(){this.__SignedCountSpan??=document.getElementById("signed-count");return Comp.SignatureProgress.__SignedCountSpan}static __signedCount=0;static get SignedCount(){return this.__signedCount}static set SignedCount(n){this.__signedCount=n;const t=(n/this.SignatureCount)*100;this.SignedCountBar.style.setProperty("--progress-width",t+"%");this.SignedCountSpan.innerText=n.toString()}static __SignedCountBar;static get SignedCountBar(){this.__SignedCountBar??=document.getElementById("signed-count-bar");return this.__SignedCountBar}};static __ShareBackdrop;static get ShareBackdrop(){return Comp.__ShareBackdrop??=new bootstrap.Modal(document.getElementById("shareBackdrop")),this.__ShareBackdrop}} \ No newline at end of file