aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/angular/app
diff options
context:
space:
mode:
Diffstat (limited to 'client/angular/app')
-rw-r--r--client/angular/app/app.component.html37
-rw-r--r--client/angular/app/app.component.scss28
-rw-r--r--client/angular/app/app.component.ts63
3 files changed, 128 insertions, 0 deletions
diff --git a/client/angular/app/app.component.html b/client/angular/app/app.component.html
new file mode 100644
index 000000000..590efa0d6
--- /dev/null
+++ b/client/angular/app/app.component.html
@@ -0,0 +1,37 @@
1<div class="container">
2
3 <div class="row">
4
5 <menu class="col-md-2">
6 <div id="panel_get_videos" class="panel_button">
7 <span class="glyphicon glyphicon-list"></span>
8 <a [routerLink]="['VideosList']">Get videos</a>
9 </div>
10
11 <div id="panel_upload_video" class="panel_button">
12 <span class="glyphicon glyphicon-cloud-upload"></span>
13 <a [routerLink]="['VideosAdd']">Upload a video</a>
14 </div>
15
16 <div id="panel_make_friends" class="panel_button">
17 <span class="glyphicon glyphicon-user"></span>
18 <a (click)='makeFriends()'>Make friends</a>
19 </div>
20
21 <div id="panel_quit_friends" class="panel_button">
22 <span class="glyphicon glyphicon-plane"></span>
23 <a (click)='quitFriends()'>Quit friends</a>
24 </div>
25 </menu>
26
27 <div class="col-md-9 router_outler_container">
28 <router-outlet></router-outlet>
29 </div>
30
31 </div>
32
33
34 <footer>
35 PeerTube, CopyLeft 2015-2016
36 </footer>
37</div>
diff --git a/client/angular/app/app.component.scss b/client/angular/app/app.component.scss
new file mode 100644
index 000000000..03ecba8f2
--- /dev/null
+++ b/client/angular/app/app.component.scss
@@ -0,0 +1,28 @@
1menu {
2 min-height: 300px;
3 height: 100%;
4 margin-right: 20px;
5 border-right: 1px solid rgba(0, 0, 0, 0.2);
6
7 .panel_button {
8 margin: 8px;
9 cursor: pointer;
10 transition: margin 0.2s;
11
12 &:hover {
13 margin-left: 15px;
14 }
15
16 a {
17 color: #333333;
18 }
19 }
20
21 .glyphicon {
22 margin: 5px;
23 }
24}
25
26footer {
27 margin-top: 30px;
28}
diff --git a/client/angular/app/app.component.ts b/client/angular/app/app.component.ts
new file mode 100644
index 000000000..3d41183f2
--- /dev/null
+++ b/client/angular/app/app.component.ts
@@ -0,0 +1,63 @@
1import { Component, ElementRef } from 'angular2/core';
2import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from 'angular2/router';
3import {HTTP_PROVIDERS} from 'angular2/http';
4
5import { VideosAddComponent } from '../videos/components/add/videos-add.component';
6import { VideosListComponent } from '../videos/components/list/videos-list.component';
7import { VideosWatchComponent } from '../videos/components/watch/videos-watch.component';
8import { VideosService } from '../videos/services/videos.service';
9import { FriendsService } from '../friends/services/friends.service';
10
11@RouteConfig([
12 {
13 path: '/videos/list',
14 name: 'VideosList',
15 component: VideosListComponent,
16 useAsDefault: true
17 },
18 {
19 path: '/videos/watch/:id',
20 name: 'VideosWatch',
21 component: VideosWatchComponent
22 },
23 {
24 path: '/videos/add',
25 name: 'VideosAdd',
26 component: VideosAddComponent
27 }
28])
29
30@Component({
31 selector: 'my-app',
32 templateUrl: 'app/angular/app/app.component.html',
33 styleUrls: [ 'app/angular/app/app.component.css' ],
34 directives: [ ROUTER_DIRECTIVES ],
35 providers: [ ROUTER_PROVIDERS, HTTP_PROVIDERS, ElementRef, VideosService, FriendsService ]
36})
37
38export class AppComponent {
39 constructor(private _friendsService: FriendsService) {}
40
41 makeFriends() {
42 this._friendsService.makeFriends().subscribe(
43 status => {
44 if (status === 409) {
45 alert('Already made friends!');
46 }
47 else {
48 alert('Made friends!');
49 }
50 },
51 error => alert(error)
52 )
53 }
54
55 quitFriends() {
56 this._friendsService.quitFriends().subscribe(
57 status => {
58 alert('Quit friends!');
59 },
60 error => alert(error)
61 )
62 }
63}