cloasing flag

This commit is contained in:
troy 2022-02-26 12:24:52 +01:00
parent f6f2b7ce97
commit 6535b205a3
5 changed files with 59 additions and 20 deletions

View File

@ -39,6 +39,19 @@
display: block;
background-color: #fff;
border: 3px solid #000;
border-radius: 1em;
overflow-y: scroll;
height: 97vh;
}
#flag-overlay.closing {
transition: opacity 0.5s;
}
#flag-overlay.closing iframe {
transition: margin 1s ease, width 1s ease, height 1s ease;
width: 350px;
height: 170px;
margin-top: calc(50vh - 50px);
overflow: hidden;
}

32
flag.js
View File

@ -1,10 +1,24 @@
(function(connector) {
'use strict';
var iframe;
var flag;
var closeFlag = function(ev) {
flag.classList.add('closing');
setTimeout(function() {
flag.style.opacity = 0;
setTimeout(function() {
flag.remove();
},500);
},3000);
//TODO timeout und vanish
}
var openFlag = function(ev) {
flag = document.createElement('div');
flag.id = 'flag-overlay';
var iframe = document.createElement('iframe');
iframe = document.createElement('iframe');
iframe.src= '';
iframe.name = 'flag-iframe';
flag.appendChild(iframe);
@ -38,10 +52,6 @@
form.submit();
}
var closeFlag = function() {
alert('close');
}
var panel = document.createElement('div');
panel.id = 'flag-panel';
@ -56,11 +66,17 @@
var button = document.createElement('button');
var flag = false;
button.innerHTML = 'Problem melden';
button.addEventListener('click',openFlag);
/*var links = document.getElementsByClassName('flag-link');
window.addEventListener("message", (event) => {
//console.log(event);
if(event.data == 'close') {
closeFlag();
}
});
var links = document.getElementsByClassName('flag-link');
if(links.length > 0) {
for(var l in links) {
console.log(links);
@ -69,7 +85,7 @@
return false;
});
}
}*/
}
//TODO flag-link
panel.appendChild(tab);

2
flag.min.css vendored
View File

@ -1 +1 @@
#flag-panel{position:fixed;bottom:0;right:0;width:150px;border:1px solid #fff;border-top-left-radius:15px;border-bottom-left-radius:15px;margin-right:-130px;transition:margin-right 1s}#flag-panel.open{margin-right:0!important}#flag-panel span{margin-right:10px;margin-left:5px}#flag-overlay{position:fixed;width:100%;height:100vh;top:0;left:0;background-color:rgba(0,0,0,.5)}
#flag-panel{position:fixed;bottom:0;right:0;width:150px;border:1px solid #fff;border-top-left-radius:15px;border-bottom-left-radius:15px;margin-right:-130px}#flag-panel.open{margin-right:0!important}#flag-panel.opened{transition:margin-right 1s}#flag-panel span{margin-right:10px;margin-left:5px}#flag-overlay{position:fixed;width:100%;height:100vh;top:0;left:0;background-color:rgba(0,0,0,.5)}#flag-overlay iframe{width:80%;min-width:350px;margin:0 auto;margin-top:1vh;display:block;background-color:#fff;border:3px solid #000;border-radius:1em;overflow-y:scroll;height:97vh}#flag-overlay.closing{transition:opacity .5s}#flag-overlay.closing iframe{transition:margin 1s ease,width 1s ease,height 1s ease;width:350px;height:170px;margin-top:calc(50vh - 50px);overflow:hidden}

2
flag.min.js vendored
View File

@ -1,2 +1,2 @@
!function(connector){"use strict";var openFlag=function(ev){(flag=document.createElement("div")).id="flag-overlay";var iframe=document.createElement("iframe");iframe.src="",iframe.name="flag-iframe",flag.appendChild(iframe),document.body.appendChild(flag);var form=document.createElement("form");form.action=connector,form.target="flag-iframe",form.method="POST";const screenshotTarget=document.body;var fields={};for(var f in fields.s=window.location.hostname,document.referrer&&(fields.r=document.referrer),window.location.href&&(fields.u=window.location.href),fields){var inp=document.createElement("input");inp.type="hidden",inp.name=f,inp.value=fields[f],form.appendChild(inp)}form.style="display:none",document.body.appendChild(form),form.submit()},closeFlag=function(){alert("close")},panel=document.createElement("div");panel.id="flag-panel";var tab=document.createElement("span");tab.innerHTML="⚑",tab.addEventListener("mouseenter",(function(ev){panel.classList.contains("opened")||panel.classList.add("opened"),panel.classList.toggle("open")}));var button=document.createElement("button"),flag=!1;button.innerHTML="Problem melden",button.addEventListener("click",openFlag),panel.appendChild(tab),panel.appendChild(button),document.body.appendChild(panel)}("https://troy-grunt.de/feedback");
!function(connector){"use strict";var iframe,flag,closeFlag=function(ev){flag.classList.add("closing"),setTimeout((function(){flag.style.opacity=0,setTimeout((function(){flag.remove()}),500)}),3e3)},openFlag=function(ev){(flag=document.createElement("div")).id="flag-overlay",(iframe=document.createElement("iframe")).src="",iframe.name="flag-iframe",flag.appendChild(iframe),document.body.appendChild(flag);var form=document.createElement("form");form.action=connector,form.target="flag-iframe",form.method="POST";const screenshotTarget=document.body;var fields={};for(var f in fields.s=window.location.hostname,document.referrer&&(fields.r=document.referrer),window.location.href&&(fields.u=window.location.href),fields){var inp=document.createElement("input");inp.type="hidden",inp.name=f,inp.value=fields[f],form.appendChild(inp)}form.style="display:none",document.body.appendChild(form),form.submit()},panel=document.createElement("div");panel.id="flag-panel";var tab=document.createElement("span");tab.innerHTML="⚑",tab.addEventListener("mouseenter",(function(ev){panel.classList.contains("opened")||panel.classList.add("opened"),panel.classList.toggle("open")}));var button=document.createElement("button");button.innerHTML="Problem melden",button.addEventListener("click",openFlag),window.addEventListener("message",event=>{"close"==event.data&&closeFlag()});var links=document.getElementsByClassName("flag-link");if(links.length>0)for(var l in links)console.log(links),links[l].addEventListener("click",(function(ev){return openFlag(ev),!1}));panel.appendChild(tab),panel.appendChild(button),document.body.appendChild(panel)}("https://troy-grunt.de/feedback");
//# sourceMappingURL=flag.min.js.map

View File

@ -5,13 +5,20 @@
],
"names": [
"connector",
"openFlag",
"ev",
"iframe",
"flag",
"closeFlag",
"ev",
"classList",
"add",
"setTimeout",
"style",
"opacity",
"remove",
"openFlag",
"document",
"createElement",
"id",
"iframe",
"src",
"name",
"appendChild",
@ -31,20 +38,23 @@
"inp",
"type",
"value",
"style",
"submit",
"closeFlag",
"alert",
"panel",
"tab",
"innerHTML",
"addEventListener",
"classList",
"contains",
"add",
"toggle",
"button"
"button",
"event",
"data",
"links",
"getElementsByClassName",
"length",
"l",
"console",
"log"
],
"mappings": "CAAA,SAAUA,WACR,aAEA,IAAIC,SAAW,SAASC,KACtBC,KAAOC,SAASC,cAAc,QACzBC,GAAK,eACV,IAAIC,OAASH,SAASC,cAAc,UACpCE,OAAOC,IAAK,GACZD,OAAOE,KAAO,cACdN,KAAKO,YAAYH,QACjBH,SAASO,KAAKD,YAAYP,MAE1B,IAAIS,KAAOR,SAASC,cAAc,QAClCO,KAAKC,OAASb,UACdY,KAAKE,OAAS,cACdF,KAAKG,OAAS,OACd,MAAMC,iBAAmBZ,SAASO,KAMlC,IAAIM,OAAS,GAKb,IAAI,IAAIC,KAJRD,OAAU,EAAIE,OAAOC,SAASC,SAC3BjB,SAASkB,WAAWL,OAAU,EAAIb,SAASkB,UAC3CH,OAAOC,SAASG,OAAON,OAAU,EAAIE,OAAOC,SAASG,MAE3CN,OAAQ,CACnB,IAAIO,IAAMpB,SAASC,cAAc,SACjCmB,IAAIC,KAAO,SACXD,IAAIf,KAAOS,EACXM,IAAIE,MAAQT,OAAOC,GACnBN,KAAKF,YAAYc,KAGnBZ,KAAKe,MAAQ,eACbvB,SAASO,KAAKD,YAAYE,MAC1BA,KAAKgB,UAGHC,UAAY,WACdC,MAAM,UAGJC,MAAQ3B,SAASC,cAAc,OACnC0B,MAAMzB,GAAK,aAEX,IAAI0B,IAAM5B,SAASC,cAAc,QACjC2B,IAAIC,UAAY,UAChBD,IAAIE,iBAAiB,cAAa,SAAShC,IACrC6B,MAAMI,UAAUC,SAAS,WAC3BL,MAAMI,UAAUE,IAAI,UAEtBN,MAAMI,UAAUG,OAAO,WAGzB,IAAIC,OAASnC,SAASC,cAAc,UAEhCF,MAAO,EACXoC,OAAON,UAAY,iBACnBM,OAAOL,iBAAiB,QAAQjC,UAchC8B,MAAMrB,YAAYsB,KAClBD,MAAMrB,YAAY6B,QAElBnC,SAASO,KAAKD,YAAYqB,OA7E5B,CA8EG",
"mappings": "CAAA,SAAUA,WACR,aAEA,IAAIC,OACAC,KAEAC,UAAY,SAASC,IACvBF,KAAKG,UAAUC,IAAI,WACnBC,YAAW,WACTL,KAAKM,MAAMC,QAAU,EACrBF,YAAW,WACTL,KAAKQ,WACL,OACF,MAIAC,SAAW,SAASP,KACtBF,KAAOU,SAASC,cAAc,QACzBC,GAAK,gBACVb,OAASW,SAASC,cAAc,WACzBE,IAAK,GACZd,OAAOe,KAAO,cACdd,KAAKe,YAAYhB,QACjBW,SAASM,KAAKD,YAAYf,MAE1B,IAAIiB,KAAOP,SAASC,cAAc,QAClCM,KAAKC,OAASpB,UACdmB,KAAKE,OAAS,cACdF,KAAKG,OAAS,OACd,MAAMC,iBAAmBX,SAASM,KAMlC,IAAIM,OAAS,GAKb,IAAI,IAAIC,KAJRD,OAAU,EAAIE,OAAOC,SAASC,SAC3BhB,SAASiB,WAAWL,OAAU,EAAIZ,SAASiB,UAC3CH,OAAOC,SAASG,OAAON,OAAU,EAAIE,OAAOC,SAASG,MAE3CN,OAAQ,CACnB,IAAIO,IAAMnB,SAASC,cAAc,SACjCkB,IAAIC,KAAO,SACXD,IAAIf,KAAOS,EACXM,IAAIE,MAAQT,OAAOC,GACnBN,KAAKF,YAAYc,KAGnBZ,KAAKX,MAAQ,eACbI,SAASM,KAAKD,YAAYE,MAC1BA,KAAKe,UAGHC,MAAQvB,SAASC,cAAc,OACnCsB,MAAMrB,GAAK,aAEX,IAAIsB,IAAMxB,SAASC,cAAc,QACjCuB,IAAIC,UAAY,UAChBD,IAAIE,iBAAiB,cAAa,SAASlC,IACrC+B,MAAM9B,UAAUkC,SAAS,WAC3BJ,MAAM9B,UAAUC,IAAI,UAEtB6B,MAAM9B,UAAUmC,OAAO,WAGzB,IAAIC,OAAS7B,SAASC,cAAc,UAEpC4B,OAAOJ,UAAY,iBACnBI,OAAOH,iBAAiB,QAAQ3B,UAEhCe,OAAOY,iBAAiB,UAAYI,QAEjB,SAAdA,MAAMC,MACPxC,cAIJ,IAAIyC,MAAQhC,SAASiC,uBAAuB,aAC5C,GAAGD,MAAME,OAAS,EAChB,IAAI,IAAIC,KAAKH,MACXI,QAAQC,IAAIL,OACZA,MAAMG,GAAGT,iBAAiB,SAAQ,SAASlC,IAEzC,OADAO,SAASP,KACF,KAMb+B,MAAMlB,YAAYmB,KAClBD,MAAMlB,YAAYwB,QAElB7B,SAASM,KAAKD,YAAYkB,OA7F5B,CA8FG",
"file": "flag.js"
}