diff options
| -rw-r--r-- | lib/db/index.js | 6 | ||||
| -rw-r--r-- | lib/index.js | 7 | ||||
| -rw-r--r-- | public/assets/css/css.css | 11 | ||||
| -rw-r--r-- | public/assets/js/nav.js | 31 |
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 |
