diff options
Diffstat (limited to 'client')
7 files changed, 21 insertions, 19 deletions
diff --git a/client/src/app/+stats/video/video-stats.component.ts b/client/src/app/+stats/video/video-stats.component.ts index 6e03da727..bfad4f823 100644 --- a/client/src/app/+stats/video/video-stats.component.ts +++ b/client/src/app/+stats/video/video-stats.component.ts | |||
@@ -528,7 +528,7 @@ export class VideoStatsComponent implements OnInit { | |||
528 | const date = new Date(label) | 528 | const date = new Date(label) |
529 | 529 | ||
530 | if (data.groupInterval.match(/ month?$/)) { | 530 | if (data.groupInterval.match(/ month?$/)) { |
531 | return date.toLocaleDateString([], { month: 'numeric' }) | 531 | return date.toLocaleDateString([], { year: '2-digit', month: 'numeric' }) |
532 | } | 532 | } |
533 | 533 | ||
534 | if (data.groupInterval.match(/ days?$/)) { | 534 | if (data.groupInterval.match(/ days?$/)) { |
diff --git a/client/src/app/+videos/+video-edit/shared/video-edit.component.html b/client/src/app/+videos/+video-edit/shared/video-edit.component.html index 2892d603d..de126bdf7 100644 --- a/client/src/app/+videos/+video-edit/shared/video-edit.component.html +++ b/client/src/app/+videos/+video-edit/shared/video-edit.component.html | |||
@@ -147,7 +147,7 @@ | |||
147 | </ng-template> | 147 | </ng-template> |
148 | 148 | ||
149 | <ng-template ptTemplate="help"> | 149 | <ng-template ptTemplate="help"> |
150 | <ng-container i18n>If you decide not to wait for transcoding before publishing the video, it could be unplayable until transcoding ends.</ng-container> | 150 | <ng-container i18n>The video may be unplayable during the transcoding process. It's the reason why we prefer to publish publicly the video after transcoding.</ng-container> |
151 | </ng-template> | 151 | </ng-template> |
152 | </my-peertube-checkbox> | 152 | </my-peertube-checkbox> |
153 | 153 | ||
@@ -314,7 +314,7 @@ | |||
314 | <div class="col-md-12 col-xl-8"> | 314 | <div class="col-md-12 col-xl-8"> |
315 | 315 | ||
316 | <div class="form-group"> | 316 | <div class="form-group"> |
317 | <label i18n for="previewfile">Video preview</label> | 317 | <label i18n for="previewfile">Video thumbnail</label> |
318 | 318 | ||
319 | <my-preview-upload | 319 | <my-preview-upload |
320 | i18n-inputLabel inputLabel="Edit" inputName="previewfile" formControlName="previewfile" | 320 | i18n-inputLabel inputLabel="Edit" inputName="previewfile" formControlName="previewfile" |
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.html b/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.html index f537b939f..2fb29303f 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.html +++ b/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.html | |||
@@ -61,7 +61,7 @@ | |||
61 | <div class="submit-container"> | 61 | <div class="submit-container"> |
62 | <my-button className="orange-button" i18n-label label="Update" icon="circle-tick" | 62 | <my-button className="orange-button" i18n-label label="Update" icon="circle-tick" |
63 | (click)="updateSecondStep()" | 63 | (click)="updateSecondStep()" |
64 | [disabled]="!form.valid" | 64 | [disabled]="!form.valid || isUpdatingVideo === true" |
65 | ></my-button> | 65 | ></my-button> |
66 | </div> | 66 | </div> |
67 | </form> | 67 | </form> |
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts index 91eb66931..344b99ea2 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts | |||
@@ -27,6 +27,8 @@ export class VideoGoLiveComponent extends VideoSend implements OnInit, AfterView | |||
27 | firstStepPermanentLive: boolean | 27 | firstStepPermanentLive: boolean |
28 | 28 | ||
29 | isInUpdateForm = false | 29 | isInUpdateForm = false |
30 | isUpdatingVideo = false | ||
31 | isOrHasGoingLive = false | ||
30 | 32 | ||
31 | liveVideo: LiveVideo | 33 | liveVideo: LiveVideo |
32 | 34 | ||
@@ -64,6 +66,9 @@ export class VideoGoLiveComponent extends VideoSend implements OnInit, AfterView | |||
64 | } | 66 | } |
65 | 67 | ||
66 | goLive () { | 68 | goLive () { |
69 | if (this.isOrHasGoingLive) return | ||
70 | this.isOrHasGoingLive = true | ||
71 | |||
67 | const name = 'Live' | 72 | const name = 'Live' |
68 | 73 | ||
69 | const video: LiveVideoCreate = { | 74 | const video: LiveVideoCreate = { |
@@ -115,6 +120,8 @@ export class VideoGoLiveComponent extends VideoSend implements OnInit, AfterView | |||
115 | async updateSecondStep () { | 120 | async updateSecondStep () { |
116 | if (!await this.isFormValid()) return | 121 | if (!await this.isFormValid()) return |
117 | 122 | ||
123 | this.isUpdatingVideo = true | ||
124 | |||
118 | const video = new VideoEdit() | 125 | const video = new VideoEdit() |
119 | video.patch(this.form.value) | 126 | video.patch(this.form.value) |
120 | video.id = this.videoId | 127 | video.id = this.videoId |
@@ -134,6 +141,8 @@ export class VideoGoLiveComponent extends VideoSend implements OnInit, AfterView | |||
134 | this.liveVideoService.updateLive(this.videoId, liveVideoUpdate) | 141 | this.liveVideoService.updateLive(this.videoId, liveVideoUpdate) |
135 | ]).subscribe({ | 142 | ]).subscribe({ |
136 | next: () => { | 143 | next: () => { |
144 | this.isUpdatingVideo = false | ||
145 | |||
137 | this.notifier.success($localize`Live published.`) | 146 | this.notifier.success($localize`Live published.`) |
138 | 147 | ||
139 | this.router.navigateByUrl(Video.buildWatchUrl(video)) | 148 | this.router.navigateByUrl(Video.buildWatchUrl(video)) |
diff --git a/client/src/app/header/header.component.html b/client/src/app/header/header.component.html index f49f471c6..b5e9e3dd8 100644 --- a/client/src/app/header/header.component.html +++ b/client/src/app/header/header.component.html | |||
@@ -1,4 +1,4 @@ | |||
1 | <my-search-typeahead class="w-100 d-flex justify-content-end"></my-search-typeahead> | 1 | <my-search-typeahead class="w-100 d-flex justify-content-center"></my-search-typeahead> |
2 | 2 | ||
3 | <a class="publish-button" routerLink="/videos/upload"> | 3 | <a class="publish-button" routerLink="/videos/upload"> |
4 | <my-global-icon iconName="upload" aria-hidden="true"></my-global-icon> | 4 | <my-global-icon iconName="upload" aria-hidden="true"></my-global-icon> |
diff --git a/client/src/app/header/header.component.scss b/client/src/app/header/header.component.scss index 8a4111c5a..cf6e96d07 100644 --- a/client/src/app/header/header.component.scss +++ b/client/src/app/header/header.component.scss | |||
@@ -1,14 +1,6 @@ | |||
1 | @use '_variables' as *; | 1 | @use '_variables' as *; |
2 | @use '_mixins' as *; | 2 | @use '_mixins' as *; |
3 | 3 | ||
4 | my-search-typeahead { | ||
5 | @include margin-right(80px); | ||
6 | |||
7 | @media screen and (max-width: $small-view) { | ||
8 | @include margin-right(15px); | ||
9 | } | ||
10 | } | ||
11 | |||
12 | .publish-button { | 4 | .publish-button { |
13 | @include peertube-button-link; | 5 | @include peertube-button-link; |
14 | @include orange-button; | 6 | @include orange-button; |
diff --git a/client/src/app/header/search-typeahead.component.scss b/client/src/app/header/search-typeahead.component.scss index 299efba2c..ae0f1547e 100644 --- a/client/src/app/header/search-typeahead.component.scss +++ b/client/src/app/header/search-typeahead.component.scss | |||
@@ -75,6 +75,7 @@ li.suggestion { | |||
75 | 75 | ||
76 | #typeahead-container { | 76 | #typeahead-container { |
77 | font-size: 14px; | 77 | font-size: 14px; |
78 | margin: 0 10px; | ||
78 | 79 | ||
79 | input { | 80 | input { |
80 | border: 1px solid pvar(--mainBackgroundColor) !important; | 81 | border: 1px solid pvar(--mainBackgroundColor) !important; |
@@ -83,15 +84,15 @@ li.suggestion { | |||
83 | transition: box-shadow .3s ease, width .2s ease; | 84 | transition: box-shadow .3s ease, width .2s ease; |
84 | } | 85 | } |
85 | 86 | ||
86 | @media screen and (min-width: $mobile-view) { | ||
87 | @include margin-left(10px); | ||
88 | } | ||
89 | |||
90 | @media screen and (max-width: $small-view) { | 87 | @media screen and (max-width: $small-view) { |
91 | flex: 1; | 88 | input { |
89 | width: 200px; | ||
90 | } | ||
91 | } | ||
92 | 92 | ||
93 | @media screen and (max-width: $mobile-view) { | ||
93 | input { | 94 | input { |
94 | width: 70px; | 95 | width: 150px; |
95 | } | 96 | } |
96 | } | 97 | } |
97 | 98 | ||