diff options
Diffstat (limited to 'client/src/app')
13 files changed, 41 insertions, 34 deletions
diff --git a/client/src/app/+admin/follows/followers-list/followers-list.component.html b/client/src/app/+admin/follows/followers-list/followers-list.component.html index 93378a533..298871fce 100644 --- a/client/src/app/+admin/follows/followers-list/followers-list.component.html +++ b/client/src/app/+admin/follows/followers-list/followers-list.component.html | |||
@@ -23,7 +23,7 @@ | |||
23 | <th style="width: 100px;" i18n pSortableColumn="state">State <p-sortIcon field="state"></p-sortIcon></th> | 23 | <th style="width: 100px;" i18n pSortableColumn="state">State <p-sortIcon field="state"></p-sortIcon></th> |
24 | <th style="width: 100px;" i18n pSortableColumn="score">Score <p-sortIcon field="score"></p-sortIcon></th> | 24 | <th style="width: 100px;" i18n pSortableColumn="score">Score <p-sortIcon field="score"></p-sortIcon></th> |
25 | <th style="width: 150px;" i18n pSortableColumn="createdAt">Created <p-sortIcon field="createdAt"></p-sortIcon></th> | 25 | <th style="width: 150px;" i18n pSortableColumn="createdAt">Created <p-sortIcon field="createdAt"></p-sortIcon></th> |
26 | <th style="width: 100px;"></th> | 26 | <th style="width: 150px;"></th> |
27 | </tr> | 27 | </tr> |
28 | </ng-template> | 28 | </ng-template> |
29 | 29 | ||
diff --git a/client/src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html b/client/src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html index 28d57f83c..c08154bcd 100644 --- a/client/src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html +++ b/client/src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html | |||
@@ -22,7 +22,7 @@ | |||
22 | <th style="width: 160px;" i18n *ngIf="isDisplayingRemoteVideos()">Strategy</th> | 22 | <th style="width: 160px;" i18n *ngIf="isDisplayingRemoteVideos()">Strategy</th> |
23 | <th i18n pSortableColumn="name">Video <p-sortIcon field="name"></p-sortIcon></th > | 23 | <th i18n pSortableColumn="name">Video <p-sortIcon field="name"></p-sortIcon></th > |
24 | <th style="width: 100px;" i18n *ngIf="isDisplayingRemoteVideos()">Total size</th> | 24 | <th style="width: 100px;" i18n *ngIf="isDisplayingRemoteVideos()">Total size</th> |
25 | <th style="width: 80px;"></th> | 25 | <th style="width: 150px;"></th> |
26 | </tr> | 26 | </tr> |
27 | </ng-template> | 27 | </ng-template> |
28 | 28 | ||
diff --git a/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html b/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html index a4ab2a58c..b7d40be60 100644 --- a/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html +++ b/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html | |||
@@ -21,7 +21,7 @@ | |||
21 | <tr> | 21 | <tr> |
22 | <th style="width: 100%;" i18n>Account</th> | 22 | <th style="width: 100%;" i18n>Account</th> |
23 | <th style="width: 150px;" i18n pSortableColumn="createdAt">Muted at <p-sortIcon field="createdAt"></p-sortIcon></th> | 23 | <th style="width: 150px;" i18n pSortableColumn="createdAt">Muted at <p-sortIcon field="createdAt"></p-sortIcon></th> |
24 | <th style="width: 100px;"></th> <!-- column for action buttons --> | 24 | <th style="width: 150px;"></th> <!-- column for action buttons --> |
25 | </tr> | 25 | </tr> |
26 | </ng-template> | 26 | </ng-template> |
27 | 27 | ||
diff --git a/client/src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html b/client/src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html index dab068dd6..589a11b7b 100644 --- a/client/src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html +++ b/client/src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html | |||
@@ -25,7 +25,7 @@ | |||
25 | <tr> | 25 | <tr> |
26 | <th style="width: 100%;" i18n>Instance</th> | 26 | <th style="width: 100%;" i18n>Instance</th> |
27 | <th style="width: 150px;" i18n pSortableColumn="createdAt">Muted at <p-sortIcon field="createdAt"></p-sortIcon></th> | 27 | <th style="width: 150px;" i18n pSortableColumn="createdAt">Muted at <p-sortIcon field="createdAt"></p-sortIcon></th> |
28 | <th style="width: 100px;"></th> <!-- column for action buttons --> | 28 | <th style="width: 150px;"></th> <!-- column for action buttons --> |
29 | </tr> | 29 | </tr> |
30 | </ng-template> | 30 | </ng-template> |
31 | 31 | ||
diff --git a/client/src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.html b/client/src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.html index 1c9530152..d30475794 100644 --- a/client/src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.html +++ b/client/src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.html | |||
@@ -41,7 +41,7 @@ | |||
41 | <th i18n>Video</th> | 41 | <th i18n>Video</th> |
42 | <th style="width: 150px;" i18n pSortableColumn="createdAt">Created <p-sortIcon field="createdAt"></p-sortIcon></th> | 42 | <th style="width: 150px;" i18n pSortableColumn="createdAt">Created <p-sortIcon field="createdAt"></p-sortIcon></th> |
43 | <th i18n pSortableColumn="state" style="width: 80px;">State <p-sortIcon field="state"></p-sortIcon></th> | 43 | <th i18n pSortableColumn="state" style="width: 80px;">State <p-sortIcon field="state"></p-sortIcon></th> |
44 | <th style="width: 120px;"></th> | 44 | <th style="width: 150px;"></th> |
45 | </tr> | 45 | </tr> |
46 | </ng-template> | 46 | </ng-template> |
47 | 47 | ||
diff --git a/client/src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html b/client/src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html index c4c4e765a..cfa04514f 100644 --- a/client/src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html +++ b/client/src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html | |||
@@ -25,7 +25,7 @@ | |||
25 | <th style="width: 100px;" i18n>Sensitive</th> | 25 | <th style="width: 100px;" i18n>Sensitive</th> |
26 | <th style="width: 120px;" i18n>Unfederated</th> | 26 | <th style="width: 120px;" i18n>Unfederated</th> |
27 | <th style="width: 150px;" i18n pSortableColumn="createdAt">Date <p-sortIcon field="createdAt"></p-sortIcon></th> | 27 | <th style="width: 150px;" i18n pSortableColumn="createdAt">Date <p-sortIcon field="createdAt"></p-sortIcon></th> |
28 | <th style="width: 120px;"></th> | 28 | <th style="width: 150px;"></th> |
29 | </tr> | 29 | </tr> |
30 | </ng-template> | 30 | </ng-template> |
31 | 31 | ||
diff --git a/client/src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html b/client/src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html index f39f66696..ce176d682 100644 --- a/client/src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html +++ b/client/src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html | |||
@@ -9,7 +9,7 @@ | |||
9 | <span class="email">{{ user.pendingEmail }}</span> is awaiting email verification | 9 | <span class="email">{{ user.pendingEmail }}</span> is awaiting email verification |
10 | </div> | 10 | </div> |
11 | 11 | ||
12 | <form role="form" class="change-email" (ngSubmit)="changeEmail()" [formGroup]="form"> | 12 | <form role="form" class="change-email" (ngSubmit)="changeEmail()" [formGroup]="form" *ngIf="user.pluginAuth === null"> |
13 | 13 | ||
14 | <div class="form-group"> | 14 | <div class="form-group"> |
15 | <label i18n for="new-email">New email</label> | 15 | <label i18n for="new-email">New email</label> |
@@ -23,6 +23,7 @@ | |||
23 | </div> | 23 | </div> |
24 | 24 | ||
25 | <div class="form-group"> | 25 | <div class="form-group"> |
26 | <label i18n for="new-email">Your current password</label> | ||
26 | <input | 27 | <input |
27 | type="password" id="password" i18n-placeholder placeholder="Your password" autocomplete="off" | 28 | type="password" id="password" i18n-placeholder placeholder="Your password" autocomplete="off" |
28 | formControlName="password" [ngClass]="{ 'input-error': formErrors['password'] }" class="form-control" | 29 | formControlName="password" [ngClass]="{ 'input-error': formErrors['password'] }" class="form-control" |
diff --git a/client/src/app/+my-account/my-account-settings/my-account-settings.component.html b/client/src/app/+my-account/my-account-settings/my-account-settings.component.html index f1c466545..b4e4d29f0 100644 --- a/client/src/app/+my-account/my-account-settings/my-account-settings.component.html +++ b/client/src/app/+my-account/my-account-settings/my-account-settings.component.html | |||
@@ -58,7 +58,7 @@ | |||
58 | </div> | 58 | </div> |
59 | </div> | 59 | </div> |
60 | 60 | ||
61 | <div class="form-row mt-5"> <!-- password grid --> | 61 | <div class="form-row mt-5" *ngIf="user.pluginAuth === null"> <!-- password grid --> |
62 | <div class="form-group col-12 col-lg-4 col-xl-3"> | 62 | <div class="form-group col-12 col-lg-4 col-xl-3"> |
63 | <div i18n class="account-title">PASSWORD</div> | 63 | <div i18n class="account-title">PASSWORD</div> |
64 | </div> | 64 | </div> |
diff --git a/client/src/app/header/header.component.scss b/client/src/app/header/header.component.scss index 91b390773..1e4ce2c56 100644 --- a/client/src/app/header/header.component.scss +++ b/client/src/app/header/header.component.scss | |||
@@ -10,7 +10,6 @@ my-search-typeahead { | |||
10 | @include orange-button; | 10 | @include orange-button; |
11 | @include button-with-icon(22px, 3px, -1px); | 11 | @include button-with-icon(22px, 3px, -1px); |
12 | 12 | ||
13 | color: var(--mainBackgroundColor) !important; | ||
14 | margin-right: 25px; | 13 | margin-right: 25px; |
15 | 14 | ||
16 | @media screen and (max-width: 600px) { | 15 | @media screen and (max-width: 600px) { |
diff --git a/client/src/app/shared/forms/markdown-textarea.component.scss b/client/src/app/shared/forms/markdown-textarea.component.scss index 8e5739e45..16f319587 100644 --- a/client/src/app/shared/forms/markdown-textarea.component.scss +++ b/client/src/app/shared/forms/markdown-textarea.component.scss | |||
@@ -14,7 +14,8 @@ $input-border-radius: 3px; | |||
14 | textarea { | 14 | textarea { |
15 | @include peertube-textarea(100%, 150px); | 15 | @include peertube-textarea(100%, 150px); |
16 | 16 | ||
17 | background-color: var(--textareaBackgroundColor); | 17 | background-color: var(--markdownTextareaBackgroundColor); |
18 | |||
18 | font-family: monospace; | 19 | font-family: monospace; |
19 | font-size: 13px; | 20 | font-size: 13px; |
20 | border-bottom: none; | 21 | border-bottom: none; |
diff --git a/client/src/app/shared/misc/peertube-web-storage.ts b/client/src/app/shared/misc/peertube-web-storage.ts index fff209678..6a152dd98 100644 --- a/client/src/app/shared/misc/peertube-web-storage.ts +++ b/client/src/app/shared/misc/peertube-web-storage.ts | |||
@@ -47,26 +47,32 @@ try { | |||
47 | peertubeLocalStorage = localStorage | 47 | peertubeLocalStorage = localStorage |
48 | peertubeSessionStorage = sessionStorage | 48 | peertubeSessionStorage = sessionStorage |
49 | } catch (err) { | 49 | } catch (err) { |
50 | const instance = new MemoryStorage() | 50 | const instanceLocalStorage = new MemoryStorage() |
51 | const instanceSessionStorage = new MemoryStorage() | ||
51 | 52 | ||
52 | peertubeLocalStorage = sessionStorage = new Proxy(instance, { | 53 | function proxify (instance: MemoryStorage) { |
53 | set: function (obj, prop: string | number, value) { | 54 | return new Proxy(instance, { |
54 | if (MemoryStorage.prototype.hasOwnProperty(prop)) { | 55 | set: function (obj, prop: string | number, value) { |
55 | instance[prop] = value | 56 | if (MemoryStorage.prototype.hasOwnProperty(prop)) { |
56 | } else { | 57 | instance[prop] = value |
57 | instance.setItem(prop, value) | 58 | } else { |
59 | instance.setItem(prop, value) | ||
60 | } | ||
61 | return true | ||
62 | }, | ||
63 | get: function (target, name: string | number) { | ||
64 | if (MemoryStorage.prototype.hasOwnProperty(name)) { | ||
65 | return instance[name] | ||
66 | } | ||
67 | if (valuesMap.has(name)) { | ||
68 | return instance.getItem(name) | ||
69 | } | ||
58 | } | 70 | } |
59 | return true | 71 | }) |
60 | }, | 72 | } |
61 | get: function (target, name: string | number) { | 73 | |
62 | if (MemoryStorage.prototype.hasOwnProperty(name)) { | 74 | peertubeLocalStorage = proxify(instanceLocalStorage) |
63 | return instance[name] | 75 | peertubeSessionStorage = proxify(instanceSessionStorage) |
64 | } | ||
65 | if (valuesMap.has(name)) { | ||
66 | return instance.getItem(name) | ||
67 | } | ||
68 | } | ||
69 | }) | ||
70 | } | 76 | } |
71 | 77 | ||
72 | export { | 78 | export { |
diff --git a/client/src/app/videos/+video-watch/comment/video-comments.component.html b/client/src/app/videos/+video-watch/comment/video-comments.component.html index a21042f09..affbd4793 100644 --- a/client/src/app/videos/+video-watch/comment/video-comments.component.html +++ b/client/src/app/videos/+video-watch/comment/video-comments.component.html | |||
@@ -12,10 +12,10 @@ | |||
12 | <my-feed [syndicationItems]="syndicationItems"></my-feed> | 12 | <my-feed [syndicationItems]="syndicationItems"></my-feed> |
13 | 13 | ||
14 | <div ngbDropdown class="d-inline-block ml-4"> | 14 | <div ngbDropdown class="d-inline-block ml-4"> |
15 | <button class="btn btn-sm btn-outline-secondary" id="dropdownSortComments" ngbDropdownToggle i18n> | 15 | <button class="btn btn-sm btn-outline-secondary" id="dropdown-sort-comments" ngbDropdownToggle i18n> |
16 | SORT BY | 16 | SORT BY |
17 | </button> | 17 | </button> |
18 | <div ngbDropdownMenu aria-labelledby="dropdownSortComments"> | 18 | <div ngbDropdownMenu aria-labelledby="dropdown-sort-comments"> |
19 | <button (click)="handleSortChange('-createdAt')" ngbDropdownItem i18n>Most recent first (default)</button> | 19 | <button (click)="handleSortChange('-createdAt')" ngbDropdownItem i18n>Most recent first (default)</button> |
20 | <button (click)="handleSortChange('-totalReplies')" ngbDropdownItem i18n>Most replies first</button> | 20 | <button (click)="handleSortChange('-totalReplies')" ngbDropdownItem i18n>Most replies first</button> |
21 | </div> | 21 | </div> |
@@ -72,7 +72,7 @@ | |||
72 | > | 72 | > |
73 | <div *ngIf="comment.totalReplies !== 0 && !threadComments[comment.id]" (click)="viewReplies(comment.id)" class="view-replies mb-2"> | 73 | <div *ngIf="comment.totalReplies !== 0 && !threadComments[comment.id]" (click)="viewReplies(comment.id)" class="view-replies mb-2"> |
74 | <span class="glyphicon glyphicon-menu-down"></span> | 74 | <span class="glyphicon glyphicon-menu-down"></span> |
75 | 75 | ||
76 | <ng-container *ngIf="comment.totalRepliesFromVideoAuthor > 0; then hasAuthorComments; else noAuthorComments"></ng-container> | 76 | <ng-container *ngIf="comment.totalRepliesFromVideoAuthor > 0; then hasAuthorComments; else noAuthorComments"></ng-container> |
77 | <ng-template #hasAuthorComments> | 77 | <ng-template #hasAuthorComments> |
78 | <ng-container *ngIf="comment.totalReplies !== comment.totalRepliesFromVideoAuthor; else onlyAuthorComments" i18n> | 78 | <ng-container *ngIf="comment.totalReplies !== comment.totalRepliesFromVideoAuthor; else onlyAuthorComments" i18n> |
@@ -83,7 +83,7 @@ | |||
83 | </ng-template> | 83 | </ng-template> |
84 | </ng-template> | 84 | </ng-template> |
85 | <ng-template i18n #noAuthorComments>View {{ comment.totalReplies }} replies</ng-template> | 85 | <ng-template i18n #noAuthorComments>View {{ comment.totalReplies }} replies</ng-template> |
86 | 86 | ||
87 | <my-small-loader class="comment-thread-loading ml-1" [loading]="threadLoading[comment.id]"></my-small-loader> | 87 | <my-small-loader class="comment-thread-loading ml-1" [loading]="threadLoading[comment.id]"></my-small-loader> |
88 | </div> | 88 | </div> |
89 | </my-video-comment> | 89 | </my-video-comment> |
diff --git a/client/src/app/videos/+video-watch/comment/video-comments.component.scss b/client/src/app/videos/+video-watch/comment/video-comments.component.scss index 5ed1ac629..df42fae73 100644 --- a/client/src/app/videos/+video-watch/comment/video-comments.component.scss +++ b/client/src/app/videos/+video-watch/comment/video-comments.component.scss | |||
@@ -21,7 +21,7 @@ | |||
21 | .title-page { | 21 | .title-page { |
22 | margin-right: 0; | 22 | margin-right: 0; |
23 | } | 23 | } |
24 | 24 | ||
25 | my-feed { | 25 | my-feed { |
26 | display: inline-block; | 26 | display: inline-block; |
27 | margin-left: 5px; | 27 | margin-left: 5px; |
@@ -33,7 +33,7 @@ | |||
33 | } | 33 | } |
34 | } | 34 | } |
35 | 35 | ||
36 | #dropdownSortComments { | 36 | #dropdown-sort-comments { |
37 | font-weight: 600; | 37 | font-weight: 600; |
38 | text-transform: uppercase; | 38 | text-transform: uppercase; |
39 | border: none; | 39 | border: none; |