summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
Diffstat (limited to 'public')
-rw-r--r--public/assets/css/bucky.css103
-rw-r--r--public/assets/js/lib/views/index/threadform.js1
-rw-r--r--public/assets/js/lib/views/search/results.js3
-rw-r--r--public/assets/js/util/format.js7
4 files changed, 78 insertions, 36 deletions
diff --git a/public/assets/css/bucky.css b/public/assets/css/bucky.css
index b8a4d1a..3950585 100644
--- a/public/assets/css/bucky.css
+++ b/public/assets/css/bucky.css
@@ -7,7 +7,7 @@ body {
font-size: 10px;
font-family: Trebuchet MS, Helvetica, Arial, sans-serif;
padding: 20px 30px;
- transition: opacity 200ms;
+ transition: opacity 100ms;
}
body.loading {
opacity: 0;
@@ -202,6 +202,9 @@ table, tr {
color: #444;
text-decoration: none;
}
+.desktop .ledger .row td:nth-child(1) a:hover {
+ text-decoration: underline;
+}
.ledger .row td:nth-child(2) {
text-align: left;
font-family: Georgia, serif;
@@ -225,69 +228,69 @@ table, tr {
}
tr:nth-child(odd).file td { background-color: #e6f0f0; }
-tr:nth-child(odd).file:hover td { background-color: #d8e0ec; color: #000000; }
+.desktop tr:nth-child(odd).file:hover td { background-color: #d8e0ec; color: #000000; }
tr:nth-child(even).file td { background-color: #e0e8e8; }
-tr:nth-child(even).file:hover td { background-color: #d8e0ec; color: #000000; }
+.desktop tr:nth-child(even).file:hover td { background-color: #d8e0ec; color: #000000; }
tr:nth-child(odd) td.row { background-color: #e6f0f0; }
-tr:nth-child(odd) td.row:hover { background-color: #d8e0ec; color: #000000; }
+.desktop tr:nth-child(odd) td.row:hover { background-color: #d8e0ec; color: #000000; }
tr:nth-child(even) td.row { background-color: #e0e8e8; }
-tr:nth-child(even) td.row:hover { background-color: #d8e0ec; color: #000000; }
+.desktop tr:nth-child(even) td.row:hover { background-color: #d8e0ec; color: #000000; }
tr:nth-child(odd) td.plain{ background-color: #d0dBe8; border-bottom: 1px solid #d3d3d0; }
-tr:nth-child(odd) td.plain:hover { background-color: #d7e4f0; color: #000000; border-bottom-color: #d3d3d0; }
+.desktop tr:nth-child(odd) td.plain:hover { background-color: #d7e4f0; color: #000000; border-bottom-color: #d3d3d0; }
tr:nth-child(even) td.plain { background-color: #edf8f6; border-bottom-color: #d3d3d0; }
-tr:nth-child(even) td.plain:hover { background-color: #f3fafa; color: #000000; border-bottom-color: #ded2dd; }
+.desktop tr:nth-child(even) td.plain:hover { background-color: #f3fafa; color: #000000; border-bottom-color: #ded2dd; }
tr:nth-child(odd) td.ivory{ background-color: #e0e0d8; border-bottom-color: #d3d3d0; }
-tr:nth-child(odd) td.ivory:hover { background-color: #f8f0e9; color: #000000; border-bottom-color: #d3d3d0; }
+.desktop tr:nth-child(odd) td.ivory:hover { background-color: #f8f0e9; color: #000000; border-bottom-color: #d3d3d0; }
tr:nth-child(even) td.ivory { background-color: #f0f0ea; border-bottom-color: #d3d3d0; }
-tr:nth-child(even) td.ivory:hover { background-color: #f8f0e9; color: #000000; border-bottom-color: #d3d3d0; }
+.desktop tr:nth-child(even) td.ivory:hover { background-color: #f8f0e9; color: #000000; border-bottom-color: #d3d3d0; }
tr:nth-child(odd) td.tan { background-color: #e1e1bf; border-bottom-color: #ced2cd; }
-tr:nth-child(odd) td.tan:hover { background-color: #f7f6ed; color: #000000; border-bottom-color: #ced2cd; }
+.desktop tr:nth-child(odd) td.tan:hover { background-color: #f7f6ed; color: #000000; border-bottom-color: #ced2cd; }
tr:nth-child(even) td.tan { background-color: #f0eddf; border-bottom-color: #ced2cd; }
-tr:nth-child(even) td.tan:hover { background-color: #f7f6ed; color: #000000; border-bottom-color: #ced2cd; }
+.desktop tr:nth-child(even) td.tan:hover { background-color: #f7f6ed; color: #000000; border-bottom-color: #ced2cd; }
tr:nth-child(odd) td.red { background-color: #fcc7c2; border-bottom-color: #E8B1AC; }
-tr:nth-child(odd) td.red:hover { background-color: #FFACB2; color: #000000; border-bottom-color: #E8B1AC; }
+.desktop tr:nth-child(odd) td.red:hover { background-color: #FFACB2; color: #000000; border-bottom-color: #E8B1AC; }
tr:nth-child(even) td.red { background-color: #fde1df; border-bottom-color: #E8B1AC; }
-tr:nth-child(even) td.red:hover { background-color: #FFACB2; color: #000000; border-bottom-color: #E8B1AC; }
+.desktop tr:nth-child(even) td.red:hover { background-color: #FFACB2; color: #000000; border-bottom-color: #E8B1AC; }
tr:nth-child(odd) td.orange { background-color: #F8E0C6; border-bottom-color: #F5D1AA; }
-tr:nth-child(odd) td.orange:hover{ background-color: #FFD799; color: #000000; border-bottom-color: #F5D1AA; }
+.desktop tr:nth-child(odd) td.orange:hover{ background-color: #FFD799; color: #000000; border-bottom-color: #F5D1AA; }
tr:nth-child(even) td.orange { background-color: #FBEEE1; border-bottom-color: #F5D1AA; }
-tr:nth-child(even) td.orange:hover{ background-color: #FFD799; color: #000000; border-bottom-color: #F5D1AA; }
+.desktop tr:nth-child(even) td.orange:hover{ background-color: #FFD799; color: #000000; border-bottom-color: #F5D1AA; }
tr:nth-child(odd) td.yellow { background-color: #FAFDC2; border-bottom-color: #CED3D2; }
-tr:nth-child(odd) td.yellow:hover{ background-color: #FFF7A8; color: #000000; border-bottom-color: #CED3D2; }
+.desktop tr:nth-child(odd) td.yellow:hover{ background-color: #FFF7A8; color: #000000; border-bottom-color: #CED3D2; }
tr:nth-child(even) td.yellow { background-color: #FDFEDF; border-bottom-color: #CED3D2; }
-tr:nth-child(even) td.yellow:hover{ background-color: #FFF7A8; color: #000000; border-bottom-color: #CED3D2; }
+.desktop tr:nth-child(even) td.yellow:hover{ background-color: #FFF7A8; color: #000000; border-bottom-color: #CED3D2; }
tr:nth-child(odd) td.green { background-color: #E6FFCC; border-bottom-color: #AFD8AB; }
-tr:nth-child(odd) td.green:hover { background-color: #d8F4b4; color: #000000; border-bottom-color: #AFD8AB; }
+.desktop tr:nth-child(odd) td.green:hover { background-color: #d8F4b4; color: #000000; border-bottom-color: #AFD8AB; }
tr:nth-child(even) td.green { background-color: #F0FFE2; border-bottom-color: #AFD8AB; }
-tr:nth-child(even) td.green:hover { background-color: #d4eeb0; color: #000000; border-bottom-color: #AFD8AB; }
+.desktop tr:nth-child(even) td.green:hover { background-color: #d4eeb0; color: #000000; border-bottom-color: #AFD8AB; }
tr:nth-child(odd) td.blue { background-color: #ddE2FF; border-bottom-color: #c9c9F5; }
-tr:nth-child(odd) td.blue:hover { background-color: #cac8fe; color: #000000; border-bottom-color: #c9c9F5; }
+.desktop tr:nth-child(odd) td.blue:hover { background-color: #cac8fe; color: #000000; border-bottom-color: #c9c9F5; }
tr:nth-child(even) td.blue { background-color: #ebefff; border-bottom-color: #c9c9F5; }
-tr:nth-child(even) td.blue:hover { background-color: #cac8fe; color: #000000; border-bottom-color: #c9c9F5; }
+.desktop tr:nth-child(even) td.blue:hover { background-color: #cac8fe; color: #000000; border-bottom-color: #c9c9F5; }
tr:nth-child(odd) td.purple { background-color: #E0CBF4; border-bottom-color: #D6A9EA; }
-tr:nth-child(odd) td.purple:hover{ background-color: #DDB1FF; color: #000000; border-bottom-color: #D6A9EA; }
+.desktop tr:nth-child(odd) td.purple:hover{ background-color: #DDB1FF; color: #000000; border-bottom-color: #D6A9EA; }
tr:nth-child(even) td.purple { background-color: #EFE4F9; border-bottom-color: #D6A9EA; }
-tr:nth-child(even) td.purple:hover{ background-color: #DDB1FF; color: #000000; border-bottom-color: #D6A9EA; }
+.desktop tr:nth-child(even) td.purple:hover{ background-color: #DDB1FF; color: #000000; border-bottom-color: #D6A9EA; }
tr:nth-child(odd) td.pink { background-color: #F1CDE4; border-bottom-color: #E8ABD2; }
-tr:nth-child(odd) td.pink:hover { background-color: #FFAECD; color: #000000; border-bottom-color: #E8ABD2; }
+.desktop tr:nth-child(odd) td.pink:hover { background-color: #FFAECD; color: #000000; border-bottom-color: #E8ABD2; }
tr:nth-child(even) td.pink { background-color: #F8E5F1; border-bottom-color: #E8ABD2; }
-tr:nth-child(even) td.pink:hover { background-color: #FFAECD; color: #000000; border-bottom-color: #E8ABD2; }
+.desktop tr:nth-child(even) td.pink:hover { background-color: #FFAECD; color: #000000; border-bottom-color: #E8ABD2; }
tr:nth-child(odd) td.black { background-color: #ccc; border-bottom-color: #aaa; }
-tr:nth-child(odd) td.black:hover { background-color: #f8f8f8; color: #000000; border-bottom-color: #aaa; }
+.desktop tr:nth-child(odd) td.black:hover { background-color: #f8f8f8; color: #000000; border-bottom-color: #aaa; }
tr:nth-child(even) td.black { background-color: #eee; border-bottom-color: #aaa; }
-tr:nth-child(even) td.black:hover { background-color: #f8f8f8; color: #000000; border-bottom-color: #aaa; }
+.desktop tr:nth-child(even) td.black:hover { background-color: #f8f8f8; color: #000000; border-bottom-color: #aaa; }
.new { color: #000000; font-weight: bold; }
.recent { color: #001111; }
@@ -314,7 +317,7 @@ tr:nth-child(even) td.black:hover { background-color: #f8f8f8; color: #000000;
}
.comment {
- padding: 8px 8px 8px 8px;
+ padding: 10px;
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
@@ -345,16 +348,37 @@ tr:nth-child(even) td.black:hover { background-color: #f8f8f8; color: #000000;
}
.comment div {
font-size: 12px;
- padding-top: 3px;
- padding-bottom: 20px;
+ padding-top: 0px;
+ padding-bottom: 3px;
}
-.comment .date {
+.comment .edit-links {
float: right;
}
+.comment .date,
.comment .edit-links {
+ color: #d8cfcf;
+ opacity: 0;
+ transition: opacity 0.1s;
+}
+.desktop .comment:hover .date,
+.mobile .date,
+.desktop .comment:hover .edit-links,
+.mobile .edit-links {
+ opacity: 1;
+}
+.edit-links {
+}
+.comment .edit-links a {
+ color: #8f8ff8;
+}
+.desktop .comment .edit-links a:hover {
+ color: #11f;
}
-tr:nth-child(even) td.comment { background-color: #f3f1f2; }
-tr:nth-child(odd) td.comment { background-color: #fcf8f8; }
+.comment img {
+ max-width: 100%;
+}
+tr:nth-child(2n) td.comment { background-color: #f3f1f2; }
+tr:nth-child(2n+1) td.comment { background-color: #fcf8f8; }
code {
display: block;
@@ -442,7 +466,8 @@ code br {
opacity: 1;
}
-#files, #files tr {
+#files,
+#files tr {
margin: 0; padding: 0;
border-spacing: 0;
}
@@ -451,7 +476,7 @@ code br {
margin-bottom: 10px;
}
#files td {
- padding: 3px 3px;
+ padding: 5px;
font-size: 11px;
}
#files td:first-child {
@@ -459,12 +484,15 @@ code br {
}
#files td:first-child a {
display: block;
- padding: 3px;
+ padding: 5px;
}
#files .user a {
text-decoration: none;
color: #333;
}
+.desktop #files user a:hover {
+ text-decoration: underline;
+}
#files td:first-child {
text-align: left;
}
@@ -478,6 +506,9 @@ code br {
#files .playing:before {
content: "> ";
}
+#files tr.total td:first-child {
+ padding: 5px;
+}
#gallery {
width: 100%;
diff --git a/public/assets/js/lib/views/index/threadform.js b/public/assets/js/lib/views/index/threadform.js
index 0fd149c..7a8e8ed 100644
--- a/public/assets/js/lib/views/index/threadform.js
+++ b/public/assets/js/lib/views/index/threadform.js
@@ -28,6 +28,7 @@ var ThreadForm = FormView.extend({
})
var sorted = Object.keys(tags).sort().map(kw => tags[kw])
this.$('[name=keyword]').append(sorted)
+ $("body").removeClass('loading')
}.bind(this))
},
diff --git a/public/assets/js/lib/views/search/results.js b/public/assets/js/lib/views/search/results.js
index d01db96..885d3b7 100644
--- a/public/assets/js/lib/views/search/results.js
+++ b/public/assets/js/lib/views/search/results.js
@@ -35,6 +35,9 @@ var SearchResults = View.extend({
this.$(".next_page").toggle(res.meta.start + res.meta.limit > res.meta.count)
this.$(".next_page").attr("href", querystring(next_page))
res.results.forEach((result) => {
+ if (! result.thread) {
+ return
+ }
var image
if (result.file && is_image(result.file.filename)) {
image = result.file
diff --git a/public/assets/js/util/format.js b/public/assets/js/util/format.js
index a185b33..bfabfc3 100644
--- a/public/assets/js/util/format.js
+++ b/public/assets/js/util/format.js
@@ -1,3 +1,10 @@
+var is_iphone = (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))
+var is_ipad = (navigator.userAgent.match(/iPad/i))
+var is_android = (navigator.userAgent.match(/Android/i))
+var is_mobile = is_iphone || is_ipad || is_android
+var is_desktop = ! is_mobile;
+document.body.classList.add(is_desktop ? 'desktop' : 'mobile');
+
function commatize (n) {
var nums = [], i, counter = 0, r = Math.floor
if (n > 1024) {