Support downloading templates

This commit is contained in:
DUOLabs333
2022-10-24 16:46:29 -04:00
parent b262898bf3
commit 33f42a092e
31 changed files with 244 additions and 1290 deletions
-236
View File
@@ -1,236 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700,700i" />
<link rel="stylesheet" href="templates.css" />
<title>PSD Templates</title>
<meta name="description" content="Free PSD Templates">
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-4249565-47"></script>
<script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-4249565-47'); </script>
<script src="templates.js"></script>
<script>
var tpls, IFR=false, TYPE=0, RSRC=[], OTPLS;
var ccat = -1, caut = -1, citm = -1, ordr = 0, cscr = 0; // current scroll
var lo=localStorage.getItem("ordr"); if(lo) lo=JSON.parse(lo); if(lo && lo[1]>Date.now()-30000) ordr=lo[0];
var cont, cats, search, back, itms, kwds, add_link;
function clearNode(node) { while(node.firstChild) node.removeChild(node.firstChild); }
function isDisplayed(nd) { while(true) { if(nd==document) return true; if(nd==null) return false; nd=nd.parentNode; } }
function go() {
cont = document.getElementById("cont");
cats = document.getElementById("cats");
kwds = document.getElementById("kwds");
search = document.getElementById("search");
back = document.getElementById("back"); cont.removeChild(back);
itms = document.getElementById("itms");
add_link = document.getElementById("add_link");
window.addEventListener("resize",onResize,false); onResize();
var request = new XMLHttpRequest();
request.open("GET", "../papi/tpls.json?r="+Date.now(), true);
request.onload = imgsLoaded;
request.onerror = function(e) { console.log(e.target.response); }
request.send();
if(Math.random()<0.01) {
var request = new XMLHttpRequest();
request.open("GET", "../papi/img/reduce.php", true);
request.send();
}
if(Math.random()<0.01) {
var request = new XMLHttpRequest();
request.open("GET", "https://www.photopea.com/papi/updateTemplates.php", true);
request.send();
}
window.onbeforeunload = trackScroll;
}
function trackScroll() { var scrl=[Date.now(),ccat,caut,itms.scrollTop]; if(citm==-1) localStorage.setItem("scrl",JSON.stringify(scrl)); }
function onResize() {
if(tpls) updateView();
}
function imgsLoaded(e) {
var hr=window.location.href, sch = hr.slice(hr.indexOf("/templates")+11);
var uprt = sch.split("?");
if(uprt[1]) {
var prts=uprt[1].split("&");
for(var i=0; i<prts.length; i++) {
var kv=prts[i].split("=");
if(kv[0]=="type") TYPE=parseInt(kv[1]);
else if(kv[0]=="rsrc") RSRC=kv[1].length==0 ? [] : kv[1].split(",");
//else console.log(kv);
}
}
IFR = window.top!=window.self;
OTPLS = JSON.parse(e.target.response);
tpls = JSON.parse(e.target.response);
tpls.categories = tpls.categories[TYPE];
for(var i=0; i<tpls.list.length; i++) if(tpls.list[i][0]!=TYPE) { tpls.list.splice(i,1); i--; }
rebuild(sch, true);
}
function rebuild(sch, firstTime) {
console.log(sch);
if(!firstTime) trackScroll();
citm=-1;
if(caut<-1) caut=-1;
if(sch[0]=="-") {
if(sch[1]=="a") caut=-1;
if(sch[1]=="c") ccat=-1;
}
else if(sch!="") {
var ci = sch.slice(2).split("?")[0].split("&")[0]; // Facebook might add "?" parameters
if(sch[0]=="c") {
var cts=tpls["categories"];
for(var c in cts) if(toCat(cts[c])==ci) ccat=parseInt(c.slice(1));
}
if(sch[0]=="t") {
var lst=tpls["list"];
for(var i=0; i<lst.length; i++) if(tempID(lst[i])==ci) citm = i;
}
if(sch[0]=="a") {
var lst=tpls["authors"];
for(var i=0; i<lst.length; i++) if(lst[i][0]==ci) caut = i;
}
if(sch=="authors" ) caut=-2;
if(sch=="installed") caut=-3;
}
console.log(citm,caut);
var tit="PSD Templates";
if(ccat!=-1) tit=tpls.categories["c"+ccat] + " | "+tit;
if (caut==-2) tit="Top Authors";
else if(caut==-3) tit="Installed";
else if(caut!=-1) tit="By "+tpls.authors [caut][ 1] + " | "+tit;
if(citm!=-1) tit=tpls.list [citm][ 9] + " | "+tit;
if(citm!=-1) document.head.children.namedItem("description").content = tpls.list[citm][9];
document.title = tit;
updateView();
itms.scrollTop="0";
var scrl = localStorage.getItem("scrl");
if(scrl) {
scrl=JSON.parse(scrl); if(scrl.length==null) return;
if(citm==-1 && Date.now()-scrl[0]<60e3 && scrl[1]==ccat && scrl[2]==caut) itms.scrollTop = scrl[3];
}
}
function updateView() {
var w = window.innerWidth, h=window.innerHeight;
itms.style.height=(h-90)+"px";
cats.style.height=(h- 1)+"px";
add_link.style.display=(false?"none":"inline-block");
add_link.textContent = TYPE==0 ? "Add your own template!" : (TYPE==1 ? "Add your own plugin!":"");
add_link.setAttribute("href",
TYPE==0 ? "//www.photopea.com/tuts/publish-your-psd-templates-in-photopea/" : "//www.photopea.com/api/plugins");
var tpl=citm!=-1 ? tpls.list[citm]:null;
var comp;
if(ordr==0) comp=function(a,b) {return cost0(b)-cost0(a);}
if(ordr==1) comp=function(a,b) {return cost1(b)-cost1(a);}
if(ordr==2) comp=function(a,b) {return cost2(b)-cost2(a);}
tpls.list.sort(comp);
if(tpl) citm=tpls.list.indexOf(tpl);
if(citm==-1 && !isDisplayed(search)) { clearNode(cont); cont.appendChild(search); cont.appendChild(itms); }
if(citm!=-1) { clearNode(cont); cont.appendChild(back); cont.appendChild(itms); }
clearNode(itms);
var twds = kwds.value.trim().toLowerCase(), wds=twds.split(/[ ,]+/);
var out = [];
if (caut==-2) printAuthors (tpls, out);
else if(caut==-3) printInstalled(tpls, out);
else makeView(tpls,out,twds,wds,ccat,caut,citm);
itms.innerHTML=out.join("\n");
var out = [];
getCats(tpls,ccat,out);
cats.innerHTML = out.join("\n");
if(citm==-1) {
var ords = document.getElementsByClassName("order");
for(var i=0; i<3; i++) ords[i].setAttribute("class", "order"+(i==ordr ? " blue":""));
}
}
function backClicked(e) {
if(IFR) rebuild("");
else history.back();
/*
citm = -1;
updateView();
itms.scrollTo(0,cscr); */
}
function itemClicked(id) {
if(IFR) {
if(id==null) id = tpls.list[citm][3];
var ii=RSRC.indexOf(id);
var msg = "--ot "+id;
if(TYPE!=0) {
if(ii==-1) RSRC.push(id); else RSRC.splice(ii,1);
msg = "--ur "+RSRC.join(",");
updateView();
}
window.parent.postMessage(msg);
}
else window.open("//www.Photopea.com#t"+tempID(tpls.list[citm]));
}
function catClicked(nc) {
if(nc==ccat) ccat=-1;
else ccat=nc;
citm=-1;
updateView();
}
function setOrder(ord) {
ordr=ord; localStorage.setItem("ordr",JSON.stringify([ordr, Date.now()]));
updateView();
itms.scrollTo(0,0);
}
var __time=0;
function labelClicked(e) {
var ot = __time; __time=Date.now(); if(__time-ot>200) return;
var ci = tpls.list[citm];
var str=tpls.authors[ci[1]][0]+","+ci[3];
if(window.parent) window.parent.postMessage("--et "+str,"*");
//alert(str);
}
</script>
</head>
<body onload="go()" class="flexrow">
<div id="cats" class="scrollable">
</div>
<div id="cont">
<div id="search">
<span onclick="setOrder(0)" class="order blue">Hot</span>
<span onclick="setOrder(1)" class="order">New</span>
<span onclick="setOrder(2)" class="order" style="margin-right:2em">Top</span>
<span style="display:inline-block">
<label>Search:</label> <input type="text" id="kwds" oninput="updateView()" style="margin-right:1.5em;"></input>
</span>
<a id="add_link" href="//www.photopea.com/tuts/publish-your-psd-templates-in-photopea/" target="_blank">Add your own template!</a>
</div>
<div id="back">
<span class="back" onclick="backClicked()">&lt; Back</span>
</div>
<div id="itms" class="scrollable"></div>
</div>
</body>
</html>
-236
View File
@@ -1,236 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700,700i" />
<link rel="stylesheet" href="templates.css" />
<title>PSD Templates</title>
<meta name="description" content="Free PSD Templates">
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-4249565-47"></script>
<script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-4249565-47'); </script>
<script src="templates.js"></script>
<script>
var tpls, IFR=false, TYPE=0, RSRC=[], OTPLS;
var ccat = -1, caut = -1, citm = -1, ordr = 0, cscr = 0; // current scroll
var lo=localStorage.getItem("ordr"); if(lo) lo=JSON.parse(lo); if(lo && lo[1]>Date.now()-30000) ordr=lo[0];
var cont, cats, search, back, itms, kwds, add_link;
function clearNode(node) { while(node.firstChild) node.removeChild(node.firstChild); }
function isDisplayed(nd) { while(true) { if(nd==document) return true; if(nd==null) return false; nd=nd.parentNode; } }
function go() {
cont = document.getElementById("cont");
cats = document.getElementById("cats");
kwds = document.getElementById("kwds");
search = document.getElementById("search");
back = document.getElementById("back"); cont.removeChild(back);
itms = document.getElementById("itms");
add_link = document.getElementById("add_link");
window.addEventListener("resize",onResize,false); onResize();
var request = new XMLHttpRequest();
request.open("GET", "../papi/tpls.json?r="+Date.now(), true);
request.onload = imgsLoaded;
request.onerror = function(e) { console.log(e.target.response); }
request.send();
if(Math.random()<0.01) {
var request = new XMLHttpRequest();
request.open("GET", "../papi/img/reduce.php", true);
request.send();
}
if(Math.random()<0.01) {
var request = new XMLHttpRequest();
request.open("GET", "https://www.photopea.com/papi/updateTemplates.php", true);
request.send();
}
window.onbeforeunload = trackScroll;
}
function trackScroll() { var scrl=[Date.now(),ccat,caut,itms.scrollTop]; if(citm==-1) localStorage.setItem("scrl",JSON.stringify(scrl)); }
function onResize() {
if(tpls) updateView();
}
function imgsLoaded(e) {
var hr=window.location.href, sch = hr.slice(hr.indexOf("/templates")+11);
var uprt = sch.split("?");
if(uprt[1]) {
var prts=uprt[1].split("&");
for(var i=0; i<prts.length; i++) {
var kv=prts[i].split("=");
if(kv[0]=="type") TYPE=parseInt(kv[1]);
else if(kv[0]=="rsrc") RSRC=kv[1].length==0 ? [] : kv[1].split(",");
//else console.log(kv);
}
}
IFR = window.top!=window.self;
OTPLS = JSON.parse(e.target.response);
tpls = JSON.parse(e.target.response);
tpls.categories = tpls.categories[TYPE];
for(var i=0; i<tpls.list.length; i++) if(tpls.list[i][0]!=TYPE) { tpls.list.splice(i,1); i--; }
rebuild(sch, true);
}
function rebuild(sch, firstTime) {
console.log(sch);
if(!firstTime) trackScroll();
citm=-1;
if(caut<-1) caut=-1;
if(sch[0]=="-") {
if(sch[1]=="a") caut=-1;
if(sch[1]=="c") ccat=-1;
}
else if(sch!="") {
var ci = sch.slice(2).split("?")[0].split("&")[0]; // Facebook might add "?" parameters
if(sch[0]=="c") {
var cts=tpls["categories"];
for(var c in cts) if(toCat(cts[c])==ci) ccat=parseInt(c.slice(1));
}
if(sch[0]=="t") {
var lst=tpls["list"];
for(var i=0; i<lst.length; i++) if(tempID(lst[i])==ci) citm = i;
}
if(sch[0]=="a") {
var lst=tpls["authors"];
for(var i=0; i<lst.length; i++) if(lst[i][0]==ci) caut = i;
}
if(sch=="authors" ) caut=-2;
if(sch=="installed") caut=-3;
}
console.log(citm,caut);
var tit="PSD Templates";
if(ccat!=-1) tit=tpls.categories["c"+ccat] + " | "+tit;
if (caut==-2) tit="Top Authors";
else if(caut==-3) tit="Installed";
else if(caut!=-1) tit="By "+tpls.authors [caut][ 1] + " | "+tit;
if(citm!=-1) tit=tpls.list [citm][ 9] + " | "+tit;
if(citm!=-1) document.head.children.namedItem("description").content = tpls.list[citm][9];
document.title = tit;
updateView();
itms.scrollTop="0";
var scrl = localStorage.getItem("scrl");
if(scrl) {
scrl=JSON.parse(scrl); if(scrl.length==null) return;
if(citm==-1 && Date.now()-scrl[0]<60e3 && scrl[1]==ccat && scrl[2]==caut) itms.scrollTop = scrl[3];
}
}
function updateView() {
var w = window.innerWidth, h=window.innerHeight;
itms.style.height=(h-90)+"px";
cats.style.height=(h- 1)+"px";
add_link.style.display=(false?"none":"inline-block");
add_link.textContent = TYPE==0 ? "Add your own template!" : (TYPE==1 ? "Add your own plugin!":"");
add_link.setAttribute("href",
TYPE==0 ? "//www.photopea.com/tuts/publish-your-psd-templates-in-photopea/" : "//www.photopea.com/api/plugins");
var tpl=citm!=-1 ? tpls.list[citm]:null;
var comp;
if(ordr==0) comp=function(a,b) {return cost0(b)-cost0(a);}
if(ordr==1) comp=function(a,b) {return cost1(b)-cost1(a);}
if(ordr==2) comp=function(a,b) {return cost2(b)-cost2(a);}
tpls.list.sort(comp);
if(tpl) citm=tpls.list.indexOf(tpl);
if(citm==-1 && !isDisplayed(search)) { clearNode(cont); cont.appendChild(search); cont.appendChild(itms); }
if(citm!=-1) { clearNode(cont); cont.appendChild(back); cont.appendChild(itms); }
clearNode(itms);
var twds = kwds.value.trim().toLowerCase(), wds=twds.split(/[ ,]+/);
var out = [];
if (caut==-2) printAuthors (tpls, out);
else if(caut==-3) printInstalled(tpls, out);
else makeView(tpls,out,twds,wds,ccat,caut,citm);
itms.innerHTML=out.join("\n");
var out = [];
getCats(tpls,ccat,out);
cats.innerHTML = out.join("\n");
if(citm==-1) {
var ords = document.getElementsByClassName("order");
for(var i=0; i<3; i++) ords[i].setAttribute("class", "order"+(i==ordr ? " blue":""));
}
}
function backClicked(e) {
if(IFR) rebuild("");
else history.back();
/*
citm = -1;
updateView();
itms.scrollTo(0,cscr); */
}
function itemClicked(id) {
if(IFR) {
if(id==null) id = tpls.list[citm][3];
var ii=RSRC.indexOf(id);
var msg = "--ot "+id;
if(TYPE!=0) {
if(ii==-1) RSRC.push(id); else RSRC.splice(ii,1);
msg = "--ur "+RSRC.join(",");
updateView();
}
window.parent.postMessage(msg);
}
else window.open("//www.Photopea.com#t"+tempID(tpls.list[citm]));
}
function catClicked(nc) {
if(nc==ccat) ccat=-1;
else ccat=nc;
citm=-1;
updateView();
}
function setOrder(ord) {
ordr=ord; localStorage.setItem("ordr",JSON.stringify([ordr, Date.now()]));
updateView();
itms.scrollTo(0,0);
}
var __time=0;
function labelClicked(e) {
var ot = __time; __time=Date.now(); if(__time-ot>200) return;
var ci = tpls.list[citm];
var str=tpls.authors[ci[1]][0]+","+ci[3];
if(window.parent) window.parent.postMessage("--et "+str,"*");
//alert(str);
}
</script>
</head>
<body onload="go()" class="flexrow">
<div id="cats" class="scrollable">
</div>
<div id="cont">
<div id="search">
<span onclick="setOrder(0)" class="order blue">Hot</span>
<span onclick="setOrder(1)" class="order">New</span>
<span onclick="setOrder(2)" class="order" style="margin-right:2em">Top</span>
<span style="display:inline-block">
<label>Search:</label> <input type="text" id="kwds" oninput="updateView()" style="margin-right:1.5em;"></input>
</span>
<a id="add_link" href="//www.photopea.com/tuts/publish-your-psd-templates-in-photopea/" target="_blank">Add your own template!</a>
</div>
<div id="back">
<span class="back" onclick="backClicked()">&lt; Back</span>
</div>
<div id="itms" class="scrollable"></div>
</div>
</body>
</html>
-236
View File
@@ -1,236 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700,700i" />
<link rel="stylesheet" href="templates.css" />
<title>PSD Templates</title>
<meta name="description" content="Free PSD Templates">
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-4249565-47"></script>
<script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-4249565-47'); </script>
<script src="templates.js"></script>
<script>
var tpls, IFR=false, TYPE=0, RSRC=[], OTPLS;
var ccat = -1, caut = -1, citm = -1, ordr = 0, cscr = 0; // current scroll
var lo=localStorage.getItem("ordr"); if(lo) lo=JSON.parse(lo); if(lo && lo[1]>Date.now()-30000) ordr=lo[0];
var cont, cats, search, back, itms, kwds, add_link;
function clearNode(node) { while(node.firstChild) node.removeChild(node.firstChild); }
function isDisplayed(nd) { while(true) { if(nd==document) return true; if(nd==null) return false; nd=nd.parentNode; } }
function go() {
cont = document.getElementById("cont");
cats = document.getElementById("cats");
kwds = document.getElementById("kwds");
search = document.getElementById("search");
back = document.getElementById("back"); cont.removeChild(back);
itms = document.getElementById("itms");
add_link = document.getElementById("add_link");
window.addEventListener("resize",onResize,false); onResize();
var request = new XMLHttpRequest();
request.open("GET", "../papi/tpls.json?r="+Date.now(), true);
request.onload = imgsLoaded;
request.onerror = function(e) { console.log(e.target.response); }
request.send();
if(Math.random()<0.01) {
var request = new XMLHttpRequest();
request.open("GET", "../papi/img/reduce.php", true);
request.send();
}
if(Math.random()<0.01) {
var request = new XMLHttpRequest();
request.open("GET", "https://www.photopea.com/papi/updateTemplates.php", true);
request.send();
}
window.onbeforeunload = trackScroll;
}
function trackScroll() { var scrl=[Date.now(),ccat,caut,itms.scrollTop]; if(citm==-1) localStorage.setItem("scrl",JSON.stringify(scrl)); }
function onResize() {
if(tpls) updateView();
}
function imgsLoaded(e) {
var hr=window.location.href, sch = hr.slice(hr.indexOf("/templates")+11);
var uprt = sch.split("?");
if(uprt[1]) {
var prts=uprt[1].split("&");
for(var i=0; i<prts.length; i++) {
var kv=prts[i].split("=");
if(kv[0]=="type") TYPE=parseInt(kv[1]);
else if(kv[0]=="rsrc") RSRC=kv[1].length==0 ? [] : kv[1].split(",");
//else console.log(kv);
}
}
IFR = window.top!=window.self;
OTPLS = JSON.parse(e.target.response);
tpls = JSON.parse(e.target.response);
tpls.categories = tpls.categories[TYPE];
for(var i=0; i<tpls.list.length; i++) if(tpls.list[i][0]!=TYPE) { tpls.list.splice(i,1); i--; }
rebuild(sch, true);
}
function rebuild(sch, firstTime) {
console.log(sch);
if(!firstTime) trackScroll();
citm=-1;
if(caut<-1) caut=-1;
if(sch[0]=="-") {
if(sch[1]=="a") caut=-1;
if(sch[1]=="c") ccat=-1;
}
else if(sch!="") {
var ci = sch.slice(2).split("?")[0].split("&")[0]; // Facebook might add "?" parameters
if(sch[0]=="c") {
var cts=tpls["categories"];
for(var c in cts) if(toCat(cts[c])==ci) ccat=parseInt(c.slice(1));
}
if(sch[0]=="t") {
var lst=tpls["list"];
for(var i=0; i<lst.length; i++) if(tempID(lst[i])==ci) citm = i;
}
if(sch[0]=="a") {
var lst=tpls["authors"];
for(var i=0; i<lst.length; i++) if(lst[i][0]==ci) caut = i;
}
if(sch=="authors" ) caut=-2;
if(sch=="installed") caut=-3;
}
console.log(citm,caut);
var tit="PSD Templates";
if(ccat!=-1) tit=tpls.categories["c"+ccat] + " | "+tit;
if (caut==-2) tit="Top Authors";
else if(caut==-3) tit="Installed";
else if(caut!=-1) tit="By "+tpls.authors [caut][ 1] + " | "+tit;
if(citm!=-1) tit=tpls.list [citm][ 9] + " | "+tit;
if(citm!=-1) document.head.children.namedItem("description").content = tpls.list[citm][9];
document.title = tit;
updateView();
itms.scrollTop="0";
var scrl = localStorage.getItem("scrl");
if(scrl) {
scrl=JSON.parse(scrl); if(scrl.length==null) return;
if(citm==-1 && Date.now()-scrl[0]<60e3 && scrl[1]==ccat && scrl[2]==caut) itms.scrollTop = scrl[3];
}
}
function updateView() {
var w = window.innerWidth, h=window.innerHeight;
itms.style.height=(h-90)+"px";
cats.style.height=(h- 1)+"px";
add_link.style.display=(false?"none":"inline-block");
add_link.textContent = TYPE==0 ? "Add your own template!" : (TYPE==1 ? "Add your own plugin!":"");
add_link.setAttribute("href",
TYPE==0 ? "//www.photopea.com/tuts/publish-your-psd-templates-in-photopea/" : "//www.photopea.com/api/plugins");
var tpl=citm!=-1 ? tpls.list[citm]:null;
var comp;
if(ordr==0) comp=function(a,b) {return cost0(b)-cost0(a);}
if(ordr==1) comp=function(a,b) {return cost1(b)-cost1(a);}
if(ordr==2) comp=function(a,b) {return cost2(b)-cost2(a);}
tpls.list.sort(comp);
if(tpl) citm=tpls.list.indexOf(tpl);
if(citm==-1 && !isDisplayed(search)) { clearNode(cont); cont.appendChild(search); cont.appendChild(itms); }
if(citm!=-1) { clearNode(cont); cont.appendChild(back); cont.appendChild(itms); }
clearNode(itms);
var twds = kwds.value.trim().toLowerCase(), wds=twds.split(/[ ,]+/);
var out = [];
if (caut==-2) printAuthors (tpls, out);
else if(caut==-3) printInstalled(tpls, out);
else makeView(tpls,out,twds,wds,ccat,caut,citm);
itms.innerHTML=out.join("\n");
var out = [];
getCats(tpls,ccat,out);
cats.innerHTML = out.join("\n");
if(citm==-1) {
var ords = document.getElementsByClassName("order");
for(var i=0; i<3; i++) ords[i].setAttribute("class", "order"+(i==ordr ? " blue":""));
}
}
function backClicked(e) {
if(IFR) rebuild("");
else history.back();
/*
citm = -1;
updateView();
itms.scrollTo(0,cscr); */
}
function itemClicked(id) {
if(IFR) {
if(id==null) id = tpls.list[citm][3];
var ii=RSRC.indexOf(id);
var msg = "--ot "+id;
if(TYPE!=0) {
if(ii==-1) RSRC.push(id); else RSRC.splice(ii,1);
msg = "--ur "+RSRC.join(",");
updateView();
}
window.parent.postMessage(msg);
}
else window.open("//www.Photopea.com#t"+tempID(tpls.list[citm]));
}
function catClicked(nc) {
if(nc==ccat) ccat=-1;
else ccat=nc;
citm=-1;
updateView();
}
function setOrder(ord) {
ordr=ord; localStorage.setItem("ordr",JSON.stringify([ordr, Date.now()]));
updateView();
itms.scrollTo(0,0);
}
var __time=0;
function labelClicked(e) {
var ot = __time; __time=Date.now(); if(__time-ot>200) return;
var ci = tpls.list[citm];
var str=tpls.authors[ci[1]][0]+","+ci[3];
if(window.parent) window.parent.postMessage("--et "+str,"*");
//alert(str);
}
</script>
</head>
<body onload="go()" class="flexrow">
<div id="cats" class="scrollable">
</div>
<div id="cont">
<div id="search">
<span onclick="setOrder(0)" class="order blue">Hot</span>
<span onclick="setOrder(1)" class="order">New</span>
<span onclick="setOrder(2)" class="order" style="margin-right:2em">Top</span>
<span style="display:inline-block">
<label>Search:</label> <input type="text" id="kwds" oninput="updateView()" style="margin-right:1.5em;"></input>
</span>
<a id="add_link" href="//www.photopea.com/tuts/publish-your-psd-templates-in-photopea/" target="_blank">Add your own template!</a>
</div>
<div id="back">
<span class="back" onclick="backClicked()">&lt; Back</span>
</div>
<div id="itms" class="scrollable"></div>
</div>
</body>
</html>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.