fix modal outside area click

This commit is contained in:
Til Schmitter 2026-05-02 21:19:29 +02:00
parent 1ef981ec89
commit 51213ea618
3 changed files with 18 additions and 3 deletions

View file

@ -2756,7 +2756,7 @@ html.c .modalcontent {
}
.close{
position: absolute;
cursor: pointer;
cursor: default;
top: 0;
right: 0;
margin: .5em;
@ -2766,6 +2766,7 @@ html.c .modalcontent {
}
.closepane {
position: absolute;
cursor: default;
top: 0;
left: 0;
bottom: 0;

View file

@ -180,7 +180,7 @@
<div id="cfg" class="modal">
<div id="s_outside" class="closepane" href="#"></div>
<a id="s_outside" class="closepane" href="#"></a>
<div id="s_content" class="modalcontent">
<a id="h_cfg" class="modalheader" href="#h_cfg"></a>
<div id="s_hor" class="modalsplit">
@ -193,7 +193,7 @@
</div>
<div id="up2k" class="modal">
<div id="up_outside" class="closepane" href="#"></div>
<a id="up_outside" class="closepane" href="#"></a>
<div id="up_content" class="modalcontent">
<a id="h_up2k" class="modalheader" href="#h_up2k">🚀 Upload</a>
<div id="up_hor" class="modalsplit">

View file

@ -1478,6 +1478,16 @@ ebi('rcm').innerHTML = (
};
})();
// fallback in case href change method somehow doesn't work
var closebtns = QSA('.close');
for(var a = 0; a < closebtns.length; a++){
closebtns[a].onclick = function(){
var modal = QS('.modal.vis');
if(modal)
modaltoggle(modal.id, false);
}
}
function modaltoggle(dest, show){
if(show == null)
show = 't';
@ -1596,7 +1606,11 @@ window.onhashchange = function() {
}
else if (location.hash.startsWith("#h_")){
var header = ebi(location.hash.slice(1));
if(!header)
return;
var p_modal = header.closest('.modal');
if(!p_modal)
return;
console.log(p_modal)
if(!clgot(p_modal, 'vis')){
console.log('forcing modal open due to subheader hash');