From bd324a669218f9ed302f7f54b36ee535d25c9733 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 8 Mar 2016 08:27:13 +0100 Subject: Prepare client app --- client/.gitignore | 6 +-- client/app/app.component.html | 1 - client/app/app.component.scss | 3 -- client/app/app.component.ts | 10 ----- client/app/main.ts | 4 -- client/components/app/app.component.html | 23 ++++++++++++ client/components/app/app.component.scss | 0 client/components/app/app.component.ts | 43 ++++++++++++++++++++++ client/components/bootstrap.ts | 4 ++ .../components/videos/add/videos-add.component.ts | 1 + .../videos/list/videos-list.component.ts | 1 + .../videos/watch/videos-watch.component.ts | 1 + client/index.html | 24 ++++++------ package.json | 18 ++++----- server.js | 10 +++-- 15 files changed, 105 insertions(+), 44 deletions(-) delete mode 100644 client/app/app.component.html delete mode 100644 client/app/app.component.scss delete mode 100644 client/app/app.component.ts delete mode 100644 client/app/main.ts create mode 100644 client/components/app/app.component.html create mode 100644 client/components/app/app.component.scss create mode 100644 client/components/app/app.component.ts create mode 100644 client/components/bootstrap.ts create mode 100644 client/components/videos/add/videos-add.component.ts create mode 100644 client/components/videos/list/videos-list.component.ts create mode 100644 client/components/videos/watch/videos-watch.component.ts diff --git a/client/.gitignore b/client/.gitignore index 548b53226..439f0c025 100644 --- a/client/.gitignore +++ b/client/.gitignore @@ -1,5 +1,5 @@ typings -app/**/*.js -app/**/*.map +components/**/*.js +components/**/*.map stylesheets/index.css -app/*.css +components/**/*.css diff --git a/client/app/app.component.html b/client/app/app.component.html deleted file mode 100644 index b6515528b..000000000 --- a/client/app/app.component.html +++ /dev/null @@ -1 +0,0 @@ -

{{ title }}

diff --git a/client/app/app.component.scss b/client/app/app.component.scss deleted file mode 100644 index e7315a8e9..000000000 --- a/client/app/app.component.scss +++ /dev/null @@ -1,3 +0,0 @@ -h1 { - font-size: 100px; -} diff --git a/client/app/app.component.ts b/client/app/app.component.ts deleted file mode 100644 index c908663e9..000000000 --- a/client/app/app.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import {Component} from 'angular2/core'; - -@Component({ - selector: 'my-app', - templateUrl: 'app/app.component.html', - styleUrls: [ 'app/app.component.css' ] -}) -export class AppComponent { - title = "coucou"; -} diff --git a/client/app/main.ts b/client/app/main.ts deleted file mode 100644 index 034c15573..000000000 --- a/client/app/main.ts +++ /dev/null @@ -1,4 +0,0 @@ -import {bootstrap} from 'angular2/platform/browser' -import {AppComponent} from './app.component' - -bootstrap(AppComponent); diff --git a/client/components/app/app.component.html b/client/components/app/app.component.html new file mode 100644 index 000000000..5a841ca0f --- /dev/null +++ b/client/components/app/app.component.html @@ -0,0 +1,23 @@ +
+
+ + + + + + + + + + + +
+
diff --git a/client/components/app/app.component.scss b/client/components/app/app.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/client/components/app/app.component.ts b/client/components/app/app.component.ts new file mode 100644 index 000000000..e2cebf535 --- /dev/null +++ b/client/components/app/app.component.ts @@ -0,0 +1,43 @@ +import {Component} from 'angular2/core'; +import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from 'angular2/router'; + +import { VideosAddComponent } from '../videos/add/videos-add.component'; +import { VideosListComponent } from '../videos/list/videos-list.component'; +import { VideosWatchComponent } from '../videos/watch/videos-watch.component'; + +@RouteConfig([ + { + path: '/videos/list', + name: 'VideosList', + component: VideosListComponent, + useAsDefault: true + }, + { + path: '/videos/watch/:id', + name: 'VideosWatch', + component: VideosWatchComponent + }, + { + path: '/videos/add', + name: 'VideosAdd', + component: VideosAddComponent + } +]) + +@Component({ + selector: 'my-app', + templateUrl: 'app/components/app/app.component.html', + styleUrls: [ 'app/components/app/app.component.css' ], + directives: [ ROUTER_DIRECTIVES ], + providers: [ ROUTER_PROVIDERS ] +}) + +export class AppComponent { + makeFriends() { + alert('make Friends'); + } + + quitFriends() { + alert('quit Friends'); + } +} diff --git a/client/components/bootstrap.ts b/client/components/bootstrap.ts new file mode 100644 index 000000000..d0f524f4a --- /dev/null +++ b/client/components/bootstrap.ts @@ -0,0 +1,4 @@ +import { bootstrap } from 'angular2/platform/browser'; +import { AppComponent } from './app/app.component'; + +bootstrap(AppComponent); diff --git a/client/components/videos/add/videos-add.component.ts b/client/components/videos/add/videos-add.component.ts new file mode 100644 index 000000000..0db7c0163 --- /dev/null +++ b/client/components/videos/add/videos-add.component.ts @@ -0,0 +1 @@ +export class VideosAddComponent {} diff --git a/client/components/videos/list/videos-list.component.ts b/client/components/videos/list/videos-list.component.ts new file mode 100644 index 000000000..54470a5ad --- /dev/null +++ b/client/components/videos/list/videos-list.component.ts @@ -0,0 +1 @@ +export class VideosListComponent {} diff --git a/client/components/videos/watch/videos-watch.component.ts b/client/components/videos/watch/videos-watch.component.ts new file mode 100644 index 000000000..84daef336 --- /dev/null +++ b/client/components/videos/watch/videos-watch.component.ts @@ -0,0 +1 @@ +export class VideosWatchComponent {} diff --git a/client/index.html b/client/index.html index 7aa408181..f971b9fdb 100644 --- a/client/index.html +++ b/client/index.html @@ -6,27 +6,29 @@ - - - + + + - - - - - + + + + + diff --git a/package.json b/package.json index cebd5b506..aabd5616f 100644 --- a/package.json +++ b/package.json @@ -20,18 +20,18 @@ "build": "concurrently \"npm run client:sass\" \"npm run client:tsc\"", "client:clean": "concurrently \"npm run client:tsc:clean\" \"npm run client:sass:clean\"", "client:sass:index": "npm run client:sass:index:clean && cd client && node-sass --include-path node_modules/bootstrap-sass/assets/stylesheets/ stylesheets/application.scss stylesheets/index.css", - "client:sass:index:watch": "npm run client:sass:index:clean && cd client && node-sass -w --include-path node_modules/bootstrap-sass/assets/stylesheets/ stylesheets/application.scss stylesheets/index.css", + "client:sass:index:watch": "cd client && node-sass -w --include-path node_modules/bootstrap-sass/assets/stylesheets/ stylesheets/application.scss stylesheets/index.css", "client:sass:index:clean": "cd client && rm -f stylesheets/index.css", - "client:sass:app": "cd client && node-sass app/ --output app/", - "client:sass:app:watch": "cd client && node-sass -w app/ --output app/", - "client:sass:app:clean": "cd client && rm -f app/*.css", - "client:sass": "concurrently \"npm run client:sass:index\" \"npm run client:sass:app\"", - "client:sass:watch": "concurrently \"npm run client:sass:index:watch\" \"npm run client:sass:app:watch\"", - "client:sass:clean": "concurrently \"npm run client:sass:index:clean\" \"npm run client:sass:app:clean\"", + "client:sass:components": "cd client && node-sass components/ --output components/", + "client:sass:components:watch": "cd client && node-sass -w components/ --output components/", + "client:sass:components:clean": "cd client && rm -f components/**/*.css", + "client:sass": "concurrently \"npm run client:sass:index\" \"npm run client:sass:components\"", + "client:sass:watch": "concurrently \"npm run client:sass:index:watch\" \"npm run client:sass:components:watch\"", + "client:sass:clean": "concurrently \"npm run client:sass:index:clean\" \"npm run client:sass:components:clean\"", "client:tsc": "cd client && npm run tsc", "client:tsc:watch": "cd client && npm run tsc:w", - "client:tsc:clean": "cd client && rm -f app/*.js app/*.js.map", - "dev": "concurrently \"npm run livereload\" \"npm run client:tsc:watch\" \"npm run client:sass:watch\" \"npm start\"", + "client:tsc:clean": "cd client && rm -f components/**/*.js components/**/*.js.map", + "dev": "npm run build && concurrently \"npm run livereload\" \"npm run client:tsc:watch\" \"npm run client:sass:watch\" \"npm start\"", "livereload": "livereload ./client", "start": "node server", "test": "standard && mocha server/tests" diff --git a/server.js b/server.js index 72c2e7cd1..cf594453d 100644 --- a/server.js +++ b/server.js @@ -66,13 +66,17 @@ app.use(require('connect-livereload')({ // Catch sefaults require('segfault-handler').registerHandler() -// Static files -app.use(express.static(path.join(__dirname, '/client'), { maxAge: 0 })) - // API routes var api_route = '/api/' + constants.API_VERSION app.use(api_route, routes.api) +// Static files +app.use('/app', express.static(path.join(__dirname, '/client'), { maxAge: 0 })) +// 404 for static files not found +app.use('/app/*', function (req, res, next) { + res.sendStatus(404) +}) + // Client application app.use('/*', function (req, res, next) { res.sendFile(path.join(__dirname, 'client/index.html')) -- cgit v1.2.3