mirror of
https://github.com/axeloz/filesharing.git
synced 2025-05-06 10:03:55 +02:00
New theme - better look&feel
This commit is contained in:
parent
5835c4a735
commit
7583c3f1a6
14 changed files with 10298 additions and 24721 deletions
29
.env.example
29
.env.example
|
@ -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=
|
|
||||||
|
|
|
@ -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
18969
package-lock.json
generated
File diff suppressed because it is too large
Load diff
49
package.json
49
package.json
|
@ -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
105
public/css/app.css
vendored
File diff suppressed because one or more lines are too long
BIN
public/img/background.jpg
Normal file
BIN
public/img/background.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 5 MiB |
139
public/js/app.js
vendored
139
public/js/app.js
vendored
File diff suppressed because one or more lines are too long
147
public/js/manifest.js
vendored
147
public/js/manifest.js
vendored
|
@ -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
15097
public/js/vendor.js
vendored
File diff suppressed because one or more lines are too long
|
@ -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"
|
}
|
||||||
}
|
|
||||||
|
|
457
resources/themes/default/assets/sass/app.scss
vendored
457
resources/themes/default/assets/sass/app.scss
vendored
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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')
|
||||||
|
|
||||||
|
|
|
@ -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
8
webpack.mix.js
vendored
|
@ -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');
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue