Jack Foltz před 2 roky
rodič
revize
0a69781891
26 změnil soubory, kde provedl 143 přidání a 105 odebrání
  1. +1
    -1
      CONTRIBUTING.md
  2. +4
    -4
      app/public/panel/controllers/KeyCtrl.js
  3. +1
    -1
      app/public/panel/shrimpa-panel.js
  4. +0
    -52
      app/public/shimapan/components/UploadComp.js
  5. +1
    -1
      app/public/shrimpa/components/LoginComp.js
  6. +1
    -1
      app/public/shrimpa/components/RegisterComp.js
  7. +55
    -0
      app/public/shrimpa/components/UploadComp.js
  8. +1
    -1
      app/public/shrimpa/shrimpa.js
  9. +2
    -2
      config/default.json
  10. +1
    -1
      config/dev.json
  11. +1
    -1
      config/test.json
  12. +47
    -19
      package-lock.json
  13. +4
    -3
      package.json
  14. +1
    -0
      public/css/form.min.css
  15. +1
    -0
      public/css/home.min.css
  16. +1
    -0
      public/css/index.min.css
  17. +1
    -0
      public/css/panel.min.css
  18. +10
    -8
      public/views/home.html
  19. +2
    -2
      public/views/login.html
  20. +3
    -3
      public/views/panel.html
  21. +2
    -2
      public/views/panel/keys.html
  22. +2
    -2
      public/views/register.html
  23. +0
    -0
      public/views/shrimpa/login-form.html
  24. +0
    -0
      public/views/shrimpa/register-form.html
  25. +0
    -0
      public/views/shrimpa/upload-form.html
  26. +1
    -1
      server.js

+ 1
- 1
CONTRIBUTING.md Zobrazit soubor

@@ -1,6 +1,6 @@
# Contributing
### Objectives
Head over to the [projects page](https://github.com/Foltik/Shimapan/projects/). Here you'll find all the current
Head over to the [projects page](https://github.com/Foltik/shrimpa/projects/). Here you'll find all the current
and upcoming objectives of the current project. If you have any ideas or suggestions, add it to the relevant
column in the project page and create an issue to discuss.
### Finding Work


+ 4
- 4
app/public/panel/controllers/KeyCtrl.js Zobrazit soubor

@@ -91,20 +91,20 @@ angular.module('KeyCtrl', ['KeySvc', 'AuthSvc']).controller('KeyController', ['$
'curl \\\n' +
' -F key=' + $scope.currKey.key + ' \\\n' +
' -F "file=@$1" \\\n' +
' https://shimapan.rocks/api/upload \\\n' +
' https://shrimpa.rocks/api/upload \\\n' +
' | grep -Po \'"\'"url"\'"\\s*:\\s*"\\K([^"]*)\'\n';
downloadData('text/x-shellscript', 'shimapan.rocks.sh', data);
downloadData('text/x-shellscript', 'shrimpa.rocks.sh', data);
};

$scope.downloadSharex = () => {
const data = {
RequestURL: 'https://shimapan.rocks/api/upload',
RequestURL: 'https://shrimpa.rocks/api/upload',
FileFormName: 'file',
Arguments: {
key: $scope.currKey.key
},
URL: '$json:url$'
};
downloadData('text/json', 'shimapan.rocks.sxcu', JSON.stringify(data));
downloadData('text/json', 'shrimpa.rocks.sxcu', JSON.stringify(data));
};
}]);

app/public/panel/shimapan-panel.js → app/public/panel/shrimpa-panel.js Zobrazit soubor

@@ -1,7 +1,7 @@
var angular = require('angular');
var uirouter = require('angular-ui-router');
var chart = require('angular-chart.js');
var app = angular.module('shimapan-panel', ['ui.router', 'AuthSvc', 'KeySvc', 'InviteSvc', 'UserSvc', 'StatSvc', 'KeyCtrl', 'InviteCtrl', 'UserCtrl', 'NavCtrl', 'DashCtrl', 'PanelRoutes']);
var app = angular.module('shrimpa-panel', ['ui.router', 'AuthSvc', 'KeySvc', 'InviteSvc', 'UserSvc', 'StatSvc', 'KeyCtrl', 'InviteCtrl', 'UserCtrl', 'NavCtrl', 'DashCtrl', 'PanelRoutes']);

app.run(['$rootScope', '$state', '$stateParams', function($rootScope, $state, $stateParams) {
$rootScope.$state = $state;

+ 0
- 52
app/public/shimapan/components/UploadComp.js Zobrazit soubor

@@ -1,52 +0,0 @@
var angular = require('angular');

angular.module('UploadComp', ['ngFileUpload', 'AuthSvc']).component('uploadComponent', {
templateUrl: '/views/shimapan/upload-form.html',
controller: ['$scope', 'Upload', '$timeout', function ($scope, Upload, $timeout) {
$scope.errToString = function (err) {
if (err === 'maxSize')
return "File too large.";
else
return err;
};

$scope.uploadFiles = function (files, errorFiles) {
$scope.files = $scope.files ? $scope.files.concat(files) : files;
$scope.errorFiles = $scope.errorFiles ? $scope.errorFiles.concat(errorFiles) : errorFiles;

angular.forEach(files, function (file) {
file.upload = Upload.upload({
url: '/api/upload',
method: 'POST',
file: file
});

file.upload.then(
function (response) {
$timeout(function () {
file.result = response.data;
});
},
function (response) {
if (response.status !== 200) {
if (response.status === 401) {
file.$error = "Unauthorized.";
} else if (response.status === 403) {
file.$error = "Forbidden.";
} else {
file.$error = "Unknown error " + response.status;
}
var index = $scope.files.indexOf(file);
$scope.errorFiles.push(file);
$scope.files.splice(index, 1);
}
},
function (evt) {
file.progress = Math.floor(Math.min(100.0, 100 * evt.loaded / evt.total));
}
);
});
};
}],
controllerAs: 'vm'
});

app/public/shimapan/components/LoginComp.js → app/public/shrimpa/components/LoginComp.js Zobrazit soubor

@@ -23,4 +23,4 @@ angular.module('LoginComp', ['AuthSvc']).component('loginComponent', {
}
};
}]
});
});

app/public/shimapan/components/RegisterComp.js → app/public/shrimpa/components/RegisterComp.js Zobrazit soubor

@@ -1,7 +1,7 @@
var angular = require('angular');

angular.module('RegisterComp', ['AuthSvc']).component('registerComponent', {
templateUrl: '/views/shimapan/register-form.html',
templateUrl: '/views/shrimpa/register-form.html',
controller: ['$scope', '$timeout', 'AuthService', function($scope, $timeout, AuthService) {
$scope.register = function() {
AuthService.register($scope.username, $scope.password, $scope.invite).catch(function() {

+ 55
- 0
app/public/shrimpa/components/UploadComp.js Zobrazit soubor

@@ -0,0 +1,55 @@
var angular = require('angular');

angular.module('UploadComp', ['ngFileUpload', 'AuthSvc']).component('uploadComponent', {
templateUrl: '/views/shrimpa/upload-form.html',
controller: ['$scope', 'Upload', '$timeout', function ($scope, Upload, $timeout) {
$scope.errToString = function (err) {
if (err === 'maxSize')
return "File too large.";
else
return err;
};

$scope.uploadFiles = function (files, errorFiles) {
$scope.files = $scope.files ? $scope.files.concat(files) : files;
$scope.errorFiles = $scope.errorFiles ? $scope.errorFiles.concat(errorFiles) : errorFiles;

files.reduce((promise, file) => {
return promise.then(() => new Promise((resolve, reject) => {
file.upload = Upload.upload({
url: '/api/upload',
method: 'POST',
file: file
});

file.upload.then(
function (response) {
resolve();
$timeout(function () {
file.result = response.data;
});
},
function (response) {
if (response.status !== 200) {
if (response.status === 401) {
file.$error = "Unauthorized.";
} else if (response.status === 403) {
file.$error = "Forbidden.";
} else {
file.$error = "Unknown error " + response.status;
}
var index = $scope.files.indexOf(file);
$scope.errorFiles.push(file);
$scope.files.splice(index, 1);
}
},
function (evt) {
file.progress = Math.floor(Math.min(100.0, 100 * evt.loaded / evt.total));
}
);
}));
}, Promise.resolve());
};
}],
controllerAs: 'vm'
});

app/public/shimapan/shimapan.js → app/public/shrimpa/shrimpa.js Zobrazit soubor

@@ -1,4 +1,4 @@
var angular = require('angular');
var ngFileUpload = require('ng-file-upload');
var ngclipboard = require('ngclipboard');
var app = angular.module('shimapan', ['ngFileUpload', 'ngclipboard', 'UploadComp', 'RegisterComp', 'LoginComp']);
var app = angular.module('shrimpa', ['ngFileUpload', 'ngclipboard', 'UploadComp', 'RegisterComp', 'LoginComp']);

+ 2
- 2
config/default.json Zobrazit soubor

@@ -1,12 +1,12 @@
{
"Server": {
"port": 4433,
"hostname": "https://shimapan.rocks",
"hostname": "https://shrimpa.rocks",
"tls": true,
"trustProxy": []
},
"Database": {
"host": "mongodb://localhost:27017/shimapan"
"host": "mongodb://localhost:27017/shrimpa"
},
"Upload": {
"path": "uploads",


+ 1
- 1
config/dev.json Zobrazit soubor

@@ -6,7 +6,7 @@
"trustProxy": []
},
"Database": {
"host": "mongodb://localhost:27017/shimapan-dev"
"host": "mongodb://localhost:27017/shrimpa-dev"
},
"Upload": {
"path": "uploads-dev"


+ 1
- 1
config/test.json Zobrazit soubor

@@ -6,7 +6,7 @@
"trustProxy": []
},
"Database": {
"host": "mongodb://localhost:27017/shimapan-test"
"host": "mongodb://localhost:27017/shrimpa-test"
},
"Upload": {
"path": "uploads-test"


+ 47
- 19
package-lock.json Zobrazit soubor

@@ -1,5 +1,5 @@
{
"name": "shimapan",
"name": "shrimpa",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
@@ -310,6 +310,7 @@
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
"dev": true,
"optional": true,
"requires": {
"kind-of": "^3.0.2",
"longest": "^1.0.1",
@@ -2574,7 +2575,7 @@
},
"duplexer": {
"version": "0.1.1",
"resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
"dev": true
},
@@ -3635,7 +3636,8 @@
},
"ansi-regex": {
"version": "2.1.1",
"bundled": true
"bundled": true,
"optional": true
},
"aproba": {
"version": "1.2.0",
@@ -3653,11 +3655,13 @@
},
"balanced-match": {
"version": "1.0.0",
"bundled": true
"bundled": true,
"optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -3670,15 +3674,18 @@
},
"code-point-at": {
"version": "1.1.0",
"bundled": true
"bundled": true,
"optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true
"bundled": true,
"optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true
"bundled": true,
"optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -3781,7 +3788,8 @@
},
"inherits": {
"version": "2.0.3",
"bundled": true
"bundled": true,
"optional": true
},
"ini": {
"version": "1.3.5",
@@ -3791,6 +3799,7 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -3803,17 +3812,20 @@
"minimatch": {
"version": "3.0.4",
"bundled": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
"bundled": true
"bundled": true,
"optional": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
@@ -3830,6 +3842,7 @@
"mkdirp": {
"version": "0.5.1",
"bundled": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -3902,7 +3915,8 @@
},
"number-is-nan": {
"version": "1.0.1",
"bundled": true
"bundled": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -3912,6 +3926,7 @@
"once": {
"version": "1.4.0",
"bundled": true,
"optional": true,
"requires": {
"wrappy": "1"
}
@@ -3987,7 +4002,8 @@
},
"safe-buffer": {
"version": "5.1.1",
"bundled": true
"bundled": true,
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -4017,6 +4033,7 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -4034,6 +4051,7 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -4072,11 +4090,13 @@
},
"wrappy": {
"version": "1.0.2",
"bundled": true
"bundled": true,
"optional": true
},
"yallist": {
"version": "3.0.2",
"bundled": true
"bundled": true,
"optional": true
}
}
},
@@ -6020,7 +6040,8 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
"integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
"dev": true
"dev": true,
"optional": true
},
"loose-envify": {
"version": "1.4.0",
@@ -6105,7 +6126,7 @@
},
"map-stream": {
"version": "0.1.0",
"resolved": "http://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
"resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
"integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
"dev": true
},
@@ -6903,6 +6924,11 @@
}
}
},
"natives": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz",
"integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA=="
},
"negotiator": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
@@ -10935,6 +10961,7 @@
"version": "0.1.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"kind-of": "^3.0.2",
"longest": "^1.0.1",
@@ -11877,7 +11904,8 @@
"longest": {
"version": "1.0.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"lru-cache": {
"version": "4.1.3",
@@ -13445,7 +13473,7 @@
},
"pause-stream": {
"version": "0.0.11",
"resolved": "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
"dev": true,
"requires": {
@@ -14434,7 +14462,7 @@
},
"split": {
"version": "0.3.3",
"resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz",
"resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
"dev": true,
"requires": {
@@ -14534,7 +14562,7 @@
},
"stream-combiner": {
"version": "0.0.4",
"resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
"dev": true,
"requires": {


+ 4
- 3
package.json Zobrazit soubor

@@ -1,5 +1,5 @@
{
"name": "shimapan",
"name": "shrimpa",
"version": "1.0.0",
"dependencies": {
"angular": "^1.7.5",
@@ -31,7 +31,8 @@
"passport-local-mongoose": "^5.0.1",
"sanitizer": "^0.1.3",
"type-is": "^1.6.16",
"vinyl-source-stream": "^2.0.0"
"vinyl-source-stream": "^2.0.0",
"natives": "^1.1.6"
},
"description": "A simple file sharing website.",
"main": "index.js",
@@ -69,6 +70,6 @@
},
"repository": {
"type": "git",
"url": "https://github.com/Foltik/shimapan"
"url": "https://github.com/Foltik/shrimpa"
}
}

+ 1
- 0
public/css/form.min.css Zobrazit soubor

@@ -0,0 +1 @@
body{background-color:#000;margin:0;color:#d3d3d3;font-family:Roboto,sans-serif}::-moz-focus-inner{border:0}.form{margin:50px auto;width:300px}.form h3{background-color:#000;border:2px solid #2a9fd6;border-radius:5px 5px 0 0;color:#eee;font-size:18px;padding:20px;margin:0;text-align:center;text-transform:uppercase}fieldset{border:2px solid #2a9fd6;border-top:none;margin:0;background:#000;border-radius:0 0 5px 5px;padding:20px;position:relative}fieldset:before{border-bottom:2px solid #2a9fd6;border-right:2px solid #2a9fd6;background-color:#000;content:"";width:8px;height:8px;left:50%;margin:-4px 0 0 -4px;position:absolute;top:0;transform:rotate(45deg) translateY(-2px)}.form input{display:block;font-size:14px;background:#000;color:#d3d3d3;border:1px solid #999;width:226px;padding:12px 12px;margin:auto auto 5px}button{background:#000;border:2px solid #2a9fd6;border-radius:4px;color:#d3d3d3;cursor:pointer;display:block;padding:10px 30px;margin:20px auto auto;transition:background .25s,border-color .25s}button:hover{background:#2a9fd6;color:#fff;text-decoration:none;outline:0}button.shake{background:#f66;border-color:#f66;color:#fff;animation:shake .82s cubic-bezier(.36,.07,.19,.97) both;transform:translate3d(0,0,0);backface-visibility:hidden;perspective:1000px}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}

+ 1
- 0
public/css/home.min.css Zobrazit soubor

@@ -0,0 +1 @@
body{background-color:#060606;color:#d3d3d3;font-family:Roboto,sans-serif;font-size:14px;height:100%;line-height:20px;margin:0;padding-top:20px;padding-bottom:40px}#container{max-width:700px;text-align:center;display:flex;flex-direction:column;margin:auto}a{color:#0078b4;text-decoration:none;transition:color .25s}a:active,a:focus,a:hover{color:#005580}h1{font-size:72px;font-weight:700}.upload{margin:60px 0}.btn{font-family:Roboto,sans-serif;background:#000;border:2px solid #2a9fd6;border-radius:4px;color:#d3d3d3;cursor:pointer;display:inline-block;font-size:24px;padding:28px 48px;transition:background-color .25s,width .5s,height .5s}.btn:hover{background-color:#2a9fd6;color:#fff;text-decoration:none;outline:0}:focus{outline:0}::-moz-focus-inner{border:0}#upload-filelist{list-style-type:none;margin:20px 50px;padding:0;text-align:left}#upload-filelist>li{margin-top:5px;overflow:hidden;display:flex}.list-name{margin-top:6px;overflow:hidden;max-width:70%;text-overflow:ellipsis;white-space:nowrap}.list-url{font-family:'Roboto Mono',monospace;margin-left:auto}.list-progress{margin:10px 30px 10px 30px;flex-grow:2}.list-url a{vertical-align:super;color:#5c5c5c}.list-url a:hover{color:#d3d3d3}.list-url-clipboard-btn{border:2px solid #222;height:32px;margin-left:5px;border-radius:3px;cursor:pointer;background-color:#5c5c5c;transition:background-color .25s}.list-url-clipboard-btn:focus,.list-url-clipboard-btn:hover{background-color:#ababab;outline:0}.list-err{font-family:'Roboto Mono',monospace;margin-left:auto;color:#f66;vertical-align:super}nav a,nav>ul{color:#32809f;list-style:none;margin:0;padding:0;text-align:center}nav>ul>li{display:inline-block;margin:0;padding:0;cursor:default}nav>ul>li:after{content:"|";margin:0 8px;opacity:.3}nav>ul>li:last-child:after{content:"";margin:0}

+ 1
- 0
public/css/index.min.css Zobrazit soubor

@@ -0,0 +1 @@
*{margin:0}body{background:#000}a{position:absolute;top:40px;left:48%;opacity:.1;height:30px;width:30px;z-index:100;cursor:default}a img{width:30px;height:30px}canvas{position:absolute;top:0;left:0}video{position:fixed;top:50%;left:50%;min-width:100%;min-height:100%;z-index:-100;transform:translateX(-50%) translateY(-50%);background-size:cover;transition:1s opacity}#buffer{display:none}

+ 1
- 0
public/css/panel.min.css Zobrazit soubor

@@ -0,0 +1 @@
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);@import url(https://fonts.googleapis.com/css?family=Roboto);@import url(https://fonts.googleapis.com/css?family=Roboto+Mono);.sidebar-title{grid-row-start:1;grid-row-end:1;place-self:center;cursor:pointer;display:flex;justify-content:center;align-items:center;width:200px;height:60px}.sidebar-title span{color:#2a9fd6;font-size:20px;text-transform:uppercase;letter-spacing:6px}.sidebar{grid-row-start:2;grid-row-end:2}.nav li{cursor:pointer;display:flex;align-items:center}.nav li a{flex:1;outline:0;padding:20px 0 20px;margin-left:20px;font-size:14px;color:#666;text-decoration:none}.nav li span{background:#0d0d0d;width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:20px}.nav-icon{font:14px fontawesome;color:#fff}.nav li a:hover{color:#fff}.nav li a.active{color:#fff}::-moz-focus-inner{border:0}.dash-row{display:flex;flex-wrap:nowrap;align-items:center}.dash-card{background:#020202;border-radius:4px;padding:30px;margin:5px;flex-grow:1;display:flex;align-items:center;justify-content:center;border:1px solid #2a9fd6}#dash-singlestats{flex-grow:1}.dash-card.dash-card-singlestat{justify-content:space-between}.dash-stat{align-self:flex-start;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.dash-stat-title{font-size:18px}.dash-stat-value{font-size:48px}.dash-stat-icon{color:#2a9fd6}.dash-card.dash-card-graph{width:100px}.keys{display:flex;flex-direction:row;flex-wrap:wrap}.key{background:#000;border:3px solid #2a9fd6;border-radius:5px;box-shadow:5px 5px 10px #000;margin:20px;width:300px;height:100px;cursor:pointer;display:flex;justify-content:flex-start;flex-direction:row;transition:box-shadow .2s;overflow:hidden}.key:hover{box-shadow:0 0 10px #eee}.key i{font-size:48px;margin:auto 0 auto 20px}.key span{font-size:16px;vertical-align:center;margin:auto;-moz-user-select:none;user-select:none}.key-name{color:#2a9fd6;font-family:'Roboto Mono',monospace}pre{overflow:auto;line-height:1.7em;font-family:'Roboto Mono',monospace;border:1px solid #666;border-radius:4px;display:block;padding:10px;font-size:14px;margin:10px 0;background:#222;color:#2a9fd6}#createKey{max-width:920px}.btn-del{text-transform:uppercase;border:2px solid #f66;color:#ccc}.btn-del:hover{background-color:#f66}#identifier{font-size:14px;background:#222;color:#d3d3d3;border:1px solid #666;border-radius:4px;padding:10px;margin:10px 0}th{text-transform:uppercase;font-weight:700;padding:10px}td{padding:10px}td input{vertical-align:middle}td label{margin-bottom:2px;padding-left:3px}em{text-transform:uppercase;font-weight:700}*,:after,:before{margin:0;padding:0;box-sizing:border-box}body{font:12px Roboto,sans-serif;color:#eee;background:#020202}.container{display:grid;grid-template-columns:240px auto;grid-template-rows:60px auto;width:100vw;height:100vh}.view{grid-row-start:2;grid-column-start:2;background:#121212;padding:20px;border-left:1px solid #2a9fd6;border-top:1px solid #2a9fd6}.inner{display:flex;flex-direction:column}.modal,.modal-box{z-index:900}.modal-sandbox{position:fixed;width:100%;height:100%;top:0;left:0;background:0 0}.modal{display:none;position:fixed;width:100%;height:100%;left:0;top:0;background:#000;background:rgba(0,0,0,.8);overflow:auto}.modal-box{position:relative;width:80%;max-width:700px;margin:60px auto;animation-name:modalbox;animation-duration:.3s;animation-timing-function:ease}.modal-header{border:2px solid #2a9fd6;border-radius:8px 8px 0 0;display:flex;flex-direction:row;justify-content:space-between;padding:20px 40px;background:#000;color:#fff;overflow:hidden}.modal-body{border:2px solid #2a9fd6;border-top:none;background:#000;padding:30px}.modal-footer{display:flex;justify-content:flex-end;border:2px solid #2a9fd6;border-radius:0 0 8px 8px;border-top:none;background:#000;padding:20px}.close-modal{text-align:right;font-size:24px;cursor:pointer}@keyframes modalbox{0%{top:-250px;opacity:0}100%{top:0;opacity:1}}button{margin-left:20px;color:#d3d3d3;background:#000;border:2px solid #2a9fd6;border-radius:5px;padding:10px;cursor:pointer;transition:background-color .25s}button:hover{color:#fff;background-color:#2a9fd6;text-decoration:none;outline:0}::-moz-focus-inner{outline:0}

+ 10
- 8
public/views/home.html Zobrazit soubor

@@ -1,21 +1,23 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<title>Shimapan</title>
<meta charset="utf-8"/>
<base href="/"/>
<link rel="stylesheet" href="/css/home.css"/>
<title>Shrimpa</title>

<link rel="stylesheet" href="/css/home.min.css"/>
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet"/>
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet"/>
<script src="/js/shimapan.bundle.js"></script>

<script src="/js/shrimpa.bundle.js"></script>
</head>
<body ng-app="shimapan">
<body ng-app="shrimpa">
<div id="container">
<h1>Shimapan~</h1>
<h1>Shrimpa~</h1>
<upload-component></upload-component>
<nav>
<ul>
<li><a href="/">Shimapan</a></li>
<li><a href="/">Shrimpa</a></li>
<li><a href="/panel">Panel</a></li>
<li><a href="">Tools</a></li>
<li><a href="https://github.com/Foltik/shimapan">GitHub</a></li>
@@ -24,4 +26,4 @@
</nav>
</div>
</body>
</html>
</html>

+ 2
- 2
public/views/login.html Zobrazit soubor

@@ -6,9 +6,9 @@

<link href="/css/form.css" type="text/css" rel="stylesheet"/>

<script src="/js/shimapan.bundle.js"></script>
<script src="/js/shrimpa.bundle.js"></script>
</head>
<body ng-app="shimapan">
<body ng-app="shrimpa">
<div id="container">
<login-component></login-component>
</div>


+ 3
- 3
public/views/panel.html Zobrazit soubor

@@ -9,9 +9,9 @@
integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
<script src="/js/shimapan.bundle.js"></script>
</head>
<body ng-app="shimapan-panel">
<body ng-app="shrimpa-panel">
<div class="container">
<div class="sidebar-title" ng-click="$state.go('home')"><span>Shimapan</span></div>
<div class="sidebar-title" ng-click="$state.go('home')"><span>Shrimpa</span></div>
<div class="sidebar" ng-controller="NavController">
<ul class="nav">
<li>
@@ -48,4 +48,4 @@
</div>
</div>
</body>
</html>
</html>

+ 2
- 2
public/views/panel/keys.html Zobrazit soubor

@@ -21,7 +21,7 @@
<pre>{{currKey.key}}</pre>
<br/>
<p>This key can be used with any 3rd party program or service to upload to and manage your account
with Shimapan.</p>
with Shrimpa.</p>
<br/>
<p>Download the <a href="" ng-click="downloadBash()">bash script</a> to upload files from the command line.</p>
<br/>
@@ -75,4 +75,4 @@
</div>
</div>
</div>
</div>
</div>

+ 2
- 2
public/views/register.html Zobrazit soubor

@@ -6,9 +6,9 @@

<link href="/css/form.css" type="text/css" rel="stylesheet"/>

<script src="/js/shimapan.bundle.js"></script>
<script src="/js/shrimpa.bundle.js"></script>
</head>
<body ng-app="shimapan">
<body ng-app="shrimpa">
<div id="container">
<register-component></register-component>
</div>


public/views/shimapan/login-form.html → public/views/shrimpa/login-form.html Zobrazit soubor


public/views/shimapan/register-form.html → public/views/shrimpa/register-form.html Zobrazit soubor


public/views/shimapan/upload-form.html → public/views/shrimpa/upload-form.html Zobrazit soubor


+ 1
- 1
server.js Zobrazit soubor

@@ -42,7 +42,7 @@ app.use(session({
cookie: {
//secure: true,
httpOnly: true,
//domain: 'shimapan.rocks',
//domain: 'shrimpa.rocks',
maxAge: 1000 * 60 * 60
}
}));


Načítá se…
Zrušit
Uložit