From a7b2a2c8929ec1d17939f2527ac6033beeaea9b7 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sat, 31 Mar 2018 14:52:57 +0200 Subject: ascii view --- lib/db/index.js | 6 +++++- lib/index.js | 7 +++++++ public/assets/js/nav.js | 30 +++++++++++++++++++++--------- 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/lib/db/index.js b/lib/db/index.js index b2ea59c..ffd8c27 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 6d07dda..a9db423 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/js/nav.js b/public/assets/js/nav.js index a53f6fb..b6be6b5 100644 --- a/public/assets/js/nav.js +++ b/public/assets/js/nav.js @@ -30,14 +30,11 @@ var NavView = View.extend({ return this.fetch(id) } } + if (window.location.pathname.indexOf("/panke/") !== -1) { + setInterval(() => { this.fetchAscii() }, 5000) + return this.fetchAscii() + } return this.latest() - - $(".prev").on("touchstart", function(){ - console.log("<<<< Date: Sat, 31 Mar 2018 14:54:49 +0200 Subject: nav --- public/assets/css/css.css | 11 +++++++++++ public/assets/js/nav.js | 1 + 2 files changed, 12 insertions(+) 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 b6be6b5..ecbfe6d 100644 --- a/public/assets/js/nav.js +++ b/public/assets/js/nav.js @@ -31,6 +31,7 @@ var NavView = View.extend({ } } if (window.location.pathname.indexOf("/panke/") !== -1) { + document.body.classList.add("panke") setInterval(() => { this.fetchAscii() }, 5000) return this.fetchAscii() } -- cgit v1.2.3-70-g09d2