Moved embed.html to handlebars-file, and fixed toast-wordbreaks

This commit is contained in:
Kasper Rynning-Tønnesen
2018-03-04 20:13:07 +01:00
parent e3469875c2
commit a34f7570cc
10 changed files with 319 additions and 263 deletions

256
package-lock.json generated
View File

@@ -13,7 +13,8 @@
}
},
"after": {
"version": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
"integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8="
},
"ajv": {
@@ -87,8 +88,9 @@
"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
},
"arraybuffer.slice": {
"version": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
"integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco="
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
"integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog=="
},
"asap": {
"version": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
@@ -114,6 +116,11 @@
"version": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
},
"async-limiter": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
},
"asynckit": {
"version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
@@ -127,7 +134,8 @@
"integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
},
"backo2": {
"version": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
"integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc="
},
"bad-words": {
@@ -146,11 +154,13 @@
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"base64-arraybuffer": {
"version": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
"integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg="
},
"base64id": {
"version": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
"integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY="
},
"bcrypt-nodejs": {
@@ -171,10 +181,11 @@
"integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak="
},
"better-assert": {
"version": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
"integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
"requires": {
"callsite": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz"
"callsite": "1.0.0"
}
},
"bignumber.js": {
@@ -183,7 +194,8 @@
"integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg="
},
"blob": {
"version": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
"integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE="
},
"bluebird": {
@@ -254,7 +266,8 @@
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
},
"callsite": {
"version": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
"integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA="
},
"camelcase": {
@@ -334,15 +347,18 @@
}
},
"component-bind": {
"version": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
"integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E="
},
"component-emitter": {
"version": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
},
"component-inherit": {
"version": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
"integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM="
},
"concat-map": {
@@ -536,54 +552,67 @@
}
},
"engine.io": {
"version": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.2.tgz",
"integrity": "sha1-AKP2pAVLsaB5WAdLEFh2Te7bfYo=",
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz",
"integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==",
"requires": {
"accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
"base64id": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
"accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
"base64id": "1.0.0",
"cookie": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
"debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"engine.io-parser": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.1.tgz",
"uws": "https://registry.npmjs.org/uws/-/uws-0.14.5.tgz",
"ws": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz"
"debug": "3.1.0",
"engine.io-parser": "2.1.2",
"uws": "9.14.0",
"ws": "3.3.3"
},
"dependencies": {
"accepts": {
"version": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
"integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
"negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"
"ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
}
}
},
"engine.io-client": {
"version": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.2.tgz",
"integrity": "sha1-YqDvCOyD0WoGZozMOk83kWdoprk=",
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.5.tgz",
"integrity": "sha512-Rv9vgb83zrNVhRircUXHi4mtbJhgy2oWtJOCZEbCLFs2HiDSWmh/aOEj8TwoKsn8zXGqTuQuPSoU4v3E10bR6A==",
"requires": {
"component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"component-inherit": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
"debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"engine.io-parser": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.1.tgz",
"has-cors": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
"indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
"parseqs": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
"parseuri": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
"ws": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz",
"xmlhttprequest-ssl": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
"yeast": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz"
"component-emitter": "1.2.1",
"component-inherit": "0.0.3",
"debug": "3.1.0",
"engine.io-parser": "2.1.2",
"has-cors": "1.1.0",
"indexof": "0.0.1",
"parseqs": "0.0.5",
"parseuri": "0.0.5",
"ws": "3.3.3",
"xmlhttprequest-ssl": "1.5.5",
"yeast": "0.1.2"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
}
}
},
"engine.io-parser": {
"version": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.1.tgz",
"integrity": "sha1-4Ps/DgRi9/WLt3waUun1p+JuRmg=",
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
"integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==",
"requires": {
"after": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
"arraybuffer.slice": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
"base64-arraybuffer": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
"blob": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
"has-binary2": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz"
"after": "0.8.2",
"arraybuffer.slice": "0.0.7",
"base64-arraybuffer": "0.1.5",
"blob": "0.0.4",
"has-binary2": "1.0.2"
}
},
"es6-promise": {
@@ -1332,20 +1361,23 @@
}
},
"has-binary2": {
"version": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
"integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=",
"requires": {
"isarray": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz"
"isarray": "2.0.1"
},
"dependencies": {
"isarray": {
"version": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
"integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4="
}
}
},
"has-cors": {
"version": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
"integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
},
"has-gulplog": {
@@ -1405,7 +1437,8 @@
"integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs="
},
"indexof": {
"version": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
},
"inflight": {
@@ -2109,7 +2142,8 @@
"integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I="
},
"object-component": {
"version": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
"integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE="
},
"object-keys": {
@@ -2275,17 +2309,19 @@
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY="
},
"parseqs": {
"version": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
"integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
"requires": {
"better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
"better-assert": "1.0.2"
}
},
"parseuri": {
"version": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
"integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
"requires": {
"better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
"better-assert": "1.0.2"
}
},
"parseurl": {
@@ -2656,21 +2692,15 @@
}
},
"socket.io": {
"version": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.3.tgz",
"integrity": "sha1-Q1nwaiSTOua9CHeYr3jGgOrjReM=",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz",
"integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=",
"requires": {
"debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"engine.io": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.2.tgz",
"object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"engine.io": "3.1.5",
"socket.io-adapter": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
"socket.io-client": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.3.tgz",
"socket.io-parser": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz"
},
"dependencies": {
"object-assign": {
"version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
}
"socket.io-client": "2.0.4",
"socket.io-parser": "3.1.3"
}
},
"socket.io-adapter": {
@@ -2678,36 +2708,47 @@
"integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs="
},
"socket.io-client": {
"version": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.3.tgz",
"integrity": "sha1-bK9K/5+FsZ/ZG2zhPWmttWT4hzs=",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz",
"integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=",
"requires": {
"backo2": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
"base64-arraybuffer": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
"component-bind": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
"component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"backo2": "1.0.2",
"base64-arraybuffer": "0.1.5",
"component-bind": "1.0.0",
"component-emitter": "1.2.1",
"debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"engine.io-client": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.2.tgz",
"has-cors": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
"indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
"object-component": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
"parseqs": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
"parseuri": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
"socket.io-parser": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz",
"to-array": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz"
"engine.io-client": "3.1.5",
"has-cors": "1.1.0",
"indexof": "0.0.1",
"object-component": "0.0.3",
"parseqs": "0.0.5",
"parseuri": "0.0.5",
"socket.io-parser": "3.1.3",
"to-array": "0.1.4"
}
},
"socket.io-parser": {
"version": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz",
"integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=",
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz",
"integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==",
"requires": {
"component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"has-binary2": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
"isarray": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz"
"component-emitter": "1.2.1",
"debug": "3.1.0",
"has-binary2": "1.0.2",
"isarray": "2.0.1"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"isarray": {
"version": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
"integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4="
}
}
@@ -2862,7 +2903,8 @@
"integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g="
},
"to-array": {
"version": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
"integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA="
},
"to-mongodb-core": {
@@ -2929,8 +2971,9 @@
"integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I="
},
"ultron": {
"version": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz",
"integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ="
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
"integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
},
"unc-path-regex": {
"version": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
@@ -2991,8 +3034,9 @@
"integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ="
},
"uws": {
"version": "https://registry.npmjs.org/uws/-/uws-0.14.5.tgz",
"integrity": "sha1-Z6rzPEaypYel9mZtAPdpEyjxSdw=",
"version": "9.14.0",
"resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz",
"integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==",
"optional": true
},
"v8flags": {
@@ -3095,17 +3139,13 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"ws": {
"version": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz",
"integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=",
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
"integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
"requires": {
"safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
"ultron": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz"
},
"dependencies": {
"safe-buffer": {
"version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
"integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c="
}
"async-limiter": "1.0.0",
"safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"ultron": "1.1.1"
}
},
"xhr": {
@@ -3139,8 +3179,9 @@
"integrity": "sha1-UZy0ymhtAFqEINNJbz8MruzKWA8="
},
"xmlhttprequest-ssl": {
"version": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
"integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0="
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
"integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4="
},
"xtend": {
"version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
@@ -3157,7 +3198,8 @@
}
},
"yeast": {
"version": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
"integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk="
}
}

View File

@@ -57,7 +57,7 @@
"passport-local": "^1.0.0",
"redis": "^2.8.0",
"request": "^2.72.0",
"socket.io": "^2.0.3",
"socket.io": "^2.0.4",
"socket.io-redis": "^5.2.0",
"sticky-session": "^1.1.2",
"uniqid": "^4.1.1",

View File

@@ -1389,6 +1389,7 @@ margin:-1px;
}
.toast {
word-break: normal;
cursor: pointer;
}

View File

@@ -1,104 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Embedded Zoff</title>
<meta name="author" content="Nicolas 'Nixo' Almagro Tonne &amp; Kasper 'KasperRT' Rynning-Tønnesen"/>
<meta name="description" content="The Shared (free) YouTube radio. Being built around the YouTube search and video API it enables the creation of collaborative and shared live playlists, with billions of videos and songs to choose from, all for free and without registration. Enjoy!"/>
<meta charset="UTF-8"/>
<link type="text/css" rel="stylesheet" href="/assets/css/materialize.min.css" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
<script type="text/javascript" src="/assets/dist/lib/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js"></script>
<link type="text/css" rel="stylesheet" href="/assets/css/embed.css" />
<script src="/assets/dist/embed.min.js"></script>
</head>
<body class="noselect">
<div id="locked_channel" class="modal">
<div class="modal-content">
<h5>Locked Channel</h5>
<p>This channel has a password, and can't be accessed in embedded mode.</p>
</div>
<div class="modal-footer">
</div>
</div>
<div id="song-title"></div>
<div id="container" style="display:inline-flex;">
<div id="player-container">
<div id="player"></div>
<div id="zoffbutton" title="Visit the channel!"></div>
<div id="controls" class="noselect">
<div id="playpause">
<i id="play" class="material-icons hide">play_arrow</i>
<i id="pause" class="material-icons">pause</i>
</div>
<div id="duration">00:00 / 00:00</div>
<div id="volume-button">
<i id="v-mute" class="mdi-av-volume-off"></i>
<i id="v-low" class="mdi-av-volume-mute"></i>
<i id="v-medium" class="mdi-av-volume-down"></i>
<i id="v-full" class="mdi-av-volume-up"></i>
</div>
<div id="volume"></div>
<div id="viewers"></div>
<div id="bar"></div>
</div>
</div>
<div id="playlist">
<div id="wrapper">
<div id="preloader" class="progress channel_preloader">
<div class="indeterminate"></div>
</div>
<div id="list-song-html">
<div id="list-song" class="card left-align list-song waves-effect waves-light playlist-element">
<div class="clickable vote-container" title="Vote!">
<a class="clickable center-align votebg">
<span class="lazy card-image cardbg list-image" style="background-image:url('/assets/images/loading.png');">
</span>
<span class="card-duration">
01:00
</span>
</a>
<span class="card-content">
<span class="flow-text truncate list-title"></span>
<span class="vote-span">
<span class="list-votes"></span>
<span class="highlighted vote-text">&nbsp;votes</span>
</span>
</span>
</div>
</div>
</div>
</div>
<div id="pageButtons" class="hide">
<span class="first_page_hide btn-flat disabled">
<i class="material-icons">first_page</i>
</span>
<a class="first_page waves-effect waves-light btn-flat">
<i class="material-icons">first_page</i>
</a>
<span class="prev_page_hide btn-flat disabled">
<i class="material-icons">navigate_before</i> prev
</span>
<a class="prev_page waves-effect waves-light btn-flat">
<i class="material-icons">navigate_before</i> prev
</a>
<span id="pageNumber">1</span>
<a class="next_page waves-effect waves-light btn-flat">
next <i class="material-icons">navigate_next</i>
</a>
<span class="next_page_hide btn-flat disabled">
next <i class="material-icons">navigate_next</i>
</span>
<a class="last_page waves-effect waves-light btn-flat">
<i class="material-icons">last_page</i>
</a>
<span class="last_page_hide btn-flat disabled">
<i class="material-icons">last_page</i>
</span>
</div>
</div>
</div>
</body>
</html>

View File

@@ -463,7 +463,7 @@ var Frontpage = {
if(!localStorage.ok_cookie){
before_toast();
Materialize.toast("We're using cookies to enhance your experience! <a class='waves-effect waves-light btn light-green' href='#' id='cookieok' style='cursor:pointer;pointer-events:all;'> ok</a>", 10000);
Materialize.toast("We're using cookies to enhance your experience! <a class='waves-effect waves-light btn light-green' href='#' id='cookieok' style='cursor:pointer;pointer-events:all;margin-left:10px;'> ok</a>", 10000);
}
var pad = 0;

View File

@@ -491,7 +491,8 @@ $(document).on("click", "#playpause-overlay", function(){
}
});
$(document).on('click', '#cookieok', function() {
$(document).on('click', '#cookieok', function(e) {
e.preventDefault();
$(this).fadeOut(function(){
$(this).remove();
localStorage.ok_cookie = true;

View File

@@ -26,7 +26,7 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://zoff.me/assets/css/style.css" title="Default" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.slim.js"></script>
<script type="text/javascript" src="/assets/admin/{{{where_get}}}/js/main.js"></script>
<style>
.preloader-wrapper {

View File

@@ -0,0 +1,85 @@
<div id="locked_channel" class="modal">
<div class="modal-content">
<h5>Locked Channel</h5>
<p>This channel has a password, and can't be accessed in embedded mode.</p>
</div>
<div class="modal-footer">
</div>
</div>
<div id="song-title"></div>
<div id="container" style="display:inline-flex;">
<div id="player-container">
<div id="player"></div>
<div id="zoffbutton" title="Visit the channel!"></div>
<div id="controls" class="noselect">
<div id="playpause">
<i id="play" class="material-icons hide">play_arrow</i>
<i id="pause" class="material-icons">pause</i>
</div>
<div id="duration">00:00 / 00:00</div>
<div id="volume-button">
<i id="v-mute" class="mdi-av-volume-off"></i>
<i id="v-low" class="mdi-av-volume-mute"></i>
<i id="v-medium" class="mdi-av-volume-down"></i>
<i id="v-full" class="mdi-av-volume-up"></i>
</div>
<div id="volume"></div>
<div id="viewers"></div>
<div id="bar"></div>
</div>
</div>
<div id="playlist">
<div id="wrapper">
<div id="preloader" class="progress channel_preloader">
<div class="indeterminate"></div>
</div>
<div id="list-song-html">
<div id="list-song" class="card left-align list-song waves-effect waves-light playlist-element">
<div class="clickable vote-container" title="Vote!">
<a class="clickable center-align votebg">
<span class="lazy card-image cardbg list-image" style="background-image:url('/assets/images/loading.png');">
</span>
<span class="card-duration">
01:00
</span>
</a>
<span class="card-content">
<span class="flow-text truncate list-title"></span>
<span class="vote-span">
<span class="list-votes"></span>
<span class="highlighted vote-text">&nbsp;votes</span>
</span>
</span>
</div>
</div>
</div>
</div>
<div id="pageButtons" class="hide">
<span class="first_page_hide btn-flat disabled">
<i class="material-icons">first_page</i>
</span>
<a class="first_page waves-effect waves-light btn-flat">
<i class="material-icons">first_page</i>
</a>
<span class="prev_page_hide btn-flat disabled">
<i class="material-icons">navigate_before</i> prev
</span>
<a class="prev_page waves-effect waves-light btn-flat">
<i class="material-icons">navigate_before</i> prev
</a>
<span id="pageNumber">1</span>
<a class="next_page waves-effect waves-light btn-flat">
next <i class="material-icons">navigate_next</i>
</a>
<span class="next_page_hide btn-flat disabled">
next <i class="material-icons">navigate_next</i>
</span>
<a class="last_page waves-effect waves-light btn-flat">
<i class="material-icons">last_page</i>
</a>
<span class="last_page_hide btn-flat disabled">
<i class="material-icons">last_page</i>
</span>
</div>
</div>
</div>

View File

@@ -23,16 +23,28 @@
<meta property="og:type" content="website"/>
<meta property="fb:app_id" content="1581693815380949" />
<link rel="manifest" href="/assets/manifest.json">
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.min.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
{{#if embed}}
{{else}}
<link type="text/css" rel="stylesheet" href="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/spectrum/1.8.0/spectrum.min.css">
<link rel="stylesheet" type="text/css" href="/assets/css/style.css" title="Default" />
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/images/favicon-32x32.png">
<link rel="icon" id="favicon" type="image/png" sizes="16x16" href="/assets/images/favicon-16x16.png">
<link rel="mask-icon" href="/assets/images/safari-pinned-tab.svg" color="#2d2d2d">
{{/if}}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css">
<link rel="stylesheet" type="text/css" href="/assets/css/{{stylesheet}}" title="Default" />
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.slim.js"></script>
<script type="text/javascript" src="/assets/dist/lib/jquery-ui.min.js"></script>
{{#if embed}}
{{else}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/spectrum/1.8.0/spectrum.min.js"></script>
<script type="text/javascript" src="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.js"></script>
<script type="text/javascript" src="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.ui.position.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>
<script type="text/javascript">
if(window.location.hostname != "localhost") {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
@@ -47,22 +59,17 @@
}
}
</script>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
<script type="text/javascript" src="/assets/dist/lib/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.js"></script>
<script type="text/javascript" src="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.ui.position.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/spectrum/1.8.0/spectrum.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/color-thief/2.0.1/color-thief.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/sha256.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
<script type="text/javascript" src="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"></script>
{{/if}}
<script async type="text/javascript" src="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"></script>
<script type="text/javascript" src="/assets/dist/{{javascript_file}}"></script>
</head>
<body class="noselect">
{{{body}}}
{{#if embed}}
{{else}}
<div class="tap-target" data-activates="castButton">
<div class="tap-target-content">
<h5>Chromecast</h5>
@@ -77,5 +84,6 @@
{{> donate}}
{{> footer}}
<textarea class="copy_video_id" style="display:none;"></textarea>
{{/if}}
</body>
</html>

View File

@@ -60,6 +60,8 @@ router.route('/api/apply/:id').get(function(req,res) {
activated: true,
token: result[0].token,
correct: true,
stylesheet: "style.css",
embed: false,
}
res.render('layouts/client/token', data);
});
@@ -73,6 +75,8 @@ router.route('/api/apply/:id').get(function(req,res) {
activated: false,
token:"",
correct: false,
stylesheet: "style.css",
embed: false,
}
res.render('layouts/client/token', data);
}
@@ -89,6 +93,8 @@ router.route('/api/apply').get(function(req, res, next) {
activated: false,
id: "",
correct: false,
stylesheet: "style.css",
embed: false,
}
res.render('layouts/client/token', data);
});
@@ -106,7 +112,9 @@ function root(req, res, next) {
year: year,
javascript_file: "remote.min.js",
captcha: res.recaptcha,
analytics: analytics
analytics: analytics,
stylesheet: "style.css",
embed: false,
}
res.render('layouts/client/remote', data);
} else if(subdomain[0] == "www") {
@@ -116,7 +124,9 @@ function root(req, res, next) {
year: year,
javascript_file: "main.min.js",
captcha: res.recaptcha,
analytics: analytics
analytics: analytics,
stylesheet: "style.css",
embed: false,
}
res.render('layouts/client/frontpage', data);
}
@@ -139,14 +149,25 @@ function channel(req, res, next) {
year: year,
javascript_file: "remote.min.js",
captcha: res.recaptcha,
analytics: analytics
analytics: analytics,
stylesheet: "style.css",
embed: false,
}
res.render('layouts/client/remote', data);
} else if(subdomain.length >= 2 && subdomain[0] == "www") {
res.redirect("https://zoff.me");
} else {
if(req.params.channel_name == "_embed") {
res.sendFile(path.join(pathThumbnails, '/public/assets/html/embed.html'));
//res.sendFile(path.join(pathThumbnails, '/public/assets/html/embed.html'));
var data = {
year: year,
javascript_file: "embed.min.js",
captcha: res.recaptcha,
analytics: analytics,
stylesheet: "embed.css",
embed: true,
}
res.render('layouts/client/embed', data);
} else if(req.params.channel_name == "o_callback") {
res.sendFile(path.join(pathThumbnails, '/public/assets/html/callback.html'));
} else {
@@ -156,7 +177,9 @@ function channel(req, res, next) {
year: year,
javascript_file: "main.min.js",
captcha: res.recaptcha,
analytics: analytics
analytics: analytics,
stylesheet: "style.css",
embed: false,
}