summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJules <jules@asdf.us>2018-03-31 08:56:12 -0400
committerJules <jules@asdf.us>2018-03-31 08:56:12 -0400
commit655b5ddb4aeca5b89d44828e809caa73cdccfd63 (patch)
tree174f1628a44152dbdfea077f174f7b86121d7bda
parentb3c1619d2027939963d4f906e9da40b26e17eee1 (diff)
parenta7eba7c34281e59dcae3a24d4cc73c2148c7d6b7 (diff)
Merge branch 'master' of ghghgh.us:luckyplop
-rw-r--r--lib/db/index.js6
-rw-r--r--lib/index.js7
-rw-r--r--public/assets/css/css.css11
-rw-r--r--public/assets/js/nav.js31
4 files changed, 45 insertions, 10 deletions
diff --git a/lib/db/index.js b/lib/db/index.js
index 93fdd0e..573528d 100644
--- a/lib/db/index.js
+++ b/lib/db/index.js
@@ -4,7 +4,6 @@ var connection = require("./bookshelf")
var bookshelf = connection.bookshelf
var knex = connection.knex
-
/* MODELS */
var Image = db.Image = bookshelf.Model.extend({
@@ -30,6 +29,11 @@ db.getRandom = function () {
qb.orderBy(knex.raw('RAND()')).limit(1)
}).fetch()
}
+db.getRandomAscii = function () {
+ return ShaderImage.query(function(qb){
+ qb.where("tag", "=", "ascii").orderBy(knex.raw('RAND()')).limit(1)
+ }).fetch()
+}
db.getIndex = function(limit, offset) {
return Image.query(function(qb){
qb.orderBy("id", "desc").limit(limit)
diff --git a/lib/index.js b/lib/index.js
index a4e5263..29baa70 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -78,6 +78,12 @@ site.init = function(){
})
})
+ app.get("/p/get/randomascii", function(req, res){
+ db.getRandomAscii().then(function(img){
+ res.json(img)
+ })
+ })
+
/* shaderblaster / asciiblaster apis */
app.post("/cgi-bin/im/shader/upload", multer_upload.single('qqfile'), function(req, res){
var now = Math.floor(Date.now() / 1000)
@@ -112,6 +118,7 @@ site.init = function(){
app.get("/p/:id", function(req, res){
res.sendFile("index.html", {root: './public'})
})
+ app.use('/panke/', express.static(path.join(__dirname, '../public')))
app.use('/p/', express.static(path.join(__dirname, '../public')))
}
diff --git a/public/assets/css/css.css b/public/assets/css/css.css
index b5cc410..4fee1b3 100644
--- a/public/assets/css/css.css
+++ b/public/assets/css/css.css
@@ -177,3 +177,14 @@ marquee {
#luckyimage { background-size: contain; pointer-events: none; position: absolute; }
#mobile_nav { display: block; position: absolute; }
+
+.panke #image,
+.panke #droparea,
+.panke #mobile_nav,
+.panke #spinner {
+ display: none;
+}
+body.panke {
+ background-repeat: no-repeat;
+ background-color: black;
+} \ No newline at end of file
diff --git a/public/assets/js/nav.js b/public/assets/js/nav.js
index a53f6fb..ecbfe6d 100644
--- a/public/assets/js/nav.js
+++ b/public/assets/js/nav.js
@@ -30,14 +30,12 @@ var NavView = View.extend({
return this.fetch(id)
}
}
+ if (window.location.pathname.indexOf("/panke/") !== -1) {
+ document.body.classList.add("panke")
+ setInterval(() => { this.fetchAscii() }, 5000)
+ return this.fetchAscii()
+ }
return this.latest()
-
- $(".prev").on("touchstart", function(){
- console.log("<<<<<PREV")
- })
- $(".prev").on("click", function(){
- console.log("<<<<<CLICKPREV")
- })
},
keydown: function(e){
@@ -84,15 +82,30 @@ var NavView = View.extend({
fetch: function(id){
this.fetching = true
this.onLatest = false
-console.log('fetch', id)
+ console.log('fetch', id)
$.get("/p/get/" + id, function(data){
-console.log(data)
+ console.log(data)
this.fetching = false
this.display(data)
history.pushState(data, document.title, "/p/" + data.id)
}.bind(this))
},
+ fetchAscii: function(){
+ this.fetching = true
+ this.onLatest = false
+ console.log('fetch ascii')
+ $.get("/p/get/randomascii", function(data){
+ console.log(data)
+ var asciiData = {
+ url: "https://s3.amazonaws.com/i.asdf.us/im/" + data.dir + "/" + data.newfile
+ }
+ this.fetching = false
+ this.display(data)
+ // history.pushState(data, document.title, "/p/" + data.id)
+ }.bind(this))
+ },
+
display: function(data){
if (! data || ! data.id) {
this.onLatest = true