Optimized torrent search to flex search
This commit is contained in:
parent
3eaf89115b
commit
fd338e91c0
@ -4,353 +4,362 @@
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Titillium+Web" rel="stylesheet">
|
||||
<style>
|
||||
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,video{display:inline-block;}audio:not([controls]){display:none;height:0;}[hidden]{display:none;}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}a:focus{outline:thin dotted;}a:active,a:hover{outline:0;}h1{font-size:2em;margin:0.67em 0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}mark{background:#ff0;color:#000;}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em;}pre{white-space:pre-wrap;}q{quotes:"\201C" "\201D" "\2018" "\2019";}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:0;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;}button,input{line-height:normal;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}
|
||||
|
||||
|
||||
@import url('https://fonts.googleapis.com/css?family=Titillium+Web');
|
||||
|
||||
|
||||
/*These settings will go to all divs */
|
||||
#rootDiv {
|
||||
box-sizing: border-box;
|
||||
position:relative;
|
||||
top:0px;
|
||||
font-family: 'Titillium Web', Arial, sans-serif;
|
||||
font-weight: 300;
|
||||
font-size: 1.05em;
|
||||
margin: 0;
|
||||
text-align:justify;
|
||||
}
|
||||
|
||||
.baseDiv {
|
||||
border-color: #e3e3e3;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
margin-left: -1px;
|
||||
margin-top: -1px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
i {
|
||||
font-size: 1em;
|
||||
font-weight: 400;
|
||||
padding: 0 0 15px;
|
||||
line-height: 36px;
|
||||
|
||||
}
|
||||
|
||||
h1 {
|
||||
|
||||
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
padding: 0 0 15px;
|
||||
}
|
||||
|
||||
|
||||
.flexcontainer {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
align-content: space-around;
|
||||
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
svg {
|
||||
fill: currentColor;
|
||||
}
|
||||
.btn {
|
||||
border: none;
|
||||
padding: 10px 10px;
|
||||
color:inherit;
|
||||
background-color: inherit;
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
-webkit-transition-duration: 0.4s; /* Safari */
|
||||
transition-duration: 0.4s;
|
||||
}
|
||||
|
||||
/* Darker background on mouse-over */
|
||||
.btn:hover {
|
||||
box-shadow: 0px 0px 5px rgb(0,0,0,0.5);
|
||||
}
|
||||
/*Torrent content grid */
|
||||
.front-torrent-name{
|
||||
font-size: 32px;
|
||||
padding: 5px;
|
||||
}
|
||||
.torrent-name{
|
||||
font-size: 22px;
|
||||
padding: 5px;
|
||||
}
|
||||
.torrent-uploader{
|
||||
font-size: 24px;
|
||||
padding: 5px;
|
||||
}
|
||||
.torrent-type{
|
||||
font-size: 20px;
|
||||
padding: 5px;
|
||||
}
|
||||
.torrent-description{
|
||||
font-size: 14px;
|
||||
padding: 5px;
|
||||
}
|
||||
.torrent-tags{
|
||||
font-size: 14px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.flip-card {
|
||||
background-color: transparent;
|
||||
perspective: 1000px; /* Remove this if you don't want the 3D effect */
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
/* This container is needed to position the front and back side */
|
||||
.flip-card-inner {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
transition: transform 0.8s;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
|
||||
/* Do an horizontal flip when you move the mouse over the flip box container */
|
||||
.flip-card:hover .flip-card-inner {
|
||||
transform: rotateY(180deg);
|
||||
box-shadow: 0px 0px 20px rgb(0,0,0,0.5);
|
||||
}
|
||||
|
||||
|
||||
/* Position the front and back side */
|
||||
.flip-card-front, .flip-card-back {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-webkit-backface-visibility: hidden;
|
||||
-moz-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
transform: rotateY(0deg);
|
||||
}
|
||||
|
||||
/* Style the front side (fallback if image is missing) */
|
||||
.flip-card-front {
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Style the back side */
|
||||
.flip-card-back {
|
||||
color: white;
|
||||
text-align: center;
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
/*For download progress */
|
||||
#downloadBar{
|
||||
position: fixed;
|
||||
top:30%;
|
||||
left:45%;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.progress-circle {
|
||||
font-size: 20px;
|
||||
margin: 20px;
|
||||
position: relative; /* so that children can be absolutely positioned */
|
||||
padding: 0;
|
||||
width: 5em;
|
||||
height: 5em;
|
||||
background-color: #F2E9E1;
|
||||
border-radius: 50%;
|
||||
line-height: 5em;
|
||||
}
|
||||
|
||||
.progress-circle:after{
|
||||
border: none;
|
||||
position: absolute;
|
||||
top: 0.35em;
|
||||
left: 0.35em;
|
||||
text-align: center;
|
||||
display: block;
|
||||
border-radius: 50%;
|
||||
width: 4.3em;
|
||||
height: 4.3em;
|
||||
background-color: black;
|
||||
content: " ";
|
||||
}
|
||||
/* Text inside the control */
|
||||
.progress-circle span {
|
||||
position: absolute;
|
||||
line-height: 5em;
|
||||
width: 5em;
|
||||
text-align: center;
|
||||
display: block;
|
||||
color: white;
|
||||
z-index: 2;
|
||||
}
|
||||
.left-half-clipper {
|
||||
/* a round circle */
|
||||
border-radius: 50%;
|
||||
width: 5em;
|
||||
height: 5em;
|
||||
position: absolute; /* needed for clipping */
|
||||
clip: rect(0, 5em, 5em, 2.5em); /* clips the whole left half*/
|
||||
}
|
||||
/* when p>50, don't clip left half*/
|
||||
.progress-circle.over50 .left-half-clipper {
|
||||
clip: rect(auto,auto,auto,auto);
|
||||
}
|
||||
.value-bar {
|
||||
/*This is an overlayed square, that is made round with the border radius,
|
||||
then it is cut to display only the left half, then rotated clockwise
|
||||
to escape the outer clipping path.*/
|
||||
position: absolute; /*needed for clipping*/
|
||||
clip: rect(0, 2.5em, 5em, 0);
|
||||
width: 5em;
|
||||
height: 5em;
|
||||
border-radius: 50%;
|
||||
border: 0.45em solid #53777A; /*The border is 0.35 but making it larger removes visual artifacts */
|
||||
/*background-color: #4D642D;*/ /* for debug */
|
||||
box-sizing: border-box;
|
||||
|
||||
}
|
||||
/* Progress bar filling the whole right half for values above 50% */
|
||||
.progress-circle.over50 .first50-bar {
|
||||
/*Progress bar for the first 50%, filling the whole right half*/
|
||||
position: absolute; /*needed for clipping*/
|
||||
clip: rect(0, 5em, 5em, 2.5em);
|
||||
background-color: #53777A;
|
||||
border-radius: 50%;
|
||||
width: 5em;
|
||||
height: 5em;
|
||||
}
|
||||
.progress-circle:not(.over50) .first50-bar{ display: none; }
|
||||
|
||||
|
||||
/* Progress bar rotation position */
|
||||
.progress-circle.p0 .value-bar { display: none; }
|
||||
.progress-circle.p1 .value-bar { transform: rotate(4deg); }
|
||||
.progress-circle.p2 .value-bar { transform: rotate(7deg); }
|
||||
.progress-circle.p3 .value-bar { transform: rotate(11deg); }
|
||||
.progress-circle.p4 .value-bar { transform: rotate(14deg); }
|
||||
.progress-circle.p5 .value-bar { transform: rotate(18deg); }
|
||||
.progress-circle.p6 .value-bar { transform: rotate(22deg); }
|
||||
.progress-circle.p7 .value-bar { transform: rotate(25deg); }
|
||||
.progress-circle.p8 .value-bar { transform: rotate(29deg); }
|
||||
.progress-circle.p9 .value-bar { transform: rotate(32deg); }
|
||||
.progress-circle.p10 .value-bar { transform: rotate(36deg); }
|
||||
.progress-circle.p11 .value-bar { transform: rotate(40deg); }
|
||||
.progress-circle.p12 .value-bar { transform: rotate(43deg); }
|
||||
.progress-circle.p13 .value-bar { transform: rotate(47deg); }
|
||||
.progress-circle.p14 .value-bar { transform: rotate(50deg); }
|
||||
.progress-circle.p15 .value-bar { transform: rotate(54deg); }
|
||||
.progress-circle.p16 .value-bar { transform: rotate(58deg); }
|
||||
.progress-circle.p17 .value-bar { transform: rotate(61deg); }
|
||||
.progress-circle.p18 .value-bar { transform: rotate(65deg); }
|
||||
.progress-circle.p19 .value-bar { transform: rotate(68deg); }
|
||||
.progress-circle.p20 .value-bar { transform: rotate(72deg); }
|
||||
.progress-circle.p21 .value-bar { transform: rotate(76deg); }
|
||||
.progress-circle.p22 .value-bar { transform: rotate(79deg); }
|
||||
.progress-circle.p23 .value-bar { transform: rotate(83deg); }
|
||||
.progress-circle.p24 .value-bar { transform: rotate(86deg); }
|
||||
.progress-circle.p25 .value-bar { transform: rotate(90deg); }
|
||||
.progress-circle.p26 .value-bar { transform: rotate(94deg); }
|
||||
.progress-circle.p27 .value-bar { transform: rotate(97deg); }
|
||||
.progress-circle.p28 .value-bar { transform: rotate(101deg); }
|
||||
.progress-circle.p29 .value-bar { transform: rotate(104deg); }
|
||||
.progress-circle.p30 .value-bar { transform: rotate(108deg); }
|
||||
.progress-circle.p31 .value-bar { transform: rotate(112deg); }
|
||||
.progress-circle.p32 .value-bar { transform: rotate(115deg); }
|
||||
.progress-circle.p33 .value-bar { transform: rotate(119deg); }
|
||||
.progress-circle.p34 .value-bar { transform: rotate(122deg); }
|
||||
.progress-circle.p35 .value-bar { transform: rotate(126deg); }
|
||||
.progress-circle.p36 .value-bar { transform: rotate(130deg); }
|
||||
.progress-circle.p37 .value-bar { transform: rotate(133deg); }
|
||||
.progress-circle.p38 .value-bar { transform: rotate(137deg); }
|
||||
.progress-circle.p39 .value-bar { transform: rotate(140deg); }
|
||||
.progress-circle.p40 .value-bar { transform: rotate(144deg); }
|
||||
.progress-circle.p41 .value-bar { transform: rotate(148deg); }
|
||||
.progress-circle.p42 .value-bar { transform: rotate(151deg); }
|
||||
.progress-circle.p43 .value-bar { transform: rotate(155deg); }
|
||||
.progress-circle.p44 .value-bar { transform: rotate(158deg); }
|
||||
.progress-circle.p45 .value-bar { transform: rotate(162deg); }
|
||||
.progress-circle.p46 .value-bar { transform: rotate(166deg); }
|
||||
.progress-circle.p47 .value-bar { transform: rotate(169deg); }
|
||||
.progress-circle.p48 .value-bar { transform: rotate(173deg); }
|
||||
.progress-circle.p49 .value-bar { transform: rotate(176deg); }
|
||||
.progress-circle.p50 .value-bar { transform: rotate(180deg); }
|
||||
.progress-circle.p51 .value-bar { transform: rotate(184deg); }
|
||||
.progress-circle.p52 .value-bar { transform: rotate(187deg); }
|
||||
.progress-circle.p53 .value-bar { transform: rotate(191deg); }
|
||||
.progress-circle.p54 .value-bar { transform: rotate(194deg); }
|
||||
.progress-circle.p55 .value-bar { transform: rotate(198deg); }
|
||||
.progress-circle.p56 .value-bar { transform: rotate(202deg); }
|
||||
.progress-circle.p57 .value-bar { transform: rotate(205deg); }
|
||||
.progress-circle.p58 .value-bar { transform: rotate(209deg); }
|
||||
.progress-circle.p59 .value-bar { transform: rotate(212deg); }
|
||||
.progress-circle.p60 .value-bar { transform: rotate(216deg); }
|
||||
.progress-circle.p61 .value-bar { transform: rotate(220deg); }
|
||||
.progress-circle.p62 .value-bar { transform: rotate(223deg); }
|
||||
.progress-circle.p63 .value-bar { transform: rotate(227deg); }
|
||||
.progress-circle.p64 .value-bar { transform: rotate(230deg); }
|
||||
.progress-circle.p65 .value-bar { transform: rotate(234deg); }
|
||||
.progress-circle.p66 .value-bar { transform: rotate(238deg); }
|
||||
.progress-circle.p67 .value-bar { transform: rotate(241deg); }
|
||||
.progress-circle.p68 .value-bar { transform: rotate(245deg); }
|
||||
.progress-circle.p69 .value-bar { transform: rotate(248deg); }
|
||||
.progress-circle.p70 .value-bar { transform: rotate(252deg); }
|
||||
.progress-circle.p71 .value-bar { transform: rotate(256deg); }
|
||||
.progress-circle.p72 .value-bar { transform: rotate(259deg); }
|
||||
.progress-circle.p73 .value-bar { transform: rotate(263deg); }
|
||||
.progress-circle.p74 .value-bar { transform: rotate(266deg); }
|
||||
.progress-circle.p75 .value-bar { transform: rotate(270deg); }
|
||||
.progress-circle.p76 .value-bar { transform: rotate(274deg); }
|
||||
.progress-circle.p77 .value-bar { transform: rotate(277deg); }
|
||||
.progress-circle.p78 .value-bar { transform: rotate(281deg); }
|
||||
.progress-circle.p79 .value-bar { transform: rotate(284deg); }
|
||||
.progress-circle.p80 .value-bar { transform: rotate(288deg); }
|
||||
.progress-circle.p81 .value-bar { transform: rotate(292deg); }
|
||||
.progress-circle.p82 .value-bar { transform: rotate(295deg); }
|
||||
.progress-circle.p83 .value-bar { transform: rotate(299deg); }
|
||||
.progress-circle.p84 .value-bar { transform: rotate(302deg); }
|
||||
.progress-circle.p85 .value-bar { transform: rotate(306deg); }
|
||||
.progress-circle.p86 .value-bar { transform: rotate(310deg); }
|
||||
.progress-circle.p87 .value-bar { transform: rotate(313deg); }
|
||||
.progress-circle.p88 .value-bar { transform: rotate(317deg); }
|
||||
.progress-circle.p89 .value-bar { transform: rotate(320deg); }
|
||||
.progress-circle.p90 .value-bar { transform: rotate(324deg); }
|
||||
.progress-circle.p91 .value-bar { transform: rotate(328deg); }
|
||||
.progress-circle.p92 .value-bar { transform: rotate(331deg); }
|
||||
.progress-circle.p93 .value-bar { transform: rotate(335deg); }
|
||||
.progress-circle.p94 .value-bar { transform: rotate(338deg); }
|
||||
.progress-circle.p95 .value-bar { transform: rotate(342deg); }
|
||||
.progress-circle.p96 .value-bar { transform: rotate(346deg); }
|
||||
.progress-circle.p97 .value-bar { transform: rotate(349deg); }
|
||||
.progress-circle.p98 .value-bar { transform: rotate(353deg); }
|
||||
.progress-circle.p99 .value-bar { transform: rotate(356deg); }
|
||||
.progress-circle.p100 .value-bar { transform: rotate(360deg); }
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body onload="rePaint()" onresize="rePaint()">
|
||||
<body onload="oneTimeTasks()" onresize="rePaint()">
|
||||
|
||||
<style>
|
||||
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,video{display:inline-block;}audio:not([controls]){display:none;height:0;}[hidden]{display:none;}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}a:focus{outline:thin dotted;}a:active,a:hover{outline:0;}h1{font-size:2em;margin:0.67em 0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}mark{background:#ff0;color:#000;}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em;}pre{white-space:pre-wrap;}q{quotes:"\201C" "\201D" "\2018" "\2019";}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:0;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;}button,input{line-height:normal;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}
|
||||
|
||||
|
||||
@import url('https://fonts.googleapis.com/css?family=Titillium+Web');
|
||||
|
||||
|
||||
/*These settings will go to all divs */
|
||||
#rootDiv {
|
||||
box-sizing: border-box;
|
||||
position:relative;
|
||||
top:0px;
|
||||
font-family: 'Titillium Web', Arial, sans-serif;
|
||||
font-weight: 300;
|
||||
font-size: 1.05em;
|
||||
margin: 0;
|
||||
text-align:justify;
|
||||
}
|
||||
|
||||
.baseDiv {
|
||||
border-color: #e3e3e3;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
margin-left: -1px;
|
||||
margin-top: -1px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
i {
|
||||
font-size: 1em;
|
||||
font-weight: 400;
|
||||
padding: 0 0 15px;
|
||||
line-height: 36px;
|
||||
|
||||
}
|
||||
|
||||
h1 {
|
||||
|
||||
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
padding: 0 0 15px;
|
||||
}
|
||||
|
||||
|
||||
.flexcontainer {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
align-content: space-around;
|
||||
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
svg {
|
||||
fill: currentColor;
|
||||
}
|
||||
.btn {
|
||||
border: none;
|
||||
padding: 10px 10px;
|
||||
color:inherit;
|
||||
background-color: inherit;
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
-webkit-transition-duration: 0.4s; /* Safari */
|
||||
transition-duration: 0.4s;
|
||||
}
|
||||
|
||||
/* Darker background on mouse-over */
|
||||
.btn:hover {
|
||||
box-shadow: 0px 0px 5px rgb(0,0,0,0.5);
|
||||
}
|
||||
/*Torrent content grid */
|
||||
.front-torrent-name{
|
||||
font-size: 32px;
|
||||
padding: 5px;
|
||||
}
|
||||
.torrent-name{
|
||||
font-size: 22px;
|
||||
padding: 5px;
|
||||
}
|
||||
.torrent-uploader{
|
||||
font-size: 24px;
|
||||
padding: 5px;
|
||||
}
|
||||
.torrent-type{
|
||||
font-size: 20px;
|
||||
padding: 5px;
|
||||
}
|
||||
.torrent-description{
|
||||
font-size: 14px;
|
||||
padding: 5px;
|
||||
}
|
||||
.torrent-tags{
|
||||
font-size: 14px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.flip-card {
|
||||
background-color: transparent;
|
||||
perspective: 1000px; /* Remove this if you don't want the 3D effect */
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
/* This container is needed to position the front and back side */
|
||||
.flip-card-inner {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
transition: transform 0.8s;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
|
||||
/* Do an horizontal flip when you move the mouse over the flip box container */
|
||||
.flip-card:hover .flip-card-inner {
|
||||
transform: rotateY(180deg);
|
||||
box-shadow: 0px 0px 20px rgb(0,0,0,0.5);
|
||||
}
|
||||
|
||||
|
||||
/* Position the front and back side */
|
||||
.flip-card-front, .flip-card-back {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-webkit-backface-visibility: hidden;
|
||||
-moz-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
transform: rotateY(0deg);
|
||||
}
|
||||
|
||||
/* Style the front side (fallback if image is missing) */
|
||||
.flip-card-front {
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Style the back side */
|
||||
.flip-card-back {
|
||||
color: white;
|
||||
text-align: center;
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
/*For download progress */
|
||||
#downloadBar{
|
||||
position: fixed;
|
||||
top:30%;
|
||||
left:45%;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.progress-circle {
|
||||
font-size: 20px;
|
||||
margin: 20px;
|
||||
position: relative; /* so that children can be absolutely positioned */
|
||||
padding: 0;
|
||||
width: 5em;
|
||||
height: 5em;
|
||||
background-color: #F2E9E1;
|
||||
border-radius: 50%;
|
||||
line-height: 5em;
|
||||
}
|
||||
|
||||
.progress-circle:after{
|
||||
border: none;
|
||||
position: absolute;
|
||||
top: 0.35em;
|
||||
left: 0.35em;
|
||||
text-align: center;
|
||||
display: block;
|
||||
border-radius: 50%;
|
||||
width: 4.3em;
|
||||
height: 4.3em;
|
||||
background-color: black;
|
||||
content: " ";
|
||||
}
|
||||
/* Text inside the control */
|
||||
.progress-circle span {
|
||||
position: absolute;
|
||||
line-height: 5em;
|
||||
width: 5em;
|
||||
text-align: center;
|
||||
display: block;
|
||||
color: white;
|
||||
z-index: 2;
|
||||
}
|
||||
.left-half-clipper {
|
||||
/* a round circle */
|
||||
border-radius: 50%;
|
||||
width: 5em;
|
||||
height: 5em;
|
||||
position: absolute; /* needed for clipping */
|
||||
clip: rect(0, 5em, 5em, 2.5em); /* clips the whole left half*/
|
||||
}
|
||||
/* when p>50, don't clip left half*/
|
||||
.progress-circle.over50 .left-half-clipper {
|
||||
clip: rect(auto,auto,auto,auto);
|
||||
}
|
||||
.value-bar {
|
||||
/*This is an overlayed square, that is made round with the border radius,
|
||||
then it is cut to display only the left half, then rotated clockwise
|
||||
to escape the outer clipping path.*/
|
||||
position: absolute; /*needed for clipping*/
|
||||
clip: rect(0, 2.5em, 5em, 0);
|
||||
width: 5em;
|
||||
height: 5em;
|
||||
border-radius: 50%;
|
||||
border: 0.45em solid #53777A; /*The border is 0.35 but making it larger removes visual artifacts */
|
||||
/*background-color: #4D642D;*/ /* for debug */
|
||||
box-sizing: border-box;
|
||||
|
||||
}
|
||||
/* Progress bar filling the whole right half for values above 50% */
|
||||
.progress-circle.over50 .first50-bar {
|
||||
/*Progress bar for the first 50%, filling the whole right half*/
|
||||
position: absolute; /*needed for clipping*/
|
||||
clip: rect(0, 5em, 5em, 2.5em);
|
||||
background-color: #53777A;
|
||||
border-radius: 50%;
|
||||
width: 5em;
|
||||
height: 5em;
|
||||
}
|
||||
.progress-circle:not(.over50) .first50-bar{ display: none; }
|
||||
|
||||
|
||||
/* Progress bar rotation position */
|
||||
.progress-circle.p0 .value-bar { display: none; }
|
||||
.progress-circle.p1 .value-bar { transform: rotate(4deg); }
|
||||
.progress-circle.p2 .value-bar { transform: rotate(7deg); }
|
||||
.progress-circle.p3 .value-bar { transform: rotate(11deg); }
|
||||
.progress-circle.p4 .value-bar { transform: rotate(14deg); }
|
||||
.progress-circle.p5 .value-bar { transform: rotate(18deg); }
|
||||
.progress-circle.p6 .value-bar { transform: rotate(22deg); }
|
||||
.progress-circle.p7 .value-bar { transform: rotate(25deg); }
|
||||
.progress-circle.p8 .value-bar { transform: rotate(29deg); }
|
||||
.progress-circle.p9 .value-bar { transform: rotate(32deg); }
|
||||
.progress-circle.p10 .value-bar { transform: rotate(36deg); }
|
||||
.progress-circle.p11 .value-bar { transform: rotate(40deg); }
|
||||
.progress-circle.p12 .value-bar { transform: rotate(43deg); }
|
||||
.progress-circle.p13 .value-bar { transform: rotate(47deg); }
|
||||
.progress-circle.p14 .value-bar { transform: rotate(50deg); }
|
||||
.progress-circle.p15 .value-bar { transform: rotate(54deg); }
|
||||
.progress-circle.p16 .value-bar { transform: rotate(58deg); }
|
||||
.progress-circle.p17 .value-bar { transform: rotate(61deg); }
|
||||
.progress-circle.p18 .value-bar { transform: rotate(65deg); }
|
||||
.progress-circle.p19 .value-bar { transform: rotate(68deg); }
|
||||
.progress-circle.p20 .value-bar { transform: rotate(72deg); }
|
||||
.progress-circle.p21 .value-bar { transform: rotate(76deg); }
|
||||
.progress-circle.p22 .value-bar { transform: rotate(79deg); }
|
||||
.progress-circle.p23 .value-bar { transform: rotate(83deg); }
|
||||
.progress-circle.p24 .value-bar { transform: rotate(86deg); }
|
||||
.progress-circle.p25 .value-bar { transform: rotate(90deg); }
|
||||
.progress-circle.p26 .value-bar { transform: rotate(94deg); }
|
||||
.progress-circle.p27 .value-bar { transform: rotate(97deg); }
|
||||
.progress-circle.p28 .value-bar { transform: rotate(101deg); }
|
||||
.progress-circle.p29 .value-bar { transform: rotate(104deg); }
|
||||
.progress-circle.p30 .value-bar { transform: rotate(108deg); }
|
||||
.progress-circle.p31 .value-bar { transform: rotate(112deg); }
|
||||
.progress-circle.p32 .value-bar { transform: rotate(115deg); }
|
||||
.progress-circle.p33 .value-bar { transform: rotate(119deg); }
|
||||
.progress-circle.p34 .value-bar { transform: rotate(122deg); }
|
||||
.progress-circle.p35 .value-bar { transform: rotate(126deg); }
|
||||
.progress-circle.p36 .value-bar { transform: rotate(130deg); }
|
||||
.progress-circle.p37 .value-bar { transform: rotate(133deg); }
|
||||
.progress-circle.p38 .value-bar { transform: rotate(137deg); }
|
||||
.progress-circle.p39 .value-bar { transform: rotate(140deg); }
|
||||
.progress-circle.p40 .value-bar { transform: rotate(144deg); }
|
||||
.progress-circle.p41 .value-bar { transform: rotate(148deg); }
|
||||
.progress-circle.p42 .value-bar { transform: rotate(151deg); }
|
||||
.progress-circle.p43 .value-bar { transform: rotate(155deg); }
|
||||
.progress-circle.p44 .value-bar { transform: rotate(158deg); }
|
||||
.progress-circle.p45 .value-bar { transform: rotate(162deg); }
|
||||
.progress-circle.p46 .value-bar { transform: rotate(166deg); }
|
||||
.progress-circle.p47 .value-bar { transform: rotate(169deg); }
|
||||
.progress-circle.p48 .value-bar { transform: rotate(173deg); }
|
||||
.progress-circle.p49 .value-bar { transform: rotate(176deg); }
|
||||
.progress-circle.p50 .value-bar { transform: rotate(180deg); }
|
||||
.progress-circle.p51 .value-bar { transform: rotate(184deg); }
|
||||
.progress-circle.p52 .value-bar { transform: rotate(187deg); }
|
||||
.progress-circle.p53 .value-bar { transform: rotate(191deg); }
|
||||
.progress-circle.p54 .value-bar { transform: rotate(194deg); }
|
||||
.progress-circle.p55 .value-bar { transform: rotate(198deg); }
|
||||
.progress-circle.p56 .value-bar { transform: rotate(202deg); }
|
||||
.progress-circle.p57 .value-bar { transform: rotate(205deg); }
|
||||
.progress-circle.p58 .value-bar { transform: rotate(209deg); }
|
||||
.progress-circle.p59 .value-bar { transform: rotate(212deg); }
|
||||
.progress-circle.p60 .value-bar { transform: rotate(216deg); }
|
||||
.progress-circle.p61 .value-bar { transform: rotate(220deg); }
|
||||
.progress-circle.p62 .value-bar { transform: rotate(223deg); }
|
||||
.progress-circle.p63 .value-bar { transform: rotate(227deg); }
|
||||
.progress-circle.p64 .value-bar { transform: rotate(230deg); }
|
||||
.progress-circle.p65 .value-bar { transform: rotate(234deg); }
|
||||
.progress-circle.p66 .value-bar { transform: rotate(238deg); }
|
||||
.progress-circle.p67 .value-bar { transform: rotate(241deg); }
|
||||
.progress-circle.p68 .value-bar { transform: rotate(245deg); }
|
||||
.progress-circle.p69 .value-bar { transform: rotate(248deg); }
|
||||
.progress-circle.p70 .value-bar { transform: rotate(252deg); }
|
||||
.progress-circle.p71 .value-bar { transform: rotate(256deg); }
|
||||
.progress-circle.p72 .value-bar { transform: rotate(259deg); }
|
||||
.progress-circle.p73 .value-bar { transform: rotate(263deg); }
|
||||
.progress-circle.p74 .value-bar { transform: rotate(266deg); }
|
||||
.progress-circle.p75 .value-bar { transform: rotate(270deg); }
|
||||
.progress-circle.p76 .value-bar { transform: rotate(274deg); }
|
||||
.progress-circle.p77 .value-bar { transform: rotate(277deg); }
|
||||
.progress-circle.p78 .value-bar { transform: rotate(281deg); }
|
||||
.progress-circle.p79 .value-bar { transform: rotate(284deg); }
|
||||
.progress-circle.p80 .value-bar { transform: rotate(288deg); }
|
||||
.progress-circle.p81 .value-bar { transform: rotate(292deg); }
|
||||
.progress-circle.p82 .value-bar { transform: rotate(295deg); }
|
||||
.progress-circle.p83 .value-bar { transform: rotate(299deg); }
|
||||
.progress-circle.p84 .value-bar { transform: rotate(302deg); }
|
||||
.progress-circle.p85 .value-bar { transform: rotate(306deg); }
|
||||
.progress-circle.p86 .value-bar { transform: rotate(310deg); }
|
||||
.progress-circle.p87 .value-bar { transform: rotate(313deg); }
|
||||
.progress-circle.p88 .value-bar { transform: rotate(317deg); }
|
||||
.progress-circle.p89 .value-bar { transform: rotate(320deg); }
|
||||
.progress-circle.p90 .value-bar { transform: rotate(324deg); }
|
||||
.progress-circle.p91 .value-bar { transform: rotate(328deg); }
|
||||
.progress-circle.p92 .value-bar { transform: rotate(331deg); }
|
||||
.progress-circle.p93 .value-bar { transform: rotate(335deg); }
|
||||
.progress-circle.p94 .value-bar { transform: rotate(338deg); }
|
||||
.progress-circle.p95 .value-bar { transform: rotate(342deg); }
|
||||
.progress-circle.p96 .value-bar { transform: rotate(346deg); }
|
||||
.progress-circle.p97 .value-bar { transform: rotate(349deg); }
|
||||
.progress-circle.p98 .value-bar { transform: rotate(353deg); }
|
||||
.progress-circle.p99 .value-bar { transform: rotate(356deg); }
|
||||
.progress-circle.p100 .value-bar { transform: rotate(360deg); }
|
||||
</style>
|
||||
<!--Entire Document is mounted here -->
|
||||
<div id="rootDiv"><div id="downloadBar"></div></div>
|
||||
<div id="rootDiv">
|
||||
<div id="downloadBar">
|
||||
<div id="progressBar" class="progress-circle">
|
||||
<div class="left-half-clipper">
|
||||
<div class="first50-bar"></div>
|
||||
<div class="value-bar"></div>
|
||||
</div>
|
||||
<span id="progressValue">Loading..</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const cryptocoin = "FLO"
|
||||
const cryptocoin = "FLO";
|
||||
const mainnet = `https://flosight.duckdns.org`;
|
||||
const testnet = `https://testnet-flosight.duckdns.org`;
|
||||
const adminID = "FDG64XNjdsA4rAgfm4ABEs2RcTgqn8Jecv";
|
||||
@ -358,10 +367,54 @@ if(cryptocoin == "FLO")
|
||||
var server = mainnet;
|
||||
else if(cryptocoin == "FLO_TEST")
|
||||
var server = testnet;
|
||||
var torrents = [];
|
||||
var searchResults = [];
|
||||
var torrents = [], searchResults = [], torrentSearchIndex;
|
||||
var searchKey = "";
|
||||
</script>
|
||||
|
||||
<script>
|
||||
/*
|
||||
FlexSearch v0.6.22
|
||||
Copyright 2019 Nextapps GmbH
|
||||
Author: Thomas Wilkerling
|
||||
Released under the Apache 2.0 Licence
|
||||
https://github.com/nextapps-de/flexsearch
|
||||
*/
|
||||
//FlexSearch min mode
|
||||
DEBUG = true;
|
||||
'use strict';(function(I,R,v){let K;(K=v.define)&&K.amd?K([],function(){return R}):(K=v.modules)?K[I.toLowerCase()]=R:"object"===typeof exports?module.exports=R:v[I]=R})("FlexSearch",function ma(I){function v(a,b){const c=b?b.id:a&&a.id;this.id=c||0===c?c:na++;this.init(a,b);fa(this,"index",function(){return this.a?Object.keys(this.a.index[this.a.keys[0]].c):Object.keys(this.c)});fa(this,"length",function(){return this.index.length})}function K(a,b,c,d){this.u!==this.g&&(this.o=this.o.concat(c),this.u++,
|
||||
d&&this.o.length>=d&&(this.u=this.g),this.u===this.g&&(this.cache&&this.l.set(b,this.o),this.F&&this.F(this.o)));return this}function S(a){const b=B();for(const c in a)if(a.hasOwnProperty(c)){const d=a[c];b[c]=E(d)?d.slice(0):J(d)?S(d):d}return b}function W(a,b){const c=a.length,d=O(b),e=[];for(let f=0,g=0;f<c;f++){const h=a[f];if(d&&b(h)||!d&&!b[h])e[g++]=h}return e}function P(a,b,c,d,e,f,g,h,l,m){c=ha(c,g?0:e,h,f,b,l,m);let n;h&&(h=c.page,n=c.next,c=c.result);if(g)b=this.where(g,null,e,c);else{b=
|
||||
c;c=this.h;e=b.length;f=Array(e);for(g=0;g<e;g++)f[g]=c[b[g]];b=f}c=b;d&&(O(d)||(L=d.split(":"),1<L.length?d=oa:(L=L[0],d=pa)),c.sort(d));c=T(h,n,c);this.cache&&this.l.set(a,c);return c}function fa(a,b,c){Object.defineProperty(a,b,{get:c})}function q(a){return new RegExp(a,"g")}function Q(a,b){for(let c=0;c<b.length;c+=2)a=a.replace(b[c],b[c+1]);return a}function V(a,b,c,d,e,f,g,h){if(b[c])return b[c];e=e?(h-(g||h/1.5))*f+(g||h/1.5)*e:f;b[c]=e;e>=g&&(a=a[h-(e+.5>>0)],a=a[c]||(a[c]=[]),a[a.length]=
|
||||
d);return e}function ba(a,b){if(a){const c=Object.keys(a);for(let d=0,e=c.length;d<e;d++){const f=c[d],g=a[f];if(g)for(let h=0,l=g.length;h<l;h++)if(g[h]===b){1===l?delete a[f]:g.splice(h,1);break}else J(g[h])&&ba(g[h],b)}}}function ca(a){let b="",c="";var d="";for(let e=0;e<a.length;e++){const f=a[e];if(f!==c)if(e&&"h"===f){if(d="a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d,("a"===c||"e"===c||"i"===c||"o"===c||"u"===c||"y"===c)&&d||" "===c)b+=f}else b+=f;d=e===a.length-1?"":a[e+1];c=f}return b}
|
||||
function qa(a,b){a=a.length-b.length;return 0>a?1:a?-1:0}function pa(a,b){a=a[L];b=b[L];return a<b?-1:a>b?1:0}function oa(a,b){const c=L.length;for(let d=0;d<c;d++)a=a[L[d]],b=b[L[d]];return a<b?-1:a>b?1:0}function T(a,b,c){return a?{page:a,next:b?""+b:null,result:c}:c}function ha(a,b,c,d,e,f,g){let h,l=[];if(!0===c){c="0";var m=""}else m=c&&c.split(":");const n=a.length;if(1<n){const y=B(),r=[];let w,x;var p=0,k;let G;var u=!0;let C,D=0,N,da,X,ea;m&&(2===m.length?(X=m,m=!1):m=ea=parseInt(m[0],10));
|
||||
if(g){for(w=B();p<n;p++)if("not"===e[p])for(x=a[p],G=x.length,k=0;k<G;k++)w["@"+x[k]]=1;else da=p+1;if(H(da))return T(c,h,l);p=0}else N=M(e)&&e;let Y;for(;p<n;p++){const ra=p===(da||n)-1;if(!N||!p)if((k=N||e&&e[p])&&"and"!==k)if("or"===k)Y=!1;else continue;else Y=f=!0;x=a[p];if(G=x.length){if(u)if(C){var t=C.length;for(k=0;k<t;k++){u=C[k];var A="@"+u;g&&w[A]||(y[A]=1,f||(l[D++]=u))}C=null;u=!1}else{C=x;continue}A=!1;for(k=0;k<G;k++){t=x[k];var z="@"+t;const Z=f?y[z]||0:p;if(!(!Z&&!d||g&&w[z]||!f&&
|
||||
y[z]))if(Z===p){if(ra){if(!ea||--ea<D)if(l[D++]=t,b&&D===b)return T(c,D+(m||0),l)}else y[z]=p+1;A=!0}else d&&(z=r[Z]||(r[Z]=[]),z[z.length]=t)}if(Y&&!A&&!d)break}else if(Y&&!d)return T(c,h,x)}if(C)if(p=C.length,g)for(k=m?parseInt(m,10):0;k<p;k++)a=C[k],w["@"+a]||(l[D++]=a);else l=C;if(d)for(D=l.length,X?(p=parseInt(X[0],10)+1,k=parseInt(X[1],10)+1):(p=r.length,k=0);p--;)if(t=r[p]){for(G=t.length;k<G;k++)if(d=t[k],!g||!w["@"+d])if(l[D++]=d,b&&D===b)return T(c,p+":"+k,l);k=0}}else!n||e&&"not"===e[0]||
|
||||
(l=a[0],m&&(m=parseInt(m[0],10)));b&&(g=l.length,m&&m>g&&(m=0),m=m||0,h=m+b,h<g?l=l.slice(m,h):(h=0,m&&(l=l.slice(m))));return T(c,h,l)}function M(a){return"string"===typeof a}function E(a){return a.constructor===Array}function O(a){return"function"===typeof a}function J(a){return"object"===typeof a}function H(a){return"undefined"===typeof a}function ia(a){const b=Array(a);for(let c=0;c<a;c++)b[c]=B();return b}function B(){return Object.create(null)}function sa(){let a,b;self.onmessage=function(c){if(c=
|
||||
c.data)if(c.search){const d=b.search(c.content,c.threshold?{limit:c.limit,threshold:c.threshold,where:c.where}:c.limit);self.postMessage({id:a,content:c.content,limit:c.limit,result:d})}else c.add?b.add(c.id,c.content):c.update?b.update(c.id,c.content):c.remove?b.remove(c.id):c.clear?b.clear():c.info?(c=b.info(),c.worker=a,console.log(c)):c.register&&(a=c.id,c.options.cache=!1,c.options.async=!1,c.options.worker=!1,b=(new Function(c.register.substring(c.register.indexOf("{")+1,c.register.lastIndexOf("}"))))(),
|
||||
b=new b(c.options))}}function ta(a,b,c,d){a=I("flexsearch","id"+a,sa,function(f){(f=f.data)&&f.result&&d(f.id,f.content,f.result,f.limit,f.where,f.cursor,f.suggest)},b);const e=ma.toString();c.id=b;a.postMessage({register:e,options:c,id:b});return a}const F={encode:"icase",f:"forward",split:/\W+/,cache:!1,async:!1,g:!1,D:!1,a:!1,b:9,threshold:0,depth:0},ja={memory:{encode:"extra",f:"strict",threshold:0,b:1},speed:{encode:"icase",f:"strict",threshold:1,b:3,depth:2},match:{encode:"extra",f:"full",threshold:1,
|
||||
b:3},score:{encode:"extra",f:"strict",threshold:1,b:9,depth:4},balance:{encode:"balance",f:"strict",threshold:0,b:3,depth:3},fast:{encode:"icase",f:"strict",threshold:8,b:9,depth:1}},aa=[];let na=0;const ka={},la={};v.create=function(a,b){return new v(a,b)};v.registerMatcher=function(a){for(const b in a)a.hasOwnProperty(b)&&aa.push(q(b),a[b]);return this};v.registerEncoder=function(a,b){U[a]=b.bind(U);return this};v.registerLanguage=function(a,b){ka[a]=b.filter;la[a]=b.stemmer;return this};v.encode=
|
||||
function(a,b){return U[a](b)};v.prototype.init=function(a,b){this.v=[];if(b){var c=b.preset;a=b}else a||(a=F),c=a.preset;b={};M(a)?(b=ja[a],a={}):c&&(b=ja[c]);if(c=a.worker)if("undefined"===typeof Worker)a.worker=!1,this.m=null;else{var d=parseInt(c,10)||4;this.C=-1;this.u=0;this.o=[];this.F=null;this.m=Array(d);for(var e=0;e<d;e++)this.m[e]=ta(this.id,e,a,K.bind(this))}this.f=a.tokenize||b.f||this.f||F.f;this.split=a.split||this.split||F.split;this.D=a.rtl||this.D||F.D;this.async="undefined"===typeof Promise||
|
||||
H(c=a.async)?this.async||F.async:c;this.g=H(c=a.worker)?this.g||F.g:c;this.threshold=H(c=a.threshold)?b.threshold||this.threshold||F.threshold:c;this.b=H(c=a.resolution)?c=b.b||this.b||F.b:c;c<=this.threshold&&(this.b=this.threshold+1);this.depth="strict"!==this.f||H(c=a.depth)?b.depth||this.depth||F.depth:c;this.w=(c=H(c=a.encode)?b.encode||F.encode:c)&&U[c]&&U[c].bind(U)||(O(c)?c:this.w||!1);(c=a.matcher)&&this.addMatcher(c);if(c=(b=a.lang)||a.filter){M(c)&&(c=ka[c]);if(E(c)){d=this.w;e=B();for(var f=
|
||||
0;f<c.length;f++){var g=d?d(c[f]):c[f];e[g]=1}c=e}this.filter=c}if(c=b||a.stemmer){var h;b=M(c)?la[c]:c;d=this.w;e=[];for(h in b)b.hasOwnProperty(h)&&(f=d?d(h):h,e.push(q(f+"($|\\W)"),d?d(b[h]):b[h]));this.stemmer=h=e}this.a=e=(c=a.doc)?S(c):this.a||F.a;this.j=ia(this.b-(this.threshold||0));this.i=B();this.c=B();if(e){this.h=B();a.doc=null;h=e.index={};b=e.keys=[];d=e.field;f=e.tag;E(e.id)||(e.id=e.id.split(":"));if(f){this.G=B();g=B();if(d)if(M(d))g[d]=a;else if(E(d))for(let l=0;l<d.length;l++)g[d[l]]=
|
||||
a;else J(d)&&(g=d);E(f)||(e.tag=f=[f]);for(d=0;d<f.length;d++)this.G[f[d]]=B();this.I=f;d=g}if(d){let l;E(d)||(J(d)?(l=d,e.field=d=Object.keys(d)):e.field=d=[d]);for(e=0;e<d.length;e++)f=d[e],E(f)||(l&&(a=l[f]),b[e]=f,d[e]=f.split(":")),h[f]=new v(a),h[f].h=this.h}}this.B=!0;this.l=(this.cache=c=H(c=a.cache)?this.cache||F.cache:c)?new ua(c):!1;return this};v.prototype.encode=function(a){a&&aa.length&&(a=Q(a,aa));a&&this.v.length&&(a=Q(a,this.v));a&&this.w&&(a=this.w(a));a&&this.stemmer&&(a=Q(a,this.stemmer));
|
||||
return a};v.prototype.addMatcher=function(a){const b=this.v;for(const c in a)a.hasOwnProperty(c)&&b.push(q(c),a[c]);return this};v.prototype.add=function(a,b,c,d,e){if(this.a&&J(a))return this.A("add",a,b);if(b&&M(b)&&(a||0===a)){var f="@"+a;if(this.c[f]&&!d)return this.update(a,b);if(this.g)return++this.C>=this.m.length&&(this.C=0),this.m[this.C].postMessage({add:!0,id:a,content:b}),this.c[f]=""+this.C,c&&c(),this;if(!e){if(this.async&&"function"!==typeof importScripts){let r=this;f=new Promise(function(w){setTimeout(function(){r.add(a,
|
||||
b,null,d,!0);r=null;w()})});if(c)f.then(c);else return f;return this}if(c)return this.add(a,b,null,d,!0),c(),this}b=this.encode(b);if(!b.length)return this;c=this.f;e=O(c)?c(b):b.split(this.split);this.filter&&(e=W(e,this.filter));const p=B();p._ctx=B();const k=e.length,u=this.threshold,t=this.depth,A=this.b,z=this.j,y=this.D;for(let r=0;r<k;r++){var g=e[r];if(g){var h=g.length,l=(y?r+1:k-r)/k,m="";switch(c){case "reverse":case "both":for(var n=h;--n;)m=g[n]+m,V(z,p,m,a,y?1:(h-n)/h,l,u,A-1);m="";
|
||||
case "forward":for(n=0;n<h;n++)m+=g[n],V(z,p,m,a,y?(n+1)/h:1,l,u,A-1);break;case "full":for(n=0;n<h;n++){const w=(y?n+1:h-n)/h;for(let x=h;x>n;x--)m=g.substring(n,x),V(z,p,m,a,w,l,u,A-1)}break;default:if(h=V(z,p,g,a,1,l,u,A-1),t&&1<k&&h>=u)for(h=p._ctx[g]||(p._ctx[g]=B()),g=this.i[g]||(this.i[g]=ia(A-(u||0))),l=r-t,m=r+t+1,0>l&&(l=0),m>k&&(m=k);l<m;l++)l!==r&&V(g,h,e[l],a,0,A-(l<r?r-l:l-r),u,A-1)}}}this.c[f]=1;this.B=!1}return this};v.prototype.A=function(a,b,c){if(E(b))for(let l=0,m=b.length;l<m;l++){if(l===
|
||||
m-1)return this.A(a,b[l],c);this.A(a,b[l])}else{const l=this.a.index,m=this.a.keys;var d=this.a.tag,e=this.a.id;let n;let p;for(var f=0;f<e.length;f++)n=(n||b)[e[f]];if(d){for(e=0;e<d.length;e++){var g=d[e];var h=g.split(":");for(f=0;f<h.length;f++)p=(p||b)[h[f]];p="@"+p}h=this.G[g];h=h[p]||(h[p]=[])}if("remove"===a){delete this.h[n];for(let k=0,u=m.length;k<u;k++){if(k===u-1)return l[m[k]].remove(n,c),this;l[m[k]].remove(n)}}e=this.a.field;h&&(h[h.length]=b);this.h[n]=b;for(let k=0,u=e.length;k<
|
||||
u;k++){d=e[k];let t;for(g=0;g<d.length;g++)t=(t||b)[d[g]];d=l[m[k]];g="add"===a?d.add:d.update;k===u-1?g.call(d,n,t,c):g.call(d,n,t)}}return this};v.prototype.update=function(a,b,c){if(this.a&&J(a))return this.A("update",a,b);this.c["@"+a]&&M(b)&&(this.remove(a),this.add(a,b,c,!0));return this};v.prototype.remove=function(a,b,c){if(this.a&&J(a))return this.A("remove",a,b);var d="@"+a;if(this.c[d]){if(this.g)return this.m[this.c[d]].postMessage({remove:!0,id:a}),delete this.c[d],b&&b(),this;if(!c){if(this.async&&
|
||||
"function"!==typeof importScripts){let e=this;d=new Promise(function(f){setTimeout(function(){e.remove(a,null,!0);e=null;f()})});if(b)d.then(b);else return d;return this}if(b)return this.remove(a,null,!0),b(),this}for(b=0;b<this.b-(this.threshold||0);b++)ba(this.j[b],a);this.depth&&ba(this.i,a);delete this.c[d];this.B=!1}return this};let L;v.prototype.search=function(a,b,c,d){if(J(b)){if(E(b))for(var e=0;e<b.length;e++)b[e].query=a;else b.query=a;a=b;b=1E3}else b&&O(b)?(c=b,b=1E3):b||0===b||(b=1E3);
|
||||
let f=[],g=a;let h,l,m;if(J(a)&&!E(a)){c||(c=a.callback)&&(g.callback=null);l=a.sort;h=a.page;b=a.limit;var n=a.threshold;m=a.suggest;a=a.query}if(this.a){n=this.a.index;const y=g.where;var p=g.bool||"or",k=g.field;let r=p;let w,x;if(k)E(k)||(k=[k]);else if(E(g)){var u=g;k=[];r=[];for(var t=0;t<g.length;t++)d=g[t],e=d.bool||p,k[t]=d.field,r[t]=e,"not"===e?w=!0:"and"===e&&(x=!0)}else k=this.a.keys;p=k.length;for(t=0;t<p;t++)u&&(g=u[t]),h&&!M(g)&&(g.page=null,g.limit=0),f[t]=n[k[t]].search(g,0);if(this.g){this.F=
|
||||
c;this.u=0;this.o=[];for(n=0;n<this.g;n++)this.m[n].postMessage({search:!0,limit:b,content:g});return}if(c)return c(P.call(this,a,r,f,l,b,m,y,h,x,w));if(this.async){const G=this;return new Promise(function(C){Promise.all(f).then(function(D){C(P.call(G,a,r,D,l,b,m,y,h,x,w))})})}return P.call(this,a,r,f,l,b,m,y,h,x,w)}n||(n=this.threshold||0);if(!d){if(this.async&&"function"!==typeof importScripts){let y=this;n=new Promise(function(r){setTimeout(function(){r(y.search(g,b,null,!0));y=null})});if(c)n.then(c);
|
||||
else return n;return this}if(c)return c(this.search(g,b,null,!0)),this}if(!a||!M(a))return f;g=a;if(this.cache)if(this.B){if(c=this.l.get(a))return c}else this.l.clear(),this.B=!0;g=this.encode(g);if(!g.length)return f;c=this.f;c=O(c)?c(g):g.split(this.split);this.filter&&(c=W(c,this.filter));u=c.length;d=!0;e=[];const A=B();let z=0;1<u&&(this.depth&&"strict"===this.f?p=!0:c.sort(qa));if(!p||(t=this.i)){const y=this.b;for(;z<u;z++){let r=c[z];if(r){if(p){if(!k)if(t[r])k=r,A[r]=1;else if(!m)return f;
|
||||
if(m&&z===u-1&&!e.length)p=!1,r=k||r,A[r]=0;else if(!k)continue}if(!A[r]){const w=[];let x=!1,G=0;const C=p?t[k]:this.j;if(C){let D;for(let N=0;N<y-n;N++)if(D=C[N]&&C[N][r])w[G++]=D,x=!0}if(x)k=r,e[e.length]=1<G?w.concat.apply([],w):w[0];else if(!m){d=!1;break}A[r]=1}}}}else d=!1;d&&(f=ha(e,b,h,m));this.cache&&this.l.set(a,f);return f};v.prototype.find=function(a,b){return this.where(a,b,1)[0]||null};v.prototype.where=function(a,b,c,d){const e=this.h,f=[];let g=0;let h;var l;let m;if(J(a)){c||(c=
|
||||
b);var n=Object.keys(a);var p=n.length;h=!1;if(1===p&&"id"===n[0])return[e[a.id]];if((l=this.I)&&!d)for(var k=0;k<l.length;k++){var u=l[k],t=a[u];if(!H(t)){m=this.G[u]["@"+t];if(0===--p)return m;n.splice(n.indexOf(u),1);delete a[u];break}}l=Array(p);for(k=0;k<p;k++)l[k]=n[k].split(":")}else{if(O(a)){b=d||Object.keys(e);c=b.length;for(n=0;n<c;n++)p=e[b[n]],a(p)&&(f[g++]=p);return f}if(H(b))return[e[a]];if("id"===a)return[e[b]];n=[a];p=1;l=[a.split(":")];h=!0}d=m||d||Object.keys(e);k=d.length;for(u=
|
||||
0;u<k;u++){t=m?d[u]:e[d[u]];let A=!0;for(let z=0;z<p;z++){h||(b=a[n[z]]);const y=l[z],r=y.length;let w=t;if(1<r)for(let x=0;x<r;x++)w=w[y[x]];else w=w[y[0]];if(w!==b){A=!1;break}}if(A&&(f[g++]=t,c&&g===c))break}return f};v.prototype.info=function(){if(this.g)for(let a=0;a<this.g;a++)this.m[a].postMessage({info:!0,id:this.id});else return{id:this.id,items:this.length,cache:this.cache&&this.cache.s?this.cache.s.length:!1,matcher:aa.length+(this.v?this.v.length:0),worker:this.g,threshold:this.threshold,
|
||||
depth:this.depth,resolution:this.b,contextual:this.depth&&"strict"===this.f}};v.prototype.clear=function(){return this.destroy().init()};v.prototype.destroy=function(){this.cache&&(this.l.clear(),this.l=null);this.j=this.i=this.c=null;if(this.a){const a=this.a.keys;for(let b=0;b<a.length;b++)this.a.index[a[b]].destroy();this.a=this.h=null}return this};v.prototype.export=function(){let a;if(this.a){const b=this.a.keys;a=Array(b.length+1);let c=0;for(;c<b.length;c++){const d=this.a.index[b[c]];a[c]=
|
||||
[d.j,d.i,Object.keys(d.c)]}a[c]=this.h}else a=[this.j,this.i,Object.keys(this.c)];return JSON.stringify(a)};v.prototype.import=function(a){a=JSON.parse(a);const b=B();if(this.a){var c=this.a.keys,d=c.length,e=a[0][2];for(var f=0;f<e.length;f++)b[e[f]]=1;for(e=0;e<d;e++)f=this.a.index[c[e]],f.j=a[e][0],f.i=a[e][1],f.c=b,f.h=a[d];this.h=a[d]}else{c=a[2];for(d=0;d<c.length;d++)b[c[d]]=1;this.j=a[0];this.i=a[1];this.c=b}};const U={icase:function(a){return a.toLowerCase()},simple:function(){const a=[q("[\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5]"),
|
||||
"a",q("[\u00e8\u00e9\u00ea\u00eb]"),"e",q("[\u00ec\u00ed\u00ee\u00ef]"),"i",q("[\u00f2\u00f3\u00f4\u00f5\u00f6\u0151]"),"o",q("[\u00f9\u00fa\u00fb\u00fc\u0171]"),"u",q("[\u00fd\u0177\u00ff]"),"y",q("\u00f1"),"n",q("[\u00e7c]"),"k",q("\u00df"),"s",q(" & ")," and ",q("[-/]")," ",q("[^a-z0-9 ]"),"",q("\\s+")," "];return function(b){b=Q(b.toLowerCase(),a);return" "===b?"":b}}(),advanced:function(){const a=[q("ae"),"a",q("ai"),"ei",q("ay"),"ei",q("ey"),"ei",q("oe"),"o",q("ue"),"u",q("ie"),"i",q("sz"),
|
||||
"s",q("zs"),"s",q("sh"),"s",q("ck"),"k",q("cc"),"k",q("th"),"t",q("dt"),"t",q("ph"),"f",q("pf"),"f",q("ou"),"o",q("uo"),"u"];return function(b,c){if(!b)return b;b=this.simple(b);2<b.length&&(b=Q(b,a));c||1<b.length&&(b=ca(b));return b}}(),extra:function(){const a=[q("p"),"b",q("z"),"s",q("[cgq]"),"k",q("n"),"m",q("d"),"t",q("[vw]"),"f",q("[aeiouy]"),""];return function(b){if(!b)return b;b=this.advanced(b,!0);if(1<b.length){b=b.split(" ");for(let c=0;c<b.length;c++){const d=b[c];1<d.length&&(b[c]=
|
||||
d[0]+Q(d.substring(1),a))}b=b.join(" ");b=ca(b)}return b}}(),balance:function(){const a=[q("[-/]")," ",q("[^a-z0-9 ]"),"",q("\\s+")," "];return function(b){return ca(Q(b.toLowerCase(),a))}}()},ua=function(){function a(b){this.clear();this.H=!0!==b&&b}a.prototype.clear=function(){this.cache=B();this.count=B();this.index=B();this.s=[]};a.prototype.set=function(b,c){if(this.H&&H(this.cache[b])){let d=this.s.length;if(d===this.H){d--;const e=this.s[d];delete this.cache[e];delete this.count[e];delete this.index[e]}this.index[b]=
|
||||
d;this.s[d]=b;this.count[b]=-1;this.cache[b]=c;this.get(b)}else this.cache[b]=c};a.prototype.get=function(b){const c=this.cache[b];if(this.H&&c){var d=++this.count[b];const f=this.index;let g=f[b];if(0<g){const h=this.s;for(var e=g;this.count[h[--g]]<=d&&-1!==g;);g++;if(g!==e){for(d=e;d>g;d--)e=h[d-1],h[d]=e,f[e]=d;h[g]=b;f[b]=g}}}return c};return a}();return v}(function(){const I={},R="undefined"!==typeof Blob&&"undefined"!==typeof URL&&URL.createObjectURL;return function(v,K,S,W,P){S=R?URL.createObjectURL(new Blob(["("+
|
||||
S.toString()+")()"],{type:"text/javascript"})):v+".min.js";v+="-"+K;I[v]||(I[v]=[]);I[v][P]=new Worker(S);I[v][P].onmessage=W;return I[v][P]}}()),this);
|
||||
</script>
|
||||
|
||||
<script id="userNonPresentationData">
|
||||
@ -537,41 +590,36 @@ function getNewestDatafromAPI(){
|
||||
}
|
||||
|
||||
async function downloadTorrent(filename,txid,totalChunks){
|
||||
var downloadBar = document.getElementById('downloadBar');
|
||||
var progressBar = document.createElement("div");
|
||||
document.getElementById('downloadBar').style.display = "block";
|
||||
var progressBar = document.getElementById('progressBar');
|
||||
progressBar.setAttribute("class","progress-circle p0");
|
||||
progressBar.innerHTML = `<div class="left-half-clipper">
|
||||
<div class="first50-bar"></div>
|
||||
<div class="value-bar"></div>
|
||||
</div>`
|
||||
var progressValue = document.createElement("span");
|
||||
var progressValue = document.getElementById('progressValue');
|
||||
progressValue.innerHTML = `0%`;
|
||||
progressBar.appendChild(progressValue);
|
||||
downloadBar.appendChild(progressBar);
|
||||
console.log(txid);
|
||||
chunks = [];
|
||||
var percent = 0;
|
||||
try{
|
||||
while(txid){
|
||||
var response = ajax("GET",`/api/tx/${txid}`);
|
||||
var floData = JSON.parse(JSON.parse(response).floData)
|
||||
chunks.push(floData.data);
|
||||
txid = floData.next;
|
||||
percent = Math.round((chunks.length/totalChunks)*100)
|
||||
progressValue.innerHTML = `${percent}%`;
|
||||
if(percent < 50)
|
||||
progressBar.setAttribute("class",`progress-circle p${percent}`);
|
||||
else
|
||||
progressBar.setAttribute("class",`progress-circle over50 p${percent}`);
|
||||
try {
|
||||
while (txid) {
|
||||
var response = ajax("GET", `/api/tx/${txid}`);
|
||||
var floData = JSON.parse(JSON.parse(response).floData)
|
||||
chunks.push(floData.data);
|
||||
txid = floData.next;
|
||||
percent = Math.round((chunks.length / totalChunks) * 100)
|
||||
progressValue.innerHTML = `${percent}%`;
|
||||
if (percent < 50)
|
||||
progressBar.setAttribute("class", `progress-circle p${percent}`);
|
||||
else
|
||||
progressBar.setAttribute("class", `progress-circle over50 p${percent}`);
|
||||
}
|
||||
var filedata = chunks.join("");
|
||||
console.log(filedata);
|
||||
download(filename,filedata);
|
||||
}catch(e){
|
||||
download(filename, filedata);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
downloadBar.removeChild(progressBar);
|
||||
document.getElementById('downloadBar').style.display = "none";
|
||||
}
|
||||
|
||||
function download(filename, data) {
|
||||
var element = document.createElement('a');
|
||||
element.setAttribute('href', 'data:application/octet-stream;charset=utf-8;base64,' + data);
|
||||
@ -582,58 +630,53 @@ function getNewestDatafromAPI(){
|
||||
document.body.removeChild(element);
|
||||
}
|
||||
|
||||
function searchTorrents(){
|
||||
try{
|
||||
searchKey = document.getElementById("search").value;
|
||||
console.log(searchKey);
|
||||
searchResults = [];
|
||||
for(var i = 0; i <torrents.length; i++){
|
||||
if(torrents[i].name.includes(searchKey))
|
||||
searchResults.push(i);
|
||||
rePaint();
|
||||
}
|
||||
}catch(e){
|
||||
function searchTorrents() {
|
||||
try {
|
||||
searchKey = this.value;
|
||||
console.log(searchKey);
|
||||
if (!searchKey)
|
||||
searchResults = Array.from(Array(20).keys())
|
||||
else
|
||||
searchResults = torrentSearchIndex.search(searchKey);
|
||||
rePaintUserData();
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function clearSearch(){
|
||||
searchKey = "";
|
||||
searchResults = torrents;
|
||||
try{
|
||||
rePaint();
|
||||
}catch(e){
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
//This function will be called by framework for you
|
||||
function userDataNeedingNoRePaint(){
|
||||
function userDataNeedingNoRePaint() {
|
||||
console.log("StartUp");
|
||||
getNewestDatafromAPI().then(function(result){
|
||||
getNewestDatafromAPI().then(function (result) {
|
||||
torrents = result;
|
||||
console.log(torrents);
|
||||
searchResults = [];
|
||||
for(var i=0 ; i<torrents.length;i++)
|
||||
torrentSearchIndex = new FlexSearch();
|
||||
for (var i = 0; i < torrents.length; i++){
|
||||
searchResults.push(i);
|
||||
rePaint();
|
||||
}).catch(function(error){
|
||||
console.log(error.message);
|
||||
|
||||
torrentSearchIndex.add(i, torrents[i].name);
|
||||
}
|
||||
rePaintUserData();
|
||||
document.getElementById("downloadBar").style.display = "none";
|
||||
}).catch(function (error) {
|
||||
console.log(error.message);
|
||||
});
|
||||
getDatafromAPI().then(function (res) {
|
||||
getDataFromIDB().then(function (response) {
|
||||
torrents = response.reverse();
|
||||
console.log(torrents);
|
||||
searchResults = [];
|
||||
for(var i=0 ; i<torrents.length;i++)
|
||||
torrentSearchIndex = new FlexSearch();
|
||||
for (var i = 0; i < torrents.length; i++){
|
||||
searchResults.push(i);
|
||||
rePaint();
|
||||
torrentSearchIndex.add(i, torrents[i].name);
|
||||
}
|
||||
rePaintUserData();
|
||||
}).catch(function (error) {
|
||||
console.log(error.message);
|
||||
console.log(error.message);
|
||||
});
|
||||
}).catch(function (error) {
|
||||
console.log(error.message);
|
||||
console.log(error.message);
|
||||
});
|
||||
}
|
||||
|
||||
@ -673,7 +716,7 @@ function clearSearch(){
|
||||
4. All user presentation code should strictly be inside the function rePaintUserData()
|
||||
*/
|
||||
|
||||
function rePaintUserData(){
|
||||
function rePaintUserData(){
|
||||
//createUserDiv(baseDivNumber,howManyAdjacentDivs,heightMultiplier)
|
||||
/*
|
||||
//Creates a user div which spans the entire line with id div_overlay_2 which be used to style and put content inside the div. Positioning has been taken care of
|
||||
@ -704,39 +747,12 @@ function clearSearch(){
|
||||
<div>
|
||||
<h1>FLO Torrents </h1>
|
||||
<h3>Created by Ranchi Mall FLO Blockchain contract</h3>
|
||||
<input type="search" id="search" value="${searchKey}" placeholder="Search torrent"/>
|
||||
<button class="btn" onclick="searchTorrents()">
|
||||
<svg width="20px" height="20px" viewBox="0 0 500 500">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M471.882,407.567L360.567,296.243c-16.586,25.795-38.536,47.734-64.331,64.321l111.324,111.324
|
||||
c17.772,17.768,46.587,17.768,64.321,0C489.654,454.149,489.654,425.334,471.882,407.567z"/>
|
||||
<path d="M363.909,181.955C363.909,81.473,282.44,0,181.956,0C81.474,0,0.001,81.473,0.001,181.955s81.473,181.951,181.955,181.951
|
||||
C282.44,363.906,363.909,282.437,363.909,181.955z M181.956,318.416c-75.252,0-136.465-61.208-136.465-136.46
|
||||
c0-75.252,61.213-136.465,136.465-136.465c75.25,0,136.468,61.213,136.468,136.465
|
||||
C318.424,257.208,257.206,318.416,181.956,318.416z"/>
|
||||
<path d="M75.817,181.955h30.322c0-41.803,34.014-75.814,75.816-75.814V75.816C123.438,75.816,75.817,123.437,75.817,181.955z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</button>
|
||||
<button class="btn" onclick="clearSearch()">
|
||||
<svg width="20px" height="20px" viewBox="0 0 500 500">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M405.6,69.6C360.7,24.7,301.1,0,237.6,0s-123.1,24.7-168,69.6S0,174.1,0,237.6s24.7,123.1,69.6,168s104.5,69.6,168,69.6
|
||||
s123.1-24.7,168-69.6s69.6-104.5,69.6-168S450.5,114.5,405.6,69.6z M386.5,386.5c-39.8,39.8-92.7,61.7-148.9,61.7
|
||||
s-109.1-21.9-148.9-61.7c-82.1-82.1-82.1-215.7,0-297.8C128.5,48.9,181.4,27,237.6,27s109.1,21.9,148.9,61.7
|
||||
C468.6,170.8,468.6,304.4,386.5,386.5z"/>
|
||||
<path d="M342.3,132.9c-5.3-5.3-13.8-5.3-19.1,0l-85.6,85.6L152,132.9c-5.3-5.3-13.8-5.3-19.1,0c-5.3,5.3-5.3,13.8,0,19.1
|
||||
l85.6,85.6l-85.6,85.6c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4l85.6-85.6l85.6,85.6c2.6,2.6,6.1,4,9.5,4
|
||||
c3.5,0,6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1l-85.4-85.6l85.6-85.6C347.6,146.7,347.6,138.2,342.3,132.9z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</button>
|
||||
<input type="text" id="searchInput" placeholder="Search torrent"/>
|
||||
</div>`;
|
||||
|
||||
var searchInput = document.getElementById("searchInput");
|
||||
searchInput.addEventListener("input", searchTorrents, true);
|
||||
searchInput.focus();
|
||||
searchInput.value = searchKey;
|
||||
for(var i=0;i<searchResults.length;i++){
|
||||
var j = searchResults[i];
|
||||
var grid = createFlexUserDiv(i+1);
|
||||
@ -782,11 +798,10 @@ anotherDivCleanUp();
|
||||
|
||||
|
||||
//One time tasks not needing repainting
|
||||
oneTimeTasks();
|
||||
|
||||
function oneTimeTasks(){
|
||||
function oneTimeTasks(){
|
||||
createAllBaseDivs(screenAlpha.totalBoxes);
|
||||
userDataNeedingNoRePaint();
|
||||
rePaint();
|
||||
}
|
||||
|
||||
function createAllBaseDivs(totalBoxes){
|
||||
|
||||
Loading…
Reference in New Issue
Block a user