diff options
Diffstat (limited to 'client/src')
11 files changed, 48 insertions, 18 deletions
diff --git a/client/src/app/account/account-settings/account-change-password/account-change-password.component.html b/client/src/app/account/account-settings/account-change-password/account-change-password.component.html index c57e705f9..b0e3cada4 100644 --- a/client/src/app/account/account-settings/account-change-password/account-change-password.component.html +++ b/client/src/app/account/account-settings/account-change-password/account-change-password.component.html | |||
@@ -4,15 +4,15 @@ | |||
4 | 4 | ||
5 | <label for="new-password">Change password</label> | 5 | <label for="new-password">Change password</label> |
6 | <input | 6 | <input |
7 | type="password" class="form-control" id="new-password" placeholder="Old password" | 7 | type="password" id="new-password" placeholder="New password" |
8 | formControlName="new-password" | 8 | formControlName="new-password" [ngClass]="{ 'input-error': formErrors['new-password'] }" |
9 | > | 9 | > |
10 | <div *ngIf="formErrors['new-password']" class="alert alert-danger"> | 10 | <div *ngIf="formErrors['new-password']" class="form-error"> |
11 | {{ formErrors['new-password'] }} | 11 | {{ formErrors['new-password'] }} |
12 | </div> | 12 | </div> |
13 | 13 | ||
14 | <input | 14 | <input |
15 | type="password" id="new-confirmed-password" placeholder="New password" | 15 | type="password" id="new-confirmed-password" placeholder="Confirm new password" |
16 | formControlName="new-confirmed-password" | 16 | formControlName="new-confirmed-password" |
17 | > | 17 | > |
18 | 18 | ||
diff --git a/client/src/app/account/account-settings/account-change-password/account-change-password.component.scss b/client/src/app/account/account-settings/account-change-password/account-change-password.component.scss index 593355b70..75827abbf 100644 --- a/client/src/app/account/account-settings/account-change-password/account-change-password.component.scss +++ b/client/src/app/account/account-settings/account-change-password/account-change-password.component.scss | |||
@@ -1,9 +1,14 @@ | |||
1 | input[type=password] { | 1 | input[type=password] { |
2 | @include peertube-input-text(340px); | 2 | @include peertube-input-text(340px); |
3 | display: block; | 3 | display: block; |
4 | margin-bottom: 10px; | 4 | |
5 | &#new-confirmed-password { | ||
6 | margin-top: 15px; | ||
7 | } | ||
5 | } | 8 | } |
6 | 9 | ||
7 | input[type=submit] { | 10 | input[type=submit] { |
8 | @include peertube-button; | 11 | @include peertube-button; |
12 | margin-top: 15px; | ||
9 | } | 13 | } |
14 | |||
diff --git a/client/src/app/account/account-settings/account-details/account-details.component.html b/client/src/app/account/account-settings/account-details/account-details.component.html index c3cf6b629..bc18b39b4 100644 --- a/client/src/app/account/account-settings/account-details/account-details.component.html +++ b/client/src/app/account/account-settings/account-details/account-details.component.html | |||
@@ -10,5 +10,5 @@ | |||
10 | {{ formErrors['displayNSFW'] }} | 10 | {{ formErrors['displayNSFW'] }} |
11 | </div> | 11 | </div> |
12 | 12 | ||
13 | <input type="submit" value="Update" [disabled]="!form.valid"> | 13 | <input type="submit" value="Save" [disabled]="!form.valid"> |
14 | </form> | 14 | </form> |
diff --git a/client/src/app/account/account-settings/account-details/account-details.component.scss b/client/src/app/account/account-settings/account-details/account-details.component.scss index b1810d4f9..687166d9e 100644 --- a/client/src/app/account/account-settings/account-details/account-details.component.scss +++ b/client/src/app/account/account-settings/account-details/account-details.component.scss | |||
@@ -8,4 +8,5 @@ input[type=submit] { | |||
8 | @include peertube-button; | 8 | @include peertube-button; |
9 | 9 | ||
10 | display: block; | 10 | display: block; |
11 | margin-top: 15px; | ||
11 | } | 12 | } |
diff --git a/client/src/app/account/account-videos/account-videos.component.html b/client/src/app/account/account-videos/account-videos.component.html index eb0a32fd3..81bda9477 100644 --- a/client/src/app/account/account-videos/account-videos.component.html +++ b/client/src/app/account/account-videos/account-videos.component.html | |||
@@ -1,7 +1,9 @@ | |||
1 | <div | 1 | <div |
2 | infiniteScroll | 2 | infiniteScroll |
3 | [infiniteScrollDistance]="0.5" | 3 | [infiniteScrollDistance]="0.5" |
4 | [infiniteScrollUpDistance]="1.5" | ||
4 | (scrolled)="onNearOfBottom()" | 5 | (scrolled)="onNearOfBottom()" |
6 | (scrolledUp)="onNearOfTop()" | ||
5 | > | 7 | > |
6 | <div class="video" *ngFor="let video of videos"> | 8 | <div class="video" *ngFor="let video of videos"> |
7 | <my-video-thumbnail [video]="video"></my-video-thumbnail> | 9 | <my-video-thumbnail [video]="video"></my-video-thumbnail> |
diff --git a/client/src/app/account/account-videos/account-videos.component.scss b/client/src/app/account/account-videos/account-videos.component.scss index b26933d22..c31497350 100644 --- a/client/src/app/account/account-videos/account-videos.component.scss +++ b/client/src/app/account/account-videos/account-videos.component.scss | |||
@@ -2,8 +2,11 @@ | |||
2 | display: flex; | 2 | display: flex; |
3 | height: 130px; | 3 | height: 130px; |
4 | padding-bottom: 20px; | 4 | padding-bottom: 20px; |
5 | margin-bottom: 20px; | 5 | |
6 | border-bottom: 1px solid #C6C6C6; | 6 | &:not(:last-child) { |
7 | margin-bottom: 20px; | ||
8 | border-bottom: 1px solid #C6C6C6; | ||
9 | } | ||
7 | 10 | ||
8 | my-video-thumbnail { | 11 | my-video-thumbnail { |
9 | margin-right: 10px; | 12 | margin-right: 10px; |
diff --git a/client/src/app/login/login.component.html b/client/src/app/login/login.component.html index 82b70c98c..24807987c 100644 --- a/client/src/app/login/login.component.html +++ b/client/src/app/login/login.component.html | |||
@@ -10,9 +10,9 @@ | |||
10 | <label for="username">Username</label> | 10 | <label for="username">Username</label> |
11 | <input | 11 | <input |
12 | type="text" id="username" placeholder="Username" required | 12 | type="text" id="username" placeholder="Username" required |
13 | formControlName="username" | 13 | formControlName="username" [ngClass]="{ 'input-error': formErrors['username'] }" |
14 | > | 14 | > |
15 | <div *ngIf="formErrors.username" class="alert alert-danger"> | 15 | <div *ngIf="formErrors.username" class="form-error"> |
16 | {{ formErrors.username }} | 16 | {{ formErrors.username }} |
17 | </div> | 17 | </div> |
18 | </div> | 18 | </div> |
@@ -21,9 +21,9 @@ | |||
21 | <label for="password">Password</label> | 21 | <label for="password">Password</label> |
22 | <input | 22 | <input |
23 | type="password" name="password" id="password" placeholder="Password" required | 23 | type="password" name="password" id="password" placeholder="Password" required |
24 | formControlName="password" | 24 | formControlName="password" [ngClass]="{ 'input-error': formErrors['password'] }" |
25 | > | 25 | > |
26 | <div *ngIf="formErrors.password" class="alert alert-danger"> | 26 | <div *ngIf="formErrors.password" class="form-error"> |
27 | {{ formErrors.password }} | 27 | {{ formErrors.password }} |
28 | </div> | 28 | </div> |
29 | </div> | 29 | </div> |
diff --git a/client/src/app/shared/video/abstract-video-list.ts b/client/src/app/shared/video/abstract-video-list.ts index 84ca5cbe4..ee1ed2cb2 100644 --- a/client/src/app/shared/video/abstract-video-list.ts +++ b/client/src/app/shared/video/abstract-video-list.ts | |||
@@ -32,6 +32,7 @@ export abstract class AbstractVideoList implements OnInit { | |||
32 | // Subscribe to route changes | 32 | // Subscribe to route changes |
33 | const routeParams = this.route.snapshot.params | 33 | const routeParams = this.route.snapshot.params |
34 | this.loadRouteParams(routeParams) | 34 | this.loadRouteParams(routeParams) |
35 | |||
35 | if (this.loadOnInit === true) this.loadMoreVideos('after') | 36 | if (this.loadOnInit === true) this.loadMoreVideos('after') |
36 | } | 37 | } |
37 | 38 | ||
@@ -60,6 +61,13 @@ export abstract class AbstractVideoList implements OnInit { | |||
60 | 61 | ||
61 | observable.subscribe( | 62 | observable.subscribe( |
62 | ({ videos, totalVideos }) => { | 63 | ({ videos, totalVideos }) => { |
64 | // Paging is too high, return to the first one | ||
65 | if (totalVideos <= ((this.pagination.currentPage - 1) * this.pagination.itemsPerPage)) { | ||
66 | this.pagination.currentPage = 1 | ||
67 | this.setNewRouteParams() | ||
68 | return this.reloadVideos() | ||
69 | } | ||
70 | |||
63 | this.loadedPages[this.pagination.currentPage] = true | 71 | this.loadedPages[this.pagination.currentPage] = true |
64 | this.pagination.totalItems = totalVideos | 72 | this.pagination.totalItems = totalVideos |
65 | 73 | ||
diff --git a/client/src/app/signup/signup.component.html b/client/src/app/signup/signup.component.html index 8a30ab512..eb36b29f6 100644 --- a/client/src/app/signup/signup.component.html +++ b/client/src/app/signup/signup.component.html | |||
@@ -11,9 +11,9 @@ | |||
11 | <label for="username">Username</label> | 11 | <label for="username">Username</label> |
12 | <input | 12 | <input |
13 | type="text" class="form-control" id="username" placeholder="Username" | 13 | type="text" class="form-control" id="username" placeholder="Username" |
14 | formControlName="username" | 14 | formControlName="username" [ngClass]="{ 'input-error': formErrors['username'] }" |
15 | > | 15 | > |
16 | <div *ngIf="formErrors.username" class="alert alert-danger"> | 16 | <div *ngIf="formErrors.username" class="form-error"> |
17 | {{ formErrors.username }} | 17 | {{ formErrors.username }} |
18 | </div> | 18 | </div> |
19 | </div> | 19 | </div> |
@@ -22,9 +22,9 @@ | |||
22 | <label for="email">Email</label> | 22 | <label for="email">Email</label> |
23 | <input | 23 | <input |
24 | type="text" class="form-control" id="email" placeholder="Email" | 24 | type="text" class="form-control" id="email" placeholder="Email" |
25 | formControlName="email" | 25 | formControlName="email" [ngClass]="{ 'input-error': formErrors['email'] }" |
26 | > | 26 | > |
27 | <div *ngIf="formErrors.email" class="alert alert-danger"> | 27 | <div *ngIf="formErrors.email" class="form-error"> |
28 | {{ formErrors.email }} | 28 | {{ formErrors.email }} |
29 | </div> | 29 | </div> |
30 | </div> | 30 | </div> |
@@ -33,9 +33,9 @@ | |||
33 | <label for="password">Password</label> | 33 | <label for="password">Password</label> |
34 | <input | 34 | <input |
35 | type="password" class="form-control" id="password" placeholder="Password" | 35 | type="password" class="form-control" id="password" placeholder="Password" |
36 | formControlName="password" | 36 | formControlName="password" [ngClass]="{ 'input-error': formErrors['password'] }" |
37 | > | 37 | > |
38 | <div *ngIf="formErrors.password" class="alert alert-danger"> | 38 | <div *ngIf="formErrors.password" class="form-error"> |
39 | {{ formErrors.password }} | 39 | {{ formErrors.password }} |
40 | </div> | 40 | </div> |
41 | </div> | 41 | </div> |
diff --git a/client/src/sass/_variables.scss b/client/src/sass/_variables.scss index 0d655e85c..81dafdc19 100644 --- a/client/src/sass/_variables.scss +++ b/client/src/sass/_variables.scss | |||
@@ -7,6 +7,7 @@ $orange-color: #F1680D; | |||
7 | 7 | ||
8 | $black-background: #000; | 8 | $black-background: #000; |
9 | $grey-background: #f6f2f2; | 9 | $grey-background: #f6f2f2; |
10 | $red-error: #FF0000; | ||
10 | 11 | ||
11 | $expanded-horizontal-margins: 150px; | 12 | $expanded-horizontal-margins: 150px; |
12 | $not-expanded-horizontal-margins: 30px; | 13 | $not-expanded-horizontal-margins: 30px; |
diff --git a/client/src/sass/application.scss b/client/src/sass/application.scss index 4c5c0202c..b860e1bf2 100644 --- a/client/src/sass/application.scss +++ b/client/src/sass/application.scss | |||
@@ -25,6 +25,16 @@ label { | |||
25 | font-size: 15px; | 25 | font-size: 15px; |
26 | } | 26 | } |
27 | 27 | ||
28 | .form-error { | ||
29 | display: block; | ||
30 | color: $red-error; | ||
31 | margin-top: 5px; | ||
32 | } | ||
33 | |||
34 | .input-error { | ||
35 | border-color: $red-error !important; | ||
36 | } | ||
37 | |||
28 | .glyphicon-black { | 38 | .glyphicon-black { |
29 | color: black; | 39 | color: black; |
30 | } | 40 | } |