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; box-shadow: 0 .1em .2em #222 inset;
border-radius: .3em; border-radius: .3em;
margin: .2em; margin: .2em;
white-space: pre;
position: relative; position: relative;
top: -.2em; top: -.2em;
} }

View file

@ -47,10 +47,10 @@
<div id="op_cfg" class="opview opbox opwide"> <div id="op_cfg" class="opview opbox opwide">
<h3>switches</h3> <h3>switches</h3>
<div> <div>
<a id="tooltips" class="tgl btn" href="#">tooltips</a> <a id="tooltips" class="tgl btn" href="#"> tooltips</a>
<a id="lightmode" class="tgl btn" href="#">lightmode</a> <a id="lightmode" class="tgl btn" href="#">☀️ lightmode</a>
<a id="griden" class="tgl btn" href="#">the grid</a> <a id="griden" class="tgl btn" href="#">the grid</a>
<a id="thumbs" class="tgl btn" href="#">thumbs</a> <a id="thumbs" class="tgl btn" href="#">🖼️ thumbs</a>
</div> </div>
{%- if have_zip %} {%- if have_zip %}
<h3>folder download</h3><div id="arc_fmt"></div> <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 // extract songs + add play column
function MPlayer() { function MPlayer() {
this.id = Date.now(); this.id = Date.now();
@ -50,32 +83,6 @@ function MPlayer() {
this.au_ogvjs = null; this.au_ogvjs = null;
this.tracks = {}; this.tracks = {};
this.order = []; 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, var re_audio = /\.(opus|ogg|m4a|aac|mp3|wav|flac)$/i,
trs = QSA('#files tbody tr'); trs = QSA('#files tbody tr');
@ -730,20 +737,20 @@ function play(tid, seek, call_depth) {
tn = mp.order.indexOf(tn); tn = mp.order.indexOf(tn);
if (tn >= mp.order.length) { if (tn >= mp.order.length) {
if (mp.pb_mode == 'loop-folder') { if (mpl.pb_mode == 'loop-folder') {
tn = 0; tn = 0;
} }
else if (mp.pb_mode == 'next-folder') { else if (mpl.pb_mode == 'next-folder') {
treectl.ls_cb = function () { song_skip(1); }; treectl.ls_cb = function () { song_skip(1); };
return tree_neigh(1); return tree_neigh(1);
} }
} }
if (tn < 0) { if (tn < 0) {
if (mp.pb_mode == 'loop-folder') { if (mpl.pb_mode == 'loop-folder') {
tn = mp.order.length - 1; 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); }; treectl.ls_cb = function () { song_skip(-1); };
return tree_neigh(-1); return tree_neigh(-1);
} }
@ -1605,6 +1612,11 @@ var treectl = (function () {
onscroll(); onscroll();
} }
treectl.goto = function (url, push) {
get_tree("", url, true);
reqls(url, push);
}
function get_tree(top, dst, rst) { function get_tree(top, dst, rst) {
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
xhr.top = top; xhr.top = top;
@ -1869,9 +1881,7 @@ var treectl = (function () {
return; return;
var url = new URL(e.state, "https://" + document.location.host); var url = new URL(e.state, "https://" + document.location.host);
url = url.pathname; treectl.goto(url.pathname);
get_tree("", url, true);
reqls(url);
}; };
if (window.history && history.pushState) { if (window.history && history.pushState) {