Jack Foltz 2 роки тому
джерело
коміт
0a69781891
26 змінених файлів з 143 додано та 105 видалено
  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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

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

app/public/shimapan/components/RegisterComp.js → app/public/shrimpa/components/RegisterComp.js Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл


public/views/shimapan/register-form.html → public/views/shrimpa/register-form.html Переглянути файл


public/views/shimapan/upload-form.html → public/views/shrimpa/upload-form.html Переглянути файл


+ 1
- 1
server.js Переглянути файл

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


Завантаження…
Відмінити
Зберегти