aboutsummaryrefslogtreecommitdiffhomepage
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/src/app/+stats/video/video-stats.component.ts2
-rw-r--r--client/src/app/+videos/+video-edit/shared/video-edit.component.html4
-rw-r--r--client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.html2
-rw-r--r--client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts9
-rw-r--r--client/src/app/header/header.component.html2
-rw-r--r--client/src/app/header/header.component.scss8
-rw-r--r--client/src/app/header/search-typeahead.component.scss13
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
4my-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