This commit is contained in:
ed 2021-06-16 00:01:07 +02:00
parent 6f6cc8f3f8
commit f3e413bc28
4 changed files with 2682 additions and 37 deletions

2634
abanadoned/browser.js Normal file

File diff suppressed because it is too large Load diff

View file

@ -628,6 +628,7 @@ input.eq_gain {
box-shadow: 0 .1em .2em #222 inset;
border-radius: .3em;
margin: .2em;
white-space: pre;
position: relative;
top: -.2em;
}

View file

@ -47,10 +47,10 @@
<div id="op_cfg" class="opview opbox opwide">
<h3>switches</h3>
<div>
<a id="tooltips" class="tgl btn" href="#">tooltips</a>
<a id="lightmode" class="tgl btn" href="#">lightmode</a>
<a id="griden" class="tgl btn" href="#">the grid</a>
<a id="thumbs" class="tgl btn" href="#">thumbs</a>
<a id="tooltips" class="tgl btn" href="#"> tooltips</a>
<a id="lightmode" class="tgl btn" href="#">☀️ lightmode</a>
<a id="griden" class="tgl btn" href="#">the grid</a>
<a id="thumbs" class="tgl btn" href="#">🖼️ thumbs</a>
</div>
{%- if have_zip %}
<h3>folder download</h3><div id="arc_fmt"></div>

View file

@ -42,6 +42,39 @@ var have_webp = null;
})();
var mpl = (function () {
ebi('op_player').innerHTML = (
'<h3>audio equalizer</h3><div id="audio_eq"></div>' +
'<h3>playback mode</h3><div id="pb_mode">' +
'<a href="#" class="tgl btn">🔁 loop-folder</a>' +
'<a href="#" class="tgl btn">📂 next-folder</a>' +
'</div>');
var r = {
"pb_mode": sread('pb_mode') || 'loop-folder'
};
function draw_pb_mode() {
var btns = QSA('#pb_mode>a');
for (var a = 0, aa = btns.length; a < aa; a++) {
clmod(btns[a], 'on', btns[a].textContent.indexOf(r.pb_mode) != -1);
btns[a].onclick = set_pb_mode;
}
}
draw_pb_mode();
function set_pb_mode(e) {
ev(e);
r.pb_mode = this.textContent.split(' ').slice(-1)[0];
swrite('pb_mode', r.pb_mode);
draw_pb_mode();
}
return r;
})();
// extract songs + add play column
function MPlayer() {
this.id = Date.now();
@ -50,32 +83,6 @@ function MPlayer() {
this.au_ogvjs = null;
this.tracks = {};
this.order = [];
this.pb_mode = sread('pb_mode') || 'loop-folder';
var r = this;
ebi('op_player').innerHTML = (
'<h3>audio equalizer</h3><div id="audio_eq"></div>' +
'<h3>playback mode</h3><div id="pb_mode">' +
'<a href="#" class="tgl btn">loop-folder</a>' +
'<a href="#" class="tgl btn">next-folder</a>' +
//'<a href="#" class="tgl btn">playlist</a>' +
'</div>');
function draw_pb_mode() {
var btns = QSA('#pb_mode>a');
for (var a = 0, aa = btns.length; a < aa; a++) {
clmod(btns[a], 'on', btns[a].textContent == r.pb_mode);
btns[a].onclick = set_pb_mode;
}
}
draw_pb_mode();
function set_pb_mode(e) {
ev(e);
r.pb_mode = this.textContent;
swrite('pb_mode', r.pb_mode);
draw_pb_mode();
}
var re_audio = /\.(opus|ogg|m4a|aac|mp3|wav|flac)$/i,
trs = QSA('#files tbody tr');
@ -730,20 +737,20 @@ function play(tid, seek, call_depth) {
tn = mp.order.indexOf(tn);
if (tn >= mp.order.length) {
if (mp.pb_mode == 'loop-folder') {
if (mpl.pb_mode == 'loop-folder') {
tn = 0;
}
else if (mp.pb_mode == 'next-folder') {
else if (mpl.pb_mode == 'next-folder') {
treectl.ls_cb = function () { song_skip(1); };
return tree_neigh(1);
}
}
if (tn < 0) {
if (mp.pb_mode == 'loop-folder') {
if (mpl.pb_mode == 'loop-folder') {
tn = mp.order.length - 1;
}
else if (mp.pb_mode == 'next-folder') {
else if (mpl.pb_mode == 'next-folder') {
treectl.ls_cb = function () { song_skip(-1); };
return tree_neigh(-1);
}
@ -1605,6 +1612,11 @@ var treectl = (function () {
onscroll();
}
treectl.goto = function (url, push) {
get_tree("", url, true);
reqls(url, push);
}
function get_tree(top, dst, rst) {
var xhr = new XMLHttpRequest();
xhr.top = top;
@ -1869,9 +1881,7 @@ var treectl = (function () {
return;
var url = new URL(e.state, "https://" + document.location.host);
url = url.pathname;
get_tree("", url, true);
reqls(url);
treectl.goto(url.pathname);
};
if (window.history && history.pushState) {