From 2216758d14aa8d61e2cb99ecf0d25fd5f681a80e Mon Sep 17 00:00:00 2001 From: Linus Miller Date: Thu, 23 Feb 2017 19:27:30 +0100 Subject: [PATCH] Initial commit --- .gitignore | 42 ++++++++++++ .gitmodules | 3 + assets/less/dragula.less | 23 +++++++ assets/less/main.less | 29 ++++++++ client/index.js | 55 ++++++++++++++++ client/master.jsx | 26 ++++++++ client/pages/Error.jsx | 10 +++ gulp | 1 + gulpconfig.js | 51 ++++++++++++++ gulpfile.js | 1 + package.json | 90 +++++++++++++++++++++++++ server/config/dir.js | 7 ++ server/config/error-handler.js | 51 ++++++++++++++ server/config/globals.js | 4 ++ server/config/membership.js | 106 +++++++++++++++++++++++++++++ server/config/port.js | 10 +++ server/config/postgres.js | 16 +++++ server/config/session.js | 38 +++++++++++ server/config/shim.js | 34 ++++++++++ server/config/site.js | 51 ++++++++++++++ server/config/smtp.js | 15 +++++ server/db.js | 6 ++ server/midwest.js | 10 +++ server/render.js | 32 +++++++++ server/routers/api.js | 67 +++++++++++++++++++ server/routers/index.js | 106 +++++++++++++++++++++++++++++ server/server.js | 117 +++++++++++++++++++++++++++++++++ 27 files changed, 1001 insertions(+) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 assets/less/dragula.less create mode 100644 assets/less/main.less create mode 100644 client/index.js create mode 100644 client/master.jsx create mode 100644 client/pages/Error.jsx create mode 160000 gulp create mode 100644 gulpconfig.js create mode 120000 gulpfile.js create mode 100644 package.json create mode 100644 server/config/dir.js create mode 100644 server/config/error-handler.js create mode 100644 server/config/globals.js create mode 100644 server/config/membership.js create mode 100644 server/config/port.js create mode 100644 server/config/postgres.js create mode 100644 server/config/session.js create mode 100644 server/config/shim.js create mode 100644 server/config/site.js create mode 100644 server/config/smtp.js create mode 100644 server/db.js create mode 100644 server/midwest.js create mode 100644 server/render.js create mode 100644 server/routers/api.js create mode 100644 server/routers/index.js create mode 100644 server/server.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0aa8205 --- /dev/null +++ b/.gitignore @@ -0,0 +1,42 @@ +# Logs +logs +*.log + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# NPM Dependency directory +# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git +node_modules + +npm-debug.log + +# Bower dependency directory +bower_components + +.tern-port + +/build + +/dump + +/public + +/server/uploads diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c1c7401 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "gulp"] + path = gulp + url = https://github.com/thebitmill/gulp.git diff --git a/assets/less/dragula.less b/assets/less/dragula.less new file mode 100644 index 0000000..3f81d2b --- /dev/null +++ b/assets/less/dragula.less @@ -0,0 +1,23 @@ +.gu-mirror { + position: fixed !important; + margin: 0 !important; + z-index: 9999 !important; + // opacity: 0.8; + // -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + // filter: alpha(opacity=80); +} +.gu-hide { + display: none !important; +} +.gu-unselectable { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.gu-transit { + display: none !important; + opacity: 0.2; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"; + filter: alpha(opacity=20); +} diff --git a/assets/less/main.less b/assets/less/main.less new file mode 100644 index 0000000..2f548bd --- /dev/null +++ b/assets/less/main.less @@ -0,0 +1,29 @@ +@import "./dragula"; + +div.container { + margin: 0 auto; + display: flex; + > div.location { + width: 100px; + height: 100px; + padding: 40px; + &.over { + > .item { + transform: scale(1.3); + background: blue; + } + } + } +} + +div.item { + transition: all 0.2s; + width: 100px !important; + height: 100px !important; + background: red; + border-radius: 300px; + + display: flex; + justify-content: center; + align-items: center; +} diff --git a/client/index.js b/client/index.js new file mode 100644 index 0000000..e249ade --- /dev/null +++ b/client/index.js @@ -0,0 +1,55 @@ +import { $, $$ } from 'dollr'; +import dragula from 'dragula'; + + +const result = $('pre'); +const containers = $$('.location'); + +const drake = dragula(containers, { + revertOnSpill: true, + // accepts(el, target, source, sibling) { + // // console.log('accepts'); + // // console.log(target); + // return true; + + // } +}); + +drake.on('drop', (el, target, source) => { + drake.cancel(); + + if (target !== source) { + fetch('/api/trip', { + method: 'POST', + headers: { + 'content-type': 'application/json', + accepts: 'application/json', + }, + body: JSON.stringify({ + from: source.dataset.location, + to: target.dataset.location, + }), + }).then((res) => { + return res.json(); + }).then((json) => { + console.log(json); + result.textContent = JSON.stringify(json, null, ' ') + }).catch((err) => { + console.log('error'); + console.log(err); + }); + } +}); + +drake.on('over', (el, target, source) => { + if (target !== source) { + target.classList.add('over'); + } +}); + +drake.on('out', (el, target, source) => { + if (target !== source) { + target.classList.remove('over'); + } +}); + diff --git a/client/master.jsx b/client/master.jsx new file mode 100644 index 0000000..4378d37 --- /dev/null +++ b/client/master.jsx @@ -0,0 +1,26 @@ +import { h } from 'jsx-node'; + +export default ({ articleUrl, protocol, hostname, websocketsPort, INITIAL_STATE, js, css, cssFile }) => { + return '' + ( + + + Journey + + + + + + + +
+
Home
+
Office
+
Brother
+
The Rapist
+
+

+