mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
support smol screens
This commit is contained in:
parent
8dca8326f7
commit
592987a54a
|
@ -6,7 +6,7 @@ import time
|
||||||
import socket
|
import socket
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
from .__init__ import E
|
from .__init__ import E, MACOS
|
||||||
from .httpconn import HttpConn
|
from .httpconn import HttpConn
|
||||||
from .authsrv import AuthSrv
|
from .authsrv import AuthSrv
|
||||||
|
|
||||||
|
@ -75,9 +75,11 @@ class HttpSrv(object):
|
||||||
sck.shutdown(socket.SHUT_RDWR)
|
sck.shutdown(socket.SHUT_RDWR)
|
||||||
sck.close()
|
sck.close()
|
||||||
except (OSError, socket.error) as ex:
|
except (OSError, socket.error) as ex:
|
||||||
self.log(
|
if not MACOS:
|
||||||
"%s %s" % addr, "shut_rdwr err:\n {}\n {}".format(repr(sck), ex),
|
self.log(
|
||||||
)
|
"%s %s" % addr,
|
||||||
|
"shut_rdwr err:\n {}\n {}".format(repr(sck), ex),
|
||||||
|
)
|
||||||
if ex.errno not in [10038, 107, 57, 9]:
|
if ex.errno not in [10038, 107, 57, 9]:
|
||||||
# 10038 No longer considered a socket
|
# 10038 No longer considered a socket
|
||||||
# 107 Transport endpoint not connected
|
# 107 Transport endpoint not connected
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
<a id="navtoggle" href="#">hide nav</a>
|
<a id="navtoggle" href="#">hide nav</a>
|
||||||
{%- if edit %}
|
{%- if edit %}
|
||||||
<a id="save" href="?edit">save</a>
|
<a id="save" href="?edit">save</a>
|
||||||
|
<a id="sbs" href="#">sbs</a>
|
||||||
|
<a id="nsbs" href="#">editor</a>
|
||||||
<a id="help" href="#">help</a>
|
<a id="help" href="#">help</a>
|
||||||
{%- else %}
|
{%- else %}
|
||||||
<a href="?edit">edit (basic)</a>
|
<a href="?edit">edit (basic)</a>
|
||||||
|
@ -46,6 +48,16 @@ write markdown (html is permitted)
|
||||||
* `Ctrl-H` / `Ctrl-Shift-H` to create a header
|
* `Ctrl-H` / `Ctrl-Shift-H` to create a header
|
||||||
* `TAB` / `Shift-TAB` to indent/dedent a selection
|
* `TAB` / `Shift-TAB` to indent/dedent a selection
|
||||||
|
|
||||||
|
### toolbar
|
||||||
|
1. toggle dark mode
|
||||||
|
2. show/hide navigation bar
|
||||||
|
3. save changes on server
|
||||||
|
4. side-by-side editing
|
||||||
|
5. toggle editor/preview
|
||||||
|
6. this thing :^)
|
||||||
|
|
||||||
|
.
|
||||||
|
|
||||||
</textarea>
|
</textarea>
|
||||||
</div>
|
</div>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
@ -70,12 +82,10 @@ var last_modified = {{ lastmod }};
|
||||||
toggle();
|
toggle();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
// TODO babel or es5 shims (fix Object.defineProperty too)
|
|
||||||
// https://stackoverflow.com/questions/48803257/
|
|
||||||
if (!String.startsWith) {
|
if (!String.startsWith) {
|
||||||
String.prototype.startsWith = function(search, rawPos) {
|
String.prototype.startsWith = function(s, i) {
|
||||||
var pos = rawPos > 0 ? rawPos|0 : 0;
|
i = i>0 ? i|0 : 0;
|
||||||
return this.substring(pos, pos + search.length) === search;
|
return this.substring(i, i + s.length) === s;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,12 +11,34 @@
|
||||||
#mw {
|
#mw {
|
||||||
left: calc(100% - 57em);
|
left: calc(100% - 57em);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* single-screen */
|
||||||
|
#mtw.preview,
|
||||||
|
#mw.editor {
|
||||||
|
opacity: 0;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
#mw.preview,
|
||||||
|
#mtw.editor {
|
||||||
|
z-index: 3;
|
||||||
|
}
|
||||||
|
#mtw.single,
|
||||||
|
#mw.single {
|
||||||
|
left: calc((100% - 58em) / 2);
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
#mtw.single {
|
||||||
|
width: 57em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#mp {
|
#mp {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
#mt, #mtr {
|
#mt, #mtr {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: calc(100% - 5px);
|
||||||
color: #444;
|
color: #444;
|
||||||
background: #f7f7f7;
|
background: #f7f7f7;
|
||||||
border: 1px solid #999;
|
border: 1px solid #999;
|
||||||
|
@ -56,6 +78,8 @@ html.dark #mt {
|
||||||
border-radius: .4em;
|
border-radius: .4em;
|
||||||
padding: 2em;
|
padding: 2em;
|
||||||
top: 4em;
|
top: 4em;
|
||||||
|
overflow-y: auto;
|
||||||
|
height: calc(100% - 12em);
|
||||||
left: calc(50% - 15em);
|
left: calc(50% - 15em);
|
||||||
right: 0;
|
right: 0;
|
||||||
width: 30em;
|
width: 30em;
|
||||||
|
|
|
@ -4,6 +4,8 @@ var server_md = dom_src.value;
|
||||||
|
|
||||||
// dom nodes
|
// dom nodes
|
||||||
var dom_swrap = document.getElementById('mtw');
|
var dom_swrap = document.getElementById('mtw');
|
||||||
|
var dom_sbs = document.getElementById('sbs');
|
||||||
|
var dom_nsbs = document.getElementById('nsbs');
|
||||||
var dom_ref = (function () {
|
var dom_ref = (function () {
|
||||||
var d = document.createElement('div');
|
var d = document.createElement('div');
|
||||||
d.setAttribute('id', 'mtr');
|
d.setAttribute('id', 'mtr');
|
||||||
|
@ -98,11 +100,26 @@ redraw = (function () {
|
||||||
map_src = genmap(dom_ref);
|
map_src = genmap(dom_ref);
|
||||||
map_pre = genmap(dom_pre);
|
map_pre = genmap(dom_pre);
|
||||||
dbg(document.body.clientWidth + 'x' + document.body.clientHeight);
|
dbg(document.body.clientWidth + 'x' + document.body.clientHeight);
|
||||||
};
|
}
|
||||||
|
function setsbs() {
|
||||||
|
dom_wrap.setAttribute('class', '');
|
||||||
|
dom_swrap.setAttribute('class', '');
|
||||||
|
onresize();
|
||||||
|
}
|
||||||
|
function modetoggle() {
|
||||||
|
mode = dom_nsbs.innerHTML;
|
||||||
|
dom_nsbs.innerHTML = mode == 'editor' ? 'preview' : 'editor';
|
||||||
|
mode += ' single';
|
||||||
|
dom_wrap.setAttribute('class', mode);
|
||||||
|
dom_swrap.setAttribute('class', mode);
|
||||||
|
onresize();
|
||||||
|
}
|
||||||
|
|
||||||
window.onresize = onresize;
|
window.onresize = onresize;
|
||||||
window.onscroll = null;
|
window.onscroll = null;
|
||||||
dom_wrap.onscroll = null;
|
dom_wrap.onscroll = null;
|
||||||
|
dom_sbs.onclick = setsbs;
|
||||||
|
dom_nsbs.onclick = modetoggle;
|
||||||
|
|
||||||
onresize();
|
onresize();
|
||||||
return onresize;
|
return onresize;
|
||||||
|
|
Loading…
Reference in a new issue