New theme - better look&feel

This commit is contained in:
Axel de Vignon 2019-10-03 16:00:46 +02:00
parent 5835c4a735
commit 7583c3f1a6
No known key found for this signature in database
GPG key ID: 9A6744F71A14F80F
14 changed files with 10298 additions and 24721 deletions

View file

@ -6,33 +6,6 @@ APP_LOG_LEVEL=debug
APP_URL=http://localhost APP_URL=http://localhost
TIMEZONE=Europe/London TIMEZONE=Europe/London
LOCALE=en LOCALE=en
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
STORAGE_PATH=. STORAGE_PATH=.
UPLOAD_MAX_FILESIZE=50M UPLOAD_MAX_FILESIZE=50M
UPLOAD_LIMIT_IPS=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=

View file

@ -10,7 +10,6 @@ class WebController extends Controller
{ {
function homepage(Request $request) function homepage(Request $request)
{ {
if (Upload::canUpload($request->ip()) !== true) { if (Upload::canUpload($request->ip()) !== true) {
return view('cannotupload', [ return view('cannotupload', [
'u' => $request->get('u') 'u' => $request->get('u')

18969
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,21 +1,32 @@
{ {
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "npm run development", "dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll", "watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production", "prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
}, },
"devDependencies": { "devDependencies": {
"laravel-mix": "^5.0.0" "axios": "^0.19",
}, "bootstrap": "^4.1.0",
"dependencies": { "cross-env": "^5.1",
"clipboard": "^1.7.1", "jquery": "^3.2",
"cross-env": "^3.2.3", "laravel-mix": "^4.0.7",
"dropzone": "^5.1.1", "lodash": "^4.17.13",
"jquery": "^3.2.1" "popper.js": "^1.12",
} "resolve-url-loader": "^2.3.1",
"sass": "^1.15.2",
"sass-loader": "^7.1.0",
"vue": "^2.5.17",
"vue-template-compiler": "^2.6.10"
},
"dependencies": {
"clipboard": "^1.7.1",
"cross-env": "^3.2.3",
"dropzone": "^5.1.1",
"jquery": "^3.2.1"
}
} }

105
public/css/app.css vendored

File diff suppressed because one or more lines are too long

BIN
public/img/background.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 MiB

139
public/js/app.js vendored

File diff suppressed because one or more lines are too long

147
public/js/manifest.js vendored
View file

@ -1,14 +1,18 @@
/******/ (function(modules) { // webpackBootstrap /******/ (function(modules) { // webpackBootstrap
/******/ // install a JSONP callback for chunk loading /******/ // install a JSONP callback for chunk loading
/******/ var parentJsonpFunction = window["webpackJsonp"]; /******/ function webpackJsonpCallback(data) {
/******/ window["webpackJsonp"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) { /******/ var chunkIds = data[0];
/******/ var moreModules = data[1];
/******/ var executeModules = data[2];
/******/
/******/ // add "moreModules" to the modules object, /******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback /******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0, resolves = [], result; /******/ var moduleId, chunkId, i = 0, resolves = [];
/******/ for(;i < chunkIds.length; i++) { /******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i]; /******/ chunkId = chunkIds[i];
/******/ if(installedChunks[chunkId]) /******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ resolves.push(installedChunks[chunkId][0]); /******/ resolves.push(installedChunks[chunkId][0]);
/******/ }
/******/ installedChunks[chunkId] = 0; /******/ installedChunks[chunkId] = 0;
/******/ } /******/ }
/******/ for(moduleId in moreModules) { /******/ for(moduleId in moreModules) {
@ -16,32 +20,55 @@
/******/ modules[moduleId] = moreModules[moduleId]; /******/ modules[moduleId] = moreModules[moduleId];
/******/ } /******/ }
/******/ } /******/ }
/******/ if(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules); /******/ if(parentJsonpFunction) parentJsonpFunction(data);
/******/ while(resolves.length) /******/
/******/ while(resolves.length) {
/******/ resolves.shift()(); /******/ resolves.shift()();
/******/ if(executeModules) { /******/ }
/******/ for(i=0; i < executeModules.length; i++) { /******/
/******/ result = __webpack_require__(__webpack_require__.s = executeModules[i]); /******/ // add entry modules from loaded chunk to deferred list
/******/ deferredModules.push.apply(deferredModules, executeModules || []);
/******/
/******/ // run deferred modules when all chunks ready
/******/ return checkDeferredModules();
/******/ };
/******/ function checkDeferredModules() {
/******/ var result;
/******/ for(var i = 0; i < deferredModules.length; i++) {
/******/ var deferredModule = deferredModules[i];
/******/ var fulfilled = true;
/******/ for(var j = 1; j < deferredModule.length; j++) {
/******/ var depId = deferredModule[j];
/******/ if(installedChunks[depId] !== 0) fulfilled = false;
/******/ }
/******/ if(fulfilled) {
/******/ deferredModules.splice(i--, 1);
/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
/******/ } /******/ }
/******/ } /******/ }
/******/
/******/ return result; /******/ return result;
/******/ }; /******/ }
/******/ /******/
/******/ // The module cache /******/ // The module cache
/******/ var installedModules = {}; /******/ var installedModules = {};
/******/ /******/
/******/ // objects to store loaded and loading chunks /******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // Promise = chunk loading, 0 = chunk loaded
/******/ var installedChunks = { /******/ var installedChunks = {
/******/ 2: 0 /******/ "/js/manifest": 0
/******/ }; /******/ };
/******/ /******/
/******/ var deferredModules = [];
/******/
/******/ // The require function /******/ // The require function
/******/ function __webpack_require__(moduleId) { /******/ function __webpack_require__(moduleId) {
/******/ /******/
/******/ // Check if module is in cache /******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) /******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports; /******/ return installedModules[moduleId].exports;
/******/ /******/ }
/******/ // Create a new module (and put it into the cache) /******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = { /******/ var module = installedModules[moduleId] = {
/******/ i: moduleId, /******/ i: moduleId,
@ -59,51 +86,6 @@
/******/ return module.exports; /******/ return module.exports;
/******/ } /******/ }
/******/ /******/
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = function requireEnsure(chunkId) {
/******/ if(installedChunks[chunkId] === 0)
/******/ return Promise.resolve();
/******/
/******/ // a Promise means "currently loading".
/******/ if(installedChunks[chunkId]) {
/******/ return installedChunks[chunkId][2];
/******/ }
/******/
/******/ // setup Promise in chunk cache
/******/ var promise = new Promise(function(resolve, reject) {
/******/ installedChunks[chunkId] = [resolve, reject];
/******/ });
/******/ installedChunks[chunkId][2] = promise;
/******/
/******/ // start chunk loading
/******/ var head = document.getElementsByTagName('head')[0];
/******/ var script = document.createElement('script');
/******/ script.type = 'text/javascript';
/******/ script.charset = 'utf-8';
/******/ script.async = true;
/******/ script.timeout = 120000;
/******/
/******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ }
/******/ script.src = __webpack_require__.p + "js/" + ({"0":"/js/vendor","1":"/js/app"}[chunkId]||chunkId) + ".js";
/******/ var timeout = setTimeout(onScriptComplete, 120000);
/******/ script.onerror = script.onload = onScriptComplete;
/******/ function onScriptComplete() {
/******/ // avoid mem leaks in IE.
/******/ script.onerror = script.onload = null;
/******/ clearTimeout(timeout);
/******/ var chunk = installedChunks[chunkId];
/******/ if(chunk !== 0) {
/******/ if(chunk) chunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));
/******/ installedChunks[chunkId] = undefined;
/******/ }
/******/ };
/******/ head.appendChild(script);
/******/
/******/ return promise;
/******/ };
/******/ /******/
/******/ // expose the modules object (__webpack_modules__) /******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules; /******/ __webpack_require__.m = modules;
@ -111,20 +93,37 @@
/******/ // expose the module cache /******/ // expose the module cache
/******/ __webpack_require__.c = installedModules; /******/ __webpack_require__.c = installedModules;
/******/ /******/
/******/ // identity function for calling harmony imports with the correct context
/******/ __webpack_require__.i = function(value) { return value; };
/******/
/******/ // define getter function for harmony exports /******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) { /******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) { /******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ } /******/ }
/******/ }; /******/ };
/******/ /******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules /******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) { /******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ? /******/ var getter = module && module.__esModule ?
@ -138,10 +137,18 @@
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/ /******/
/******/ // __webpack_public_path__ /******/ // __webpack_public_path__
/******/ __webpack_require__.p = ""; /******/ __webpack_require__.p = "/";
/******/ /******/
/******/ // on error function for async loading /******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
/******/ jsonpArray.push = webpackJsonpCallback;
/******/ jsonpArray = jsonpArray.slice();
/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
/******/ var parentJsonpFunction = oldJsonpFunction;
/******/
/******/
/******/ // run deferred modules from other chunks
/******/ checkDeferredModules();
/******/ }) /******/ })
/************************************************************************/ /************************************************************************/
/******/ ([]); /******/ ([]);

15097
public/js/vendor.js vendored

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,6 @@
{ {
"/js/app.js": "/js/app.js", "/js/app.js": "/js/app.js",
"/css/app.css": "/css/app.css", "/css/app.css": "/css/app.css",
"/js/vendor.js": "/js/vendor.js", "/js/manifest.js": "/js/manifest.js",
"/js/manifest.js": "/js/manifest.js", "/js/vendor.js": "/js/vendor.js"
"/js/app.min.js": "/js/app.min.js"
} }

View file

@ -1,270 +1,279 @@
@import url('https://fonts.googleapis.com/css?family=Indie+Flower|Quicksand'); @import url('https://fonts.googleapis.com/css?family=Indie+Flower|Quicksand');
body { body {
margin: 0; background-image: url('/img/background.jpg');
padding: 0; background-repeat: no-repeat;
background-size: cover;
color: #FFF !important;
font-size: 14px;
min-height: 100vh;
font-family: 'Quicksand', sans-serif; font-family: 'Quicksand', sans-serif;
font-size: 13px;
}
div#content { #content {
max-width: 800px; max-width: 500px;
margin: 20px auto; width: 500px;
padding: 10px 10px 10px 10px; margin: 20px auto;
color: #f1f1f1; padding: 10px 10px 10px 10px;
background: background-size:16px 16px;
radial-gradient(#292929 15%, transparent 16%) 0 0, font-size: 1rem;
radial-gradient(#292929 15%, transparent 16%) 8px 8px, background-color:rgba(56, 76, 65, 0.84);
radial-gradient(rgba(255, 255, 255, 0) 15%, transparent 20%) 0 1px, border: 1px solid rgb(69, 87, 77);
radial-gradient(rgba(255, 255, 255, 0.1) 15%, transparent 20%) 8px 9px; position: absolute;
background-color: #3a3a3a; top: 50%;
background-size:16px 16px; left: 50%;
-webkit-border-radius: 4px; -ms-transform: translateX(-50%) translateY(-50%);
-moz-border-radius: 4px; -webkit-transform: translate(-50%,-50%);
border-radius: 4px; transform: translate(-50%,-50%);
}
h1 {
}
.spacer {
clear: both;
line-height: 0;
padding: 0;
margin: 0;
font-size: 0;
}
a, a:visited {
color: #58bfe4;
}
label {
display: block;
width: 100%;
margin: 10px 0 5px 0;
&:first-child {
margin: 0 0 5px 0;
} }
&:last-child { h1 {
margin: 10px 0 0 0; margin-bottom: 5px;
text-transform: uppercase;
font-size: 3rem;
} }
}
body#upload { h2 {
margin-top: 0;
color: rgba(255, 255, 255, 0.877);
text-transform: uppercase;
font-size: 1.7rem;
}
div#upload-column { .spacer {
float: left; clear: both;
width: 190px; line-height: 0;
padding: 0;
margin: 0;
font-size: 0;
}
form.dropzone { a, a:visited {
margin: 0; color: #58bfe4;
cursor: pointer; }
border: 1px dashed #a1bdf4;
text-align: center;
min-height: 170px;
max-height: 170px;
color: #eaeaea;
background-color:rgba(64, 154, 189, 0.33);
background-size:16px 16px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
height: 100%;
white-space: nowrap;
position: relative;
&:before { label {
content: ''; display: block;
display: inline-block; width: 100%;
vertical-align: middle; margin: 10px 0 5px 0;
width: 0;
margin-right: -.25em; &:first-child {
margin: 0 0 5px 0;
}
&:last-child {
margin: 10px 0 0 0;
}
}
&#upload {
div#upload-column {
float: left;
width: 190px;
form.dropzone {
margin: 0;
cursor: pointer;
background:
linear-gradient(45deg, #33453b 45px, transparent 45px)64px 64px,
linear-gradient(45deg, #33453b 45px, transparent 45px,transparent 91px, #41574b 91px, #41574b 135px, transparent 135px),
linear-gradient(-45deg, #33453b 23px, transparent 23px, transparent 68px,#33453b 68px,#33453b 113px,transparent 113px,transparent 158px,#33453b 158px);
background-color:#41574b;
background-size: 128px 128px;
text-align: center;
min-height: 170px;
max-height: 170px;
height: 100%; height: 100%;
white-space: nowrap;
position: relative;
&:before {
content: '';
display: inline-block;
vertical-align: middle;
width: 0;
margin-right: -.25em;
height: 100%;
}
&.dz-drag-hover {
background-color:rgba(64, 154, 189, 0.66);
}
.dz-message {
font-family: 'Indie Flower', cursive;
font-size: 1.3rem;
margin: 35px 15px;
display: inline-block;
vertical-align: middle;
white-space: normal;
padding: 0 1em;
}
} }
&.dz-drag-hover { .max-filesize-warning {
background-color:rgba(64, 154, 189, 0.66); font-family: 'Quicksand', sans-serif;
padding: 0;
margin: 2px 0 0 0;
font-size: .8rem;
position: absolute;
bottom: .5rem;
right: .5rem;
} }
.dz-message { &.wide {
font-family: 'Indie Flower', cursive; width: 100%;
font-size: 18px;
margin: 35px 15px;
display: inline-block;
vertical-align: middle;
white-space: normal;
padding: 0 1em;
} }
} }
.max-filesize-warning { div#settings-column {
font-family: 'Quicksand', sans-serif; float: right;
padding: 0; max-width: 280px;
margin: 2px 0 0 0; width: 280px;
font-size: 9px;
position: absolute;
bottom: 3px;
right: 3px;
}
&.wide {
width: 100%;
}
}
div#settings-column {
float: right;
max-width: 590px;
width: 590px;
display: none;
p.link {
max-width: 80%;
width: 80%;
background-color: #CCC;
white-space: nowrap;
padding: 6px;
background-color: #545454;
margin: 0;
overflow: hidden;
display: inline-flex;
}
.clippy {
background-image: url(/img/clippy.svg);
background-size: 15px;
background-repeat: no-repeat;
background-color: transparent;
border: 0;
color: #FFF;
height: 28px;
width: 20px;
background-position: center center;
cursor: pointer;
}
}
div#files-list {
display: none;
margin: 20px 0 0 0;
font-size: 12px;
padding: 5px 0;
position: relative;
.preview-tpl {
display: none; display: none;
padding-left: 1rem;
p.link {
max-width: 80%;
width: 80%;
background-color: #CCC;
white-space: nowrap;
padding: 6px;
background-color: #545454;
margin: 0;
overflow: hidden;
display: inline-flex;
}
.clippy {
background-image: url(/img/clippy.svg);
background-size: 15px;
background-repeat: no-repeat;
background-color: transparent;
border: 0;
height: 28px;
width: 20px;
background-position: center center;
cursor: pointer;
}
} }
.file-row { div#files-list {
padding: 10px 0px 10px 6px; display: none;
border-top: 1px solid #5a5a5a; margin: 20px 0 0 0;
font-size: 12px;
padding: 5px 0;
position: relative; position: relative;
.dz-filename { .preview-tpl {
width: 60%; display: none;
overflow: hidden;
float: left;
position: relative;
} }
.dz-size { .file-row {
width: 10%; padding: 10px 0px 10px 6px;
overflow: hidden; border-top: 1px solid #5a5a5a;
float: right;
text-align: right;
}
.dz-progress {
width: 12%;
overflow: hidden;
float: right;
min-height: 8px;
margin: 3px 10px 0 5px;
position: relative; position: relative;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
background-color: #eaeaea;
.dz-upload { .dz-filename {
width: 60%;
overflow: hidden;
float: left;
position: relative;
}
.dz-size {
width: 10%;
overflow: hidden;
float: right;
text-align: right;
}
.dz-progress {
width: 12%;
overflow: hidden;
float: right;
min-height: 8px;
margin: 3px 10px 0 5px;
position: relative;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
background-color: #eaeaea;
.dz-upload {
position: absolute;
top: 0;
left: 0;
width: 0;
background-color: #51acd0;
}
}
.dz-error-message {
position: absolute; position: absolute;
top: 0; top: 10px;
left: 0; right: 100px;
width: 0; background-color: red;
background-color: #51acd0; padding: 0 8px;
} }
}
.dz-error-message {
position: absolute;
top: 10px;
right: 100px;
background-color: red;
padding: 0 8px;
}
.dz-result {
width: 5%;
float: right;
margin-left: 10px;
}
&.dz-success {
.dz-result { .dz-result {
background-image: url('/img/success.png'); width: 5%;
background-repeat: no-repeat; float: right;
background-size: contain; margin-left: 10px;
} }
}
&.dz-error { &.dz-success {
.dz-result { .dz-result {
background-image: url('/img/error.png'); background-image: url('/img/success.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: contain; background-size: contain;
}
}
&.dz-error {
.dz-result {
background-image: url('/img/error.png');
background-repeat: no-repeat;
background-size: contain;
}
} }
} }
} }
} }
}
body#download { &#download {
#files-list { #files-list {
font-size: 12px; font-size: 1rem;
margin-bottom: 40px; margin-bottom: 40px;
}
.expiry-warning {
font-size: 11px;
font-style: italic;
margin-top: 30px;
}
.download-all-btn {
margin: 0 auto;
width: 60%;
text-align: center;
font-size: 22px;
background-color: #54606d;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
padding: 10px 5px;
box-shadow: inset 0px 1px 0px 0px #cae3fc;
&a, &a:visited {
color: #FFF;
} }
&:hover {}
.bundle-info { .bundle-info {
font-size: 12px; font-size: 1rem;
}
.expiry-warning {
font-size: .8rem;
font-style: italic;
margin-top: 30px;
}
.download-all-btn {
margin: 0 auto;
width: 60%;
text-align: center;
font-size: 1.4rem;
background-color: #3a5142;
padding: 10px 5px;
box-shadow: inset 0px 1px 0px 0px #cae3fc;
&a, &a:visited {
color: #FFF;
}
} }
} }
} }

View file

@ -1,14 +1,14 @@
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Files Sharing</title> <title>{{ config('app.name') }}</title>
<link rel="stylesheet" href="{{ mix('/css/app.css') }}"> <link rel="stylesheet" href="{{ mix('/css/app.css') }}">
<script src="{{ mix('/js/manifest.js') }}" type="text/javascript"></script> <script src="{{ mix('/js/manifest.js') }}" type="text/javascript"></script>
<script src="{{ mix('/js/vendor.js') }}" type="text/javascript"></script> <script src="{{ mix('/js/vendor.js') }}" type="text/javascript"></script>
<script src="{{ mix('/js/app.js') }}" type="text/javascript"></script> <script src="{{ mix('/js/app.js') }}" type="text/javascript"></script>
</head> </head>
<body id="@yield('page')"> <body class="main" id="@yield('page')">
@include('header') @include('header')

View file

@ -3,7 +3,8 @@
@section('page', 'upload') @section('page', 'upload')
@section('content') @section('content')
<h1>@lang('app.upload-files-title')</h1> <h1>{{ config('app.name') }}</h1>
<h2>@lang('app.upload-files-title')</h2>
<div id="upload-column" class="wide"> <div id="upload-column" class="wide">
<form action="{{ route('upload.store') }}" class="dropzone" id="upload-form"> <form action="{{ route('upload.store') }}" class="dropzone" id="upload-form">

8
webpack.mix.js vendored
View file

@ -1,4 +1,4 @@
const { mix } = require('laravel-mix'); const mix = require('laravel-mix');
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -11,8 +11,9 @@ const { mix } = require('laravel-mix');
| |
*/ */
mix.js('resources/themes/' + process.env.MIX_THEME + '/assets/js/app.js', 'public/js') mix
.sass('resources/themes/' + process.env.MIX_THEME + '/assets/sass/app.scss', 'public/css') .js('resources/themes/default/assets/js/app.js', 'public/js')
.sass('resources/themes/default/assets/sass/app.scss', 'public/css')
.extract(['jquery', 'dropzone', 'clipboard']) .extract(['jquery', 'dropzone', 'clipboard'])
if (mix.inProduction()) { if (mix.inProduction()) {
@ -20,5 +21,4 @@ if (mix.inProduction()) {
} }
else { else {
mix.sourceMaps(); mix.sourceMaps();
mix.browserSync('filesharing.local');
} }