From f093f00a4bf1d2f2c0a2bde8fad76f988f5ff93f Mon Sep 17 00:00:00 2001 From: Mickael KERJEAN Date: Fri, 2 Mar 2018 13:53:53 +1100 Subject: [PATCH] maintenance (structure): Full revamp of the project code structure --- {server/public => .assets}/img/logo.png | Bin {server/public => .assets}/img/logo_large.png | Bin {server/public => .assets}/img/photo.jpg | Bin {server/public => .assets}/img/photo.xcf | Bin README.org | 2 +- .../style.css => client/assets/css/reset.scss | 11 - client/assets/css/videojs-custom.css | 11 + .../assets/css/videojs-sublime-skin.scss | 0 client/assets/{ => img}/bucket.svg | 0 client/assets/{ => img}/delete.svg | 0 client/assets/{ => img}/download.svg | 0 client/assets/{ => img}/dropbox.png | Bin client/assets/{ => img}/edit.svg | 0 client/assets/{ => img}/error.svg | 0 client/assets/{ => img}/file.svg | 0 client/assets/{ => img}/folder copy.svg | 0 client/assets/{ => img}/folder.svg | 0 client/assets/{ => img}/google-drive.png | Bin client/assets/{ => img}/link.svg | 0 client/assets/{ => img}/loader.svg | 0 client/assets/{ => img}/loader_white.svg | 0 client/assets/{ => img}/pause.svg | 0 client/assets/{ => img}/play.svg | 0 client/assets/{ => img}/power.svg | 0 client/assets/{ => img}/save.svg | 0 client/components/alert.js | 42 + client/components/api.js | 1 - client/components/breadcrumb.js | 16 +- client/components/breadcrumb.scss | 0 client/{utilities => components}/bundle.js | 0 client/{utilities => components}/button.js | 4 +- .../buttons.scss => components/button.scss} | 0 client/{utilities => components}/card.js | 2 - client/{utilities => components}/card.scss | 0 client/components/connect.js | 15 - client/{utilities => components}/container.js | 0 .../{utilities => components}/container.scss | 0 client/{utilities => components}/error.js | 0 client/{data => components}/events.js | 7 +- client/{utilities => components}/fab.js | 0 client/{utilities => components}/fab.scss | 0 client/components/icon.js | 63 + client/{utilities => components}/icon.scss | 0 client/components/index.js | 22 +- client/{utilities => components}/input.js | 0 client/{utilities => components}/input.scss | 0 client/{utilities => components}/loader.js | 0 client/{utilities => components}/loader.scss | 0 client/{utilities => components}/modal.js | 10 +- client/{utilities => components}/modal.scss | 0 client/{utilities => components}/ngif.js | 2 +- .../{utilities => components}/notification.js | 3 +- .../notification.scss | 0 client/components/prompt.js | 57 + client/components/prompt.scss | 5 + client/{utilities => components}/textarea.js | 1 - .../{utilities => components}/textarea.scss | 0 client/{utilities => components}/uploader.js | 0 .../{utilities => components}/uploader.scss | 0 client/data/index.js | 5 - client/{data/tools.js => helpers/ajax.js} | 1 + client/helpers/backpressure.js | 46 + client/{utilities => helpers}/crypto.js | 0 client/helpers/index.js | 8 + client/{utilities => helpers}/memory.js | 0 client/{data => helpers}/mimetype.js | 2 - client/{utilities => helpers}/navigate.js | 2 - client/{utilities => helpers}/path.js | 0 client/index.html | 5 - client/index.js | 7 +- client/{data/api.js => model/files.js} | 56 +- client/model/index.js | 2 + client/model/session.js | 32 + client/pages/connectpage.js | 10 +- client/pages/connectpage/credentials.js | 4 +- client/pages/connectpage/form.js | 9 +- client/pages/connectpage/form.scss | 6 + client/pages/filespage.js | 92 +- client/pages/filespage.scss | 16 + client/pages/filespage/breadcrumb.js | 9 +- client/pages/filespage/existingthing.js | 61 +- client/pages/filespage/existingthing.scss | 3 + .../filespage}/filesystem.js | 19 +- client/pages/filespage/filezone.js | 8 +- client/pages/filespage/index.js | 5 +- client/pages/filespage/newthing.js | 4 +- client/pages/homepage.js | 5 +- client/pages/index.js | 5 +- client/pages/logout.js | 6 +- client/pages/viewerpage.js | 29 +- client/pages/viewerpage/audioplayer.js | 9 +- .../viewerpage}/editor.js | 10 +- client/pages/viewerpage/editor.scss | 57 + client/pages/viewerpage/filedownloader.js | 9 +- client/pages/viewerpage/ide.js | 14 +- client/pages/viewerpage/imageviewer.js | 4 +- client/pages/viewerpage/index.js | 6 +- client/pages/viewerpage/menubar.js | 7 +- client/pages/viewerpage/videoplayer.js | 4 +- client/router.js | 43 +- client/utilities/backpressure.js | 48 - client/utilities/icon.js | 43 - client/utilities/index.js | 20 - client/utilities/theme.js | 38 - docker/docker-compose.yml | 2 +- package-lock.json | 1330 ++++++++++++++--- package.json | 7 +- server/public/css/codemirror-foldgutter.css | 21 - server/public/css/codemirror.css | 382 ----- server/public/css/video-js.css | 1309 ---------------- server/public/img/bucket.svg | 6 - server/public/img/delete.svg | 43 - server/public/img/download.svg | 10 - server/public/img/dropbox.png | Bin 9130 -> 0 bytes server/public/img/edit.svg | 9 - server/public/img/error.svg | 37 - server/public/img/file.svg | 4 - server/public/img/folder copy.svg | 6 - server/public/img/folder.svg | 6 - server/public/img/google-drive.png | Bin 10710 -> 0 bytes server/public/img/link.svg | 6 - server/public/img/loader.svg | 1 - server/public/img/loader_white.svg | 1 - server/public/img/pause.svg | 38 - server/public/img/play.svg | 37 - server/public/img/power.svg | 39 - server/public/img/save.svg | 38 - webpack.config.js | 11 +- 128 files changed, 1720 insertions(+), 2666 deletions(-) rename {server/public => .assets}/img/logo.png (100%) rename {server/public => .assets}/img/logo_large.png (100%) rename {server/public => .assets}/img/photo.jpg (100%) rename {server/public => .assets}/img/photo.xcf (100%) rename server/public/css/style.css => client/assets/css/reset.scss (88%) create mode 100644 client/assets/css/videojs-custom.css rename server/public/css/videojs-sublime-skin.css => client/assets/css/videojs-sublime-skin.scss (100%) rename client/assets/{ => img}/bucket.svg (100%) rename client/assets/{ => img}/delete.svg (100%) rename client/assets/{ => img}/download.svg (100%) rename client/assets/{ => img}/dropbox.png (100%) rename client/assets/{ => img}/edit.svg (100%) rename client/assets/{ => img}/error.svg (100%) rename client/assets/{ => img}/file.svg (100%) rename client/assets/{ => img}/folder copy.svg (100%) rename client/assets/{ => img}/folder.svg (100%) rename client/assets/{ => img}/google-drive.png (100%) rename client/assets/{ => img}/link.svg (100%) rename client/assets/{ => img}/loader.svg (100%) rename client/assets/{ => img}/loader_white.svg (100%) rename client/assets/{ => img}/pause.svg (100%) rename client/assets/{ => img}/play.svg (100%) rename client/assets/{ => img}/power.svg (100%) rename client/assets/{ => img}/save.svg (100%) create mode 100644 client/components/alert.js delete mode 100644 client/components/api.js create mode 100644 client/components/breadcrumb.scss rename client/{utilities => components}/bundle.js (100%) rename client/{utilities => components}/button.js (89%) rename client/{utilities/buttons.scss => components/button.scss} (100%) rename client/{utilities => components}/card.js (95%) rename client/{utilities => components}/card.scss (100%) delete mode 100644 client/components/connect.js rename client/{utilities => components}/container.js (100%) rename client/{utilities => components}/container.scss (100%) rename client/{utilities => components}/error.js (100%) rename client/{data => components}/events.js (97%) rename client/{utilities => components}/fab.js (100%) rename client/{utilities => components}/fab.scss (100%) create mode 100644 client/components/icon.js rename client/{utilities => components}/icon.scss (100%) rename client/{utilities => components}/input.js (100%) rename client/{utilities => components}/input.scss (100%) rename client/{utilities => components}/loader.js (100%) rename client/{utilities => components}/loader.scss (100%) rename client/{utilities => components}/modal.js (92%) rename client/{utilities => components}/modal.scss (100%) rename client/{utilities => components}/ngif.js (92%) rename client/{utilities => components}/notification.js (98%) rename client/{utilities => components}/notification.scss (100%) create mode 100644 client/components/prompt.js create mode 100644 client/components/prompt.scss rename client/{utilities => components}/textarea.js (93%) rename client/{utilities => components}/textarea.scss (100%) rename client/{utilities => components}/uploader.js (100%) rename client/{utilities => components}/uploader.scss (100%) delete mode 100644 client/data/index.js rename client/{data/tools.js => helpers/ajax.js} (99%) create mode 100644 client/helpers/backpressure.js rename client/{utilities => helpers}/crypto.js (100%) create mode 100644 client/helpers/index.js rename client/{utilities => helpers}/memory.js (100%) rename client/{data => helpers}/mimetype.js (99%) rename client/{utilities => helpers}/navigate.js (96%) rename client/{utilities => helpers}/path.js (100%) rename client/{data/api.js => model/files.js} (69%) create mode 100644 client/model/index.js create mode 100644 client/model/session.js create mode 100644 client/pages/filespage.scss create mode 100644 client/pages/filespage/existingthing.scss rename client/{components => pages/filespage}/filesystem.js (94%) rename client/{components => pages/viewerpage}/editor.js (94%) create mode 100644 client/pages/viewerpage/editor.scss delete mode 100644 client/utilities/backpressure.js delete mode 100644 client/utilities/icon.js delete mode 100644 client/utilities/index.js delete mode 100644 client/utilities/theme.js delete mode 100644 server/public/css/codemirror-foldgutter.css delete mode 100644 server/public/css/codemirror.css delete mode 100644 server/public/css/video-js.css delete mode 100644 server/public/img/bucket.svg delete mode 100644 server/public/img/delete.svg delete mode 100644 server/public/img/download.svg delete mode 100644 server/public/img/dropbox.png delete mode 100644 server/public/img/edit.svg delete mode 100644 server/public/img/error.svg delete mode 100644 server/public/img/file.svg delete mode 100644 server/public/img/folder copy.svg delete mode 100644 server/public/img/folder.svg delete mode 100644 server/public/img/google-drive.png delete mode 100644 server/public/img/link.svg delete mode 100644 server/public/img/loader.svg delete mode 100644 server/public/img/loader_white.svg delete mode 100644 server/public/img/pause.svg delete mode 100644 server/public/img/play.svg delete mode 100644 server/public/img/power.svg delete mode 100644 server/public/img/save.svg diff --git a/server/public/img/logo.png b/.assets/img/logo.png similarity index 100% rename from server/public/img/logo.png rename to .assets/img/logo.png diff --git a/server/public/img/logo_large.png b/.assets/img/logo_large.png similarity index 100% rename from server/public/img/logo_large.png rename to .assets/img/logo_large.png diff --git a/server/public/img/photo.jpg b/.assets/img/photo.jpg similarity index 100% rename from server/public/img/photo.jpg rename to .assets/img/photo.jpg diff --git a/server/public/img/photo.xcf b/.assets/img/photo.xcf similarity index 100% rename from server/public/img/photo.xcf rename to .assets/img/photo.xcf diff --git a/README.org b/README.org index f100cdd6..8c99d00e 100644 --- a/README.org +++ b/README.org @@ -10,7 +10,7 @@ Call it an FTP client, an S3 viewer or a Dropbox like web app, Nuage leverages y * Demo [[https://nuage.kerjean.me][Try]] before install -[[https://raw.githubusercontent.com/mickael-kerjean/nuage/master/server/public/img/photo.jpg]] +[[https://raw.githubusercontent.com/mickael-kerjean/nuage/master/.assets/img/photo.jpg]] * Features - manage your files directly from your browser - listen to music diff --git a/server/public/css/style.css b/client/assets/css/reset.scss similarity index 88% rename from server/public/css/style.css rename to client/assets/css/reset.scss index 3e4793ad..7d1b21da 100644 --- a/server/public/css/style.css +++ b/client/assets/css/reset.scss @@ -27,17 +27,6 @@ body, html{ } a{color: inherit; text-decoration: none;} -.scroll-y{ - overflow-y: scroll!important; - overflow-x: hidden!important; - -webkit-overflow-scrolling: touch; -} -.scroll-x{ - overflow-x: scroll!important; - overflow-y: hidden!important; - -webkit-overflow-scrolling: touch; -} - select{-moz-appearance: none;} select:-moz-focusring { color: inherit; diff --git a/client/assets/css/videojs-custom.css b/client/assets/css/videojs-custom.css new file mode 100644 index 00000000..057a0aef --- /dev/null +++ b/client/assets/css/videojs-custom.css @@ -0,0 +1,11 @@ +.video-js{outline: none;} + +.video-js .vjs-big-play-button:before, .video-js .vjs-control:before, .video-js .vjs-modal-dialog, .vjs-modal-dialog .vjs-modal-dialog-content { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; } + +.video-js .vjs-big-play-button:before, .video-js .vjs-control:before { + text-align: center; } diff --git a/server/public/css/videojs-sublime-skin.css b/client/assets/css/videojs-sublime-skin.scss similarity index 100% rename from server/public/css/videojs-sublime-skin.css rename to client/assets/css/videojs-sublime-skin.scss diff --git a/client/assets/bucket.svg b/client/assets/img/bucket.svg similarity index 100% rename from client/assets/bucket.svg rename to client/assets/img/bucket.svg diff --git a/client/assets/delete.svg b/client/assets/img/delete.svg similarity index 100% rename from client/assets/delete.svg rename to client/assets/img/delete.svg diff --git a/client/assets/download.svg b/client/assets/img/download.svg similarity index 100% rename from client/assets/download.svg rename to client/assets/img/download.svg diff --git a/client/assets/dropbox.png b/client/assets/img/dropbox.png similarity index 100% rename from client/assets/dropbox.png rename to client/assets/img/dropbox.png diff --git a/client/assets/edit.svg b/client/assets/img/edit.svg similarity index 100% rename from client/assets/edit.svg rename to client/assets/img/edit.svg diff --git a/client/assets/error.svg b/client/assets/img/error.svg similarity index 100% rename from client/assets/error.svg rename to client/assets/img/error.svg diff --git a/client/assets/file.svg b/client/assets/img/file.svg similarity index 100% rename from client/assets/file.svg rename to client/assets/img/file.svg diff --git a/client/assets/folder copy.svg b/client/assets/img/folder copy.svg similarity index 100% rename from client/assets/folder copy.svg rename to client/assets/img/folder copy.svg diff --git a/client/assets/folder.svg b/client/assets/img/folder.svg similarity index 100% rename from client/assets/folder.svg rename to client/assets/img/folder.svg diff --git a/client/assets/google-drive.png b/client/assets/img/google-drive.png similarity index 100% rename from client/assets/google-drive.png rename to client/assets/img/google-drive.png diff --git a/client/assets/link.svg b/client/assets/img/link.svg similarity index 100% rename from client/assets/link.svg rename to client/assets/img/link.svg diff --git a/client/assets/loader.svg b/client/assets/img/loader.svg similarity index 100% rename from client/assets/loader.svg rename to client/assets/img/loader.svg diff --git a/client/assets/loader_white.svg b/client/assets/img/loader_white.svg similarity index 100% rename from client/assets/loader_white.svg rename to client/assets/img/loader_white.svg diff --git a/client/assets/pause.svg b/client/assets/img/pause.svg similarity index 100% rename from client/assets/pause.svg rename to client/assets/img/pause.svg diff --git a/client/assets/play.svg b/client/assets/img/play.svg similarity index 100% rename from client/assets/play.svg rename to client/assets/img/play.svg diff --git a/client/assets/power.svg b/client/assets/img/power.svg similarity index 100% rename from client/assets/power.svg rename to client/assets/img/power.svg diff --git a/client/assets/save.svg b/client/assets/img/save.svg similarity index 100% rename from client/assets/save.svg rename to client/assets/img/save.svg diff --git a/client/components/alert.js b/client/components/alert.js new file mode 100644 index 00000000..d50ba62c --- /dev/null +++ b/client/components/alert.js @@ -0,0 +1,42 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import { Input, Button, Modal, NgIf } from './'; +import './prompt.scss'; + +export class Alert extends React.Component { + constructor(props){ + super(props); + this.state = { + modal_appear: false + }; + } + + onSubmit(e){ + e.preventDefault(); + this.props.onConfirm(); + this.setState({modal_appear: false}); + } + + render() { + return ( + +
+

+ {this.props.message} +

+
+
+ +
+
+
+
+ ); + } +} + +Alert.propTypes = { + message: PropTypes.string.isRequired, + onConfirm: PropTypes.func +}; diff --git a/client/components/api.js b/client/components/api.js deleted file mode 100644 index aaf40464..00000000 --- a/client/components/api.js +++ /dev/null @@ -1 +0,0 @@ -import React from 'react'; diff --git a/client/components/breadcrumb.js b/client/components/breadcrumb.js index 0d9b8340..c4100eee 100644 --- a/client/components/breadcrumb.js +++ b/client/components/breadcrumb.js @@ -1,9 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Link } from 'react-router-dom' -import { theme, to_rgba } from '../utilities/theme'; -import { NgIf, Icon } from '../utilities/'; -import { EventEmitter, EventReceiver } from '../data'; +import { NgIf, Icon, EventEmitter, EventReceiver } from './'; export class BreadCrumb extends React.Component { constructor(props){ @@ -63,8 +61,8 @@ BreadCrumb.propTypes = { const BreadCrumbContainer = (props) => { - let style1 = {background: theme.component.breadcrumb.bg, margin: '0 0 0px 0', padding: '6px 0', boxShadow: '0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.2)', zIndex: '1000', position: 'relative'}; - let style2 = {margin: '0 auto', width: '95%', maxWidth: '800px', padding: '0', color: theme.component.breadcrumb.color}; + let style1 = {background: 'white', margin: '0 0 0px 0', padding: '6px 0', boxShadow: '0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.2)', zIndex: '1000', position: 'relative'}; + let style2 = {margin: '0 auto', width: '95%', maxWidth: '800px', padding: '0', color: 'rgba(#6f6f6f, 0.8)'}; return (