Update deps, redesign 404

This commit is contained in:
Jonathan Cremin 2015-08-22 00:27:55 +01:00
parent eaba18d6f5
commit 51968374dd
5 changed files with 100 additions and 72 deletions

View file

@ -6,7 +6,7 @@
"private": true, "private": true,
"engines": { "engines": {
"iojs": "^2.5.0", "iojs": "^2.5.0",
"npm": "^3.2.0" "npm": "^3.3.0"
}, },
"scripts": { "scripts": {
"build": "npm run build-js && npm run build-sass", "build": "npm run build-js && npm run build-sass",
@ -17,8 +17,9 @@
"jspm": "jspm install", "jspm": "jspm install",
"start": "npm run build && babel-node app.js", "start": "npm run build && babel-node app.js",
"test": "mongo hostr test/fixtures/mongo-user.js test/fixtures/mongo-file.js && mocha -r babel/register test/api test/web", "test": "mongo hostr test/fixtures/mongo-user.js test/fixtures/mongo-file.js && mocha -r babel/register test/api test/web",
"watch": "nodemon -x \"babel-node\" app.js", "watch": "parallelshell \"npm run watch-js\" \"npm run watch-server\" \"npm run watch-sass\"",
"watch-js": "babel -D -w -m system -d web/public/build web/public/src", "watch-js": "babel -Dw -m system -d web/public/build web/public/src",
"watch-server": "nodemon -x \"babel-node\" app.js",
"watch-sass": "node-sass -w -r -o web/public/styles/ web/public/styles/" "watch-sass": "node-sass -w -r -o web/public/styles/ web/public/styles/"
}, },
"dependencies": { "dependencies": {
@ -28,18 +29,17 @@
"co": "~4.6.0", "co": "~4.6.0",
"co-busboy": "~1.3.0", "co-busboy": "~1.3.0",
"co-redis": "~1.2.1", "co-redis": "~1.2.1",
"co-views": "~1.0.0", "co-views": "~2.0.0",
"debug": "~2.2.0", "debug": "~2.2.0",
"ejs": "~2.3.2", "ejs": "~2.3.2",
"gm": "~1.18.1", "gm": "~1.18.1",
"heapdump": "^0.3.7", "http-errors": "~1.3.1",
"http-errors": "^1.3.1", "jspm": "~0.16.0",
"jspm": "~0.16.0-beta.3",
"kcors": "~1.0.1", "kcors": "~1.0.1",
"koa": "~0.21.0", "koa": "~0.21.0",
"koa-bodyparser": "~2.0.1", "koa-bodyparser": "~2.0.1",
"koa-compress": "~1.0.8", "koa-compress": "~1.0.8",
"koa-csrf": "^2.3.0", "koa-csrf": "~2.3.0",
"koa-favicon": "~1.2.0", "koa-favicon": "~1.2.0",
"koa-file-server": "~2.3.1", "koa-file-server": "~2.3.1",
"koa-generic-session": "~1.9.0", "koa-generic-session": "~1.9.0",
@ -47,7 +47,7 @@
"koa-mount": "~1.3.0", "koa-mount": "~1.3.0",
"koa-redis": "~1.0.0", "koa-redis": "~1.0.0",
"koa-route": "~2.4.2", "koa-route": "~2.4.2",
"koa-statsd": "0.0.2", "koa-statsd": "~0.0.2",
"koa-views": "~3.1.0", "koa-views": "~3.1.0",
"koa-websocket": "~1.0.0", "koa-websocket": "~1.0.0",
"mandrill-api": "~1.0.45", "mandrill-api": "~1.0.45",
@ -60,19 +60,20 @@
"passwords": "~1.3.0", "passwords": "~1.3.0",
"pretty-error": "~1.2.0", "pretty-error": "~1.2.0",
"raven": "~0.8.1", "raven": "~0.8.1",
"redis": "0.12.1", "redis": "~0.12.1",
"redis-url": "~1.2.1", "redis-url": "~1.2.1",
"s3-upload-stream": "~1.0.7", "s3-upload-stream": "~1.0.7",
"statsy": "^0.2.0", "statsy": "~0.2.0",
"stripe": "~3.7.0", "stripe": "~3.7.1",
"swig": "~1.4.2", "swig": "~1.4.2",
"virustotal.js": "~0.3.1" "virustotal.js": "~0.3.1"
}, },
"devDependencies": { "devDependencies": {
"eslint": "~1.1.0", "eslint": "~1.2.0",
"istanbul": "~0.3.18", "istanbul": "~0.3.18",
"mocha": "~2.2.5", "mocha": "~2.2.5",
"nodemon": "~1.4.1", "nodemon": "~1.4.1",
"parallelshell": "~2.0.0",
"supertest": "~1.0.1", "supertest": "~1.0.1",
"tmp": "~0.0.27" "tmp": "~0.0.27"
}, },
@ -93,9 +94,9 @@
"zeroclipboard": "npm:zeroclipboard@~2.2.0" "zeroclipboard": "npm:zeroclipboard@~2.2.0"
}, },
"devDependencies": { "devDependencies": {
"babel": "npm:babel-core@^5.8.5", "babel": "npm:babel-core@^5.8.22",
"babel-runtime": "npm:babel-runtime@^5.8.5", "babel-runtime": "npm:babel-runtime@^5.8.20",
"core-js": "npm:core-js@~1.0.0" "core-js": "npm:core-js@^1.1.0"
} }
} }
} }

View file

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html style='height:100%;'>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
@ -10,31 +10,23 @@
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,300,600' rel='stylesheet' type='text/css'> <link href='//fonts.googleapis.com/css?family=Open+Sans:400,300,600' rel='stylesheet' type='text/css'>
<link href="/styles/app.css" rel="stylesheet" /> <link href="/styles/app.css" rel="stylesheet" />
</head> </head>
<body> <body class='error'>
<section class="container header clearfix"> <div class='container main'>
<div class="row"> <div class='row'>
<div class="col-md-8 col-md-offset-2" style='text-align: center;'> <div class='col-md-12'>
<div class="logo"> <div class='error-logo'>
<a href="/"><img src="/images/logo-dark-r.png" height="22" width="26" alt=""></a> <a href='/'><img src='/images/logo-dark-r.png' width='26' height='22' /></a>
</div> </div>
</div> </div>
</div> </div>
</section> <div class='row vertical-center'>
<div class='col-md-12'>
<section class="jumbotron error-page"> <h2>404</h2>
<div class="container"> <h1>Sorry, it looks like the file you asked for is gone.</h1>
<div class="row"> <a href='/'>Take Me Home</a>
<div class="col-md-8 col-md-offset-2">
<h1>404</h1>
<h2>We can't find the file you're looking for :(</h2>
<p class="lead">The owner may have removed it or it may never have existed in the first place.</p>
<a href="/">Try our homepage instead :)</a>
</div>
</div> </div>
</div> </div>
</section> </div>
<script> <script>
var _gaq=[['_setAccount','UA-66209-2'],['_setDomainName', 'hostr.co'],['_trackPageview']]; var _gaq=[['_setAccount','UA-66209-2'],['_setDomainName', 'hostr.co'],['_trackPageview']];

View file

@ -1,55 +1,58 @@
System.config({ System.config({
"defaultJSExtensions": true, defaultJSExtensions: true,
"transpiler": "babel", transpiler: "babel",
"babelOptions": { babelOptions: {
"optional": [ "optional": [
"runtime" "runtime"
] ]
}, },
"paths": { paths: {
"github:*": "jspm_packages/github/*", "github:*": "jspm_packages/github/*",
"npm:*": "jspm_packages/npm/*" "npm:*": "jspm_packages/npm/*"
} },
});
System.config({ map: {
"map": { "angular": "npm:angular@1.4.4",
"angular": "npm:angular@1.4.3",
"angular-reconnecting-websocket": "github:adieu/angular-reconnecting-websocket@0.1.1", "angular-reconnecting-websocket": "github:adieu/angular-reconnecting-websocket@0.1.1",
"angular-strap": "npm:angular-strap@2.1.2", "angular-strap": "npm:angular-strap@2.3.1",
"angular/resource": "npm:angular-resource@1.4.3", "angular/resource": "npm:angular-resource@1.4.4",
"angular/route": "npm:angular-route@1.4.3", "angular/route": "npm:angular-route@1.4.4",
"babel": "npm:babel-core@5.8.5", "babel": "npm:babel-core@5.8.22",
"babel-runtime": "npm:babel-runtime@5.8.5", "babel-runtime": "npm:babel-runtime@5.8.20",
"bootstrap-sass": "npm:bootstrap-sass@3.3.5", "bootstrap-sass": "npm:bootstrap-sass@3.3.5",
"cferdinandi/smooth-scroll": "github:cferdinandi/smooth-scroll@5.3.7", "cferdinandi/smooth-scroll": "github:cferdinandi/smooth-scroll@5.3.7",
"core-js": "npm:core-js@0.9.18", "core-js": "npm:core-js@1.1.1",
"dropzone": "npm:dropzone@4.0.1", "dropzone": "npm:dropzone@4.0.1",
"jquery": "npm:jquery@2.1.4", "jquery": "npm:jquery@2.1.4",
"zeroclipboard": "npm:zeroclipboard@2.2.0", "zeroclipboard": "npm:zeroclipboard@2.2.0",
"github:jspm/nodelibs-buffer@0.1.0": {
"buffer": "npm:buffer@3.4.2"
},
"github:jspm/nodelibs-path@0.1.0": { "github:jspm/nodelibs-path@0.1.0": {
"path-browserify": "npm:path-browserify@0.0.0" "path-browserify": "npm:path-browserify@0.0.0"
}, },
"github:jspm/nodelibs-process@0.1.1": { "github:jspm/nodelibs-process@0.1.1": {
"process": "npm:process@0.10.1" "process": "npm:process@0.10.1"
}, },
"github:jspm/nodelibs-util@0.1.0": { "npm:angular-strap@2.3.1": {
"util": "npm:util@0.10.3" "buffer": "github:jspm/nodelibs-buffer@0.1.0",
},
"npm:angular-strap@2.1.2": {
"fs": "github:jspm/nodelibs-fs@0.1.2", "fs": "github:jspm/nodelibs-fs@0.1.2",
"path": "github:jspm/nodelibs-path@0.1.0", "path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1", "process": "github:jspm/nodelibs-process@0.1.1",
"systemjs-json": "github:systemjs/plugin-json@0.1.0", "systemjs-json": "github:systemjs/plugin-json@0.1.0"
"util": "github:jspm/nodelibs-util@0.1.0"
}, },
"npm:angular@1.4.3": { "npm:angular@1.4.4": {
"process": "github:jspm/nodelibs-process@0.1.1" "process": "github:jspm/nodelibs-process@0.1.1"
}, },
"npm:babel-runtime@5.8.5": { "npm:babel-runtime@5.8.20": {
"process": "github:jspm/nodelibs-process@0.1.1" "process": "github:jspm/nodelibs-process@0.1.1"
}, },
"npm:core-js@0.9.18": { "npm:buffer@3.4.2": {
"base64-js": "npm:base64-js@0.0.8",
"ieee754": "npm:ieee754@1.1.6",
"is-array": "npm:is-array@1.0.1"
},
"npm:core-js@1.1.1": {
"fs": "github:jspm/nodelibs-fs@0.1.2", "fs": "github:jspm/nodelibs-fs@0.1.2",
"process": "github:jspm/nodelibs-process@0.1.1", "process": "github:jspm/nodelibs-process@0.1.1",
"systemjs-json": "github:systemjs/plugin-json@0.1.0" "systemjs-json": "github:systemjs/plugin-json@0.1.0"
@ -57,22 +60,14 @@ System.config({
"npm:dropzone@4.0.1": { "npm:dropzone@4.0.1": {
"process": "github:jspm/nodelibs-process@0.1.1" "process": "github:jspm/nodelibs-process@0.1.1"
}, },
"npm:inherits@2.0.1": {
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:jquery@2.1.4": { "npm:jquery@2.1.4": {
"process": "github:jspm/nodelibs-process@0.1.1" "process": "github:jspm/nodelibs-process@0.1.1"
}, },
"npm:path-browserify@0.0.0": { "npm:path-browserify@0.0.0": {
"process": "github:jspm/nodelibs-process@0.1.1" "process": "github:jspm/nodelibs-process@0.1.1"
}, },
"npm:util@0.10.3": {
"inherits": "npm:inherits@2.0.1",
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:zeroclipboard@2.2.0": { "npm:zeroclipboard@2.2.0": {
"process": "github:jspm/nodelibs-process@0.1.1" "process": "github:jspm/nodelibs-process@0.1.1"
} }
} }
}); });

View file

@ -3,7 +3,9 @@ import ngRoute from 'angular/route';
import ngResource from 'angular/resource'; import ngResource from 'angular/resource';
import ReconnectingWebSocket from 'angular-reconnecting-websocket'; import ReconnectingWebSocket from 'angular-reconnecting-websocket';
import ngDimensions from 'angular-strap/dist/modules/dimensions'; import ngDimensions from 'angular-strap/dist/modules/dimensions';
import ngStrapCore from 'angular-strap/dist/modules/compiler';
import ngTooltip from 'angular-strap/dist/modules/tooltip'; import ngTooltip from 'angular-strap/dist/modules/tooltip';
import ngTooltipTemplate from 'angular-strap/dist/modules/tooltip.tpl';
import { FilesController, FileController, AccountController, ProController, BillingController } from './app/controllers'; import { FilesController, FileController, AccountController, ProController, BillingController } from './app/controllers';
import { appHeader, appFooter, menuDropdown, searchShortcut, stripeSubscribe } from './app/directives'; import { appHeader, appFooter, menuDropdown, searchShortcut, stripeSubscribe } from './app/directives';
@ -17,6 +19,7 @@ var app = angular.module('hostr', [
'ngRoute', 'ngRoute',
'ngResource', 'ngResource',
'reconnectingWebSocket', 'reconnectingWebSocket',
'mgcrea.ngStrap.core',
'mgcrea.ngStrap.tooltip' 'mgcrea.ngStrap.tooltip'
]); ]);
@ -38,7 +41,6 @@ app.directive('searchShortcut', ['$document', searchShortcut]);
app.directive('stripeSubscribe', ['$http', stripeSubscribe]); app.directive('stripeSubscribe', ['$http', stripeSubscribe]);
app.config(['$routeProvider', '$locationProvider', '$httpProvider', '$tooltipProvider', function($routeProvider, $locationProvider, $httpProvider, $tooltipProvider) { app.config(['$routeProvider', '$locationProvider', '$httpProvider', '$tooltipProvider', function($routeProvider, $locationProvider, $httpProvider, $tooltipProvider) {
$tooltipProvider.defaults.template = '/jspm_packages/npm/angular-strap@2.1.2/src/tooltip/tooltip.tpl.html';
if (typeof window.user !== 'undefined') { if (typeof window.user !== 'undefined') {
$httpProvider.defaults.headers.common.Authorization = ':' + window.user.token; $httpProvider.defaults.headers.common.Authorization = ':' + window.user.token;

View file

@ -1023,8 +1023,46 @@ a {
} }
} }
.error-page { .error {
background: none; // color: #96a9b3;
}
.error h1, .error h2 {
font-weight: 100;
}
.error .main h1 {
font-size: 2em;
margin-bottom: 20px;
}
.error h2 {
color: #b6c7d0;
font-size: 4em;
margin-top: 0px;
margin-bottom: 20px;
}
.error .col-md-12 {
margin-top: -1px;
}
.error a {
color: #96a9b3;
}
.error-logo {
position: absolute;
top: 50px;
left: 15px;
}
.vertical-center {
min-height: 100%; /* Fallback for browsers do NOT support vh unit */
min-height: 100vh; /* These two lines are counted as one :-) */
display: flex;
align-items: center;
} }
.stats { .stats {