diff options
author | Caroline Chuong <caroline.chuong@octo.com> | 2020-06-13 00:53:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-13 00:53:56 +0200 |
commit | c9e3565dc8d0e5ce0dcbdb4fe8deb7a257d9e2a0 (patch) | |
tree | 2646dbf2602648e84102121da72629e313e61297 | |
parent | 1a40132c67e50c94a7bd3f6b63c075f471b3d6cc (diff) | |
download | PeerTube-c9e3565dc8d0e5ce0dcbdb4fe8deb7a257d9e2a0.tar.gz PeerTube-c9e3565dc8d0e5ce0dcbdb4fe8deb7a257d9e2a0.tar.zst PeerTube-c9e3565dc8d0e5ce0dcbdb4fe8deb7a257d9e2a0.zip |
fix headings order or add missing ones (#2871)
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
35 files changed, 108 insertions, 73 deletions
diff --git a/client/src/app/+about/about-follows/about-follows.component.html b/client/src/app/+about/about-follows/about-follows.component.html index ebe03bd94..dd50cda74 100644 --- a/client/src/app/+about/about-follows/about-follows.component.html +++ b/client/src/app/+about/about-follows/about-follows.component.html | |||
@@ -1,6 +1,7 @@ | |||
1 | <div class="row" myInfiniteScroller [autoInit]="true" (nearOfBottom)="onNearOfBottom()" [dataObservable]="onDataSubject.asObservable()"> | 1 | <div class="row" myInfiniteScroller [autoInit]="true" (nearOfBottom)="onNearOfBottom()" [dataObservable]="onDataSubject.asObservable()"> |
2 | <h1 class="sr-only" i18n>Follows</h1> | ||
2 | <div class="col-xl-6 col-md-12"> | 3 | <div class="col-xl-6 col-md-12"> |
3 | <div i18n class="subtitle">Followers instances</div> | 4 | <h2 i18n class="subtitle">Followers instances</h2> |
4 | 5 | ||
5 | <div i18n class="no-results" *ngIf="followersPagination.totalItems === 0">This instance does not have instances followers.</div> | 6 | <div i18n class="no-results" *ngIf="followersPagination.totalItems === 0">This instance does not have instances followers.</div> |
6 | 7 | ||
@@ -10,7 +11,7 @@ | |||
10 | </div> | 11 | </div> |
11 | 12 | ||
12 | <div class="col-xl-6 col-md-12"> | 13 | <div class="col-xl-6 col-md-12"> |
13 | <div i18n class="subtitle">Followings instances</div> | 14 | <h2 i18n class="subtitle">Followings instances</h2> |
14 | 15 | ||
15 | <div i18n class="no-results" *ngIf="followingsPagination.totalItems === 0">This instance does not have instances followings.</div> | 16 | <div i18n class="no-results" *ngIf="followingsPagination.totalItems === 0">This instance does not have instances followings.</div> |
16 | 17 | ||
diff --git a/client/src/app/+about/about-instance/about-instance.component.html b/client/src/app/+about/about-instance/about-instance.component.html index 7ba2d9ac8..3bc63b7d1 100644 --- a/client/src/app/+about/about-instance/about-instance.component.html +++ b/client/src/app/+about/about-instance/about-instance.component.html | |||
@@ -2,9 +2,9 @@ | |||
2 | <div class="col-md-12 col-xl-6"> | 2 | <div class="col-md-12 col-xl-6"> |
3 | 3 | ||
4 | <div class="about-instance-title"> | 4 | <div class="about-instance-title"> |
5 | <div i18n class="title">About {{ instanceName }}</div> | 5 | <h1 i18n class="title">About {{ instanceName }}</h1> |
6 | 6 | ||
7 | <div i18n *ngIf="isContactFormEnabled" (click)="openContactModal()" role="button" class="contact-admin">Contact administrator</div> | 7 | <button i18n *ngIf="isContactFormEnabled" (click)="openContactModal()" (keydown.enter)="openContactModal()" class="contact-admin">Contact administrator</button> |
8 | </div> | 8 | </div> |
9 | 9 | ||
10 | <div class="block instance-badges"> | 10 | <div class="block instance-badges"> |
@@ -19,84 +19,85 @@ | |||
19 | <div i18n *ngIf="isNSFW" class="block dedicated-to-nsfw">This instance is dedicated to sensitive/NSFW content.</div> | 19 | <div i18n *ngIf="isNSFW" class="block dedicated-to-nsfw">This instance is dedicated to sensitive/NSFW content.</div> |
20 | </div> | 20 | </div> |
21 | 21 | ||
22 | <div i18n class="middle-title" *ngIf="html.administrator || maintenanceLifetime || businessModel"> | 22 | <h2 i18n class="middle-title" *ngIf="html.administrator || maintenanceLifetime || businessModel"> |
23 | ADMINISTRATORS & SUSTAINABILITY | 23 | ADMINISTRATORS & SUSTAINABILITY |
24 | </div> | 24 | </h2> |
25 | 25 | ||
26 | <div class="block administrator" *ngIf="html.administrator"> | 26 | <div class="block administrator" *ngIf="html.administrator"> |
27 | <div i18n class="section-title">Who we are</div> | 27 | <h3 i18n class="section-title">Who we are</h3> |
28 | 28 | ||
29 | <div [innerHTML]="html.administrator"></div> | 29 | <div [innerHTML]="html.administrator"></div> |
30 | </div> | 30 | </div> |
31 | 31 | ||
32 | <div class="block creation-reason" *ngIf="creationReason"> | 32 | <div class="block creation-reason" *ngIf="creationReason"> |
33 | <div i18n class="section-title">Why we created this instance</div> | 33 | <h3 i18n class="section-title">Why we created this instance</h3> |
34 | 34 | ||
35 | <p>{{ creationReason }}</p> | 35 | <p>{{ creationReason }}</p> |
36 | </div> | 36 | </div> |
37 | 37 | ||
38 | <div class="block maintenance-lifetime" *ngIf="maintenanceLifetime"> | 38 | <div class="block maintenance-lifetime" *ngIf="maintenanceLifetime"> |
39 | <div i18n class="section-title">How long we plan to maintain this instance</div> | 39 | <h3 i18n class="section-title">How long we plan to maintain this instance</h3> |
40 | 40 | ||
41 | <p>{{ maintenanceLifetime }}</p> | 41 | <p>{{ maintenanceLifetime }}</p> |
42 | </div> | 42 | </div> |
43 | 43 | ||
44 | <div class="block business-model" *ngIf="businessModel"> | 44 | <div class="block business-model" *ngIf="businessModel"> |
45 | <div i18n class="section-title">How we will pay for this instance</div> | 45 | <h3 i18n class="section-title">How we will pay for this instance</h3> |
46 | 46 | ||
47 | <p>{{ businessModel }}</p> | 47 | <p>{{ businessModel }}</p> |
48 | </div> | 48 | </div> |
49 | 49 | ||
50 | <div i18n class="middle-title" *ngIf="html.description"> | 50 | <h2 i18n class="middle-title" *ngIf="html.description"> |
51 | INFORMATION | 51 | INFORMATION |
52 | </div> | 52 | </h2> |
53 | 53 | ||
54 | <div class="block description"> | 54 | <div class="block description"> |
55 | <div i18n class="section-title">Description</div> | 55 | <h3 i18n class="section-title">Description</h3> |
56 | 56 | ||
57 | <div [innerHTML]="html.description"></div> | 57 | <div [innerHTML]="html.description"></div> |
58 | </div> | 58 | </div> |
59 | 59 | ||
60 | <div i18n class="middle-title" *ngIf="html.moderationInformation || html.codeOfConduct || html.terms"> | 60 | <h2 i18n class="middle-title" *ngIf="html.moderationInformation || html.codeOfConduct || html.terms"> |
61 | MODERATION | 61 | MODERATION |
62 | </div> | 62 | </h2> |
63 | 63 | ||
64 | <div class="block moderation-information" *ngIf="html.moderationInformation"> | 64 | <div class="block moderation-information" *ngIf="html.moderationInformation"> |
65 | <div i18n class="section-title">Moderation information</div> | 65 | <h3 i18n class="section-title">Moderation information</h3> |
66 | 66 | ||
67 | <div [innerHTML]="html.moderationInformation"></div> | 67 | <div [innerHTML]="html.moderationInformation"></div> |
68 | </div> | 68 | </div> |
69 | 69 | ||
70 | <div class="block code-of-conduct" *ngIf="html.codeOfConduct"> | 70 | <div class="block code-of-conduct" *ngIf="html.codeOfConduct"> |
71 | <div i18n class="section-title">Code of conduct</div> | 71 | <h3 i18n class="section-title">Code of conduct</h3> |
72 | 72 | ||
73 | <div [innerHTML]="html.codeOfConduct"></div> | 73 | <div [innerHTML]="html.codeOfConduct"></div> |
74 | </div> | 74 | </div> |
75 | 75 | ||
76 | <div class="block terms"> | 76 | <div class="block terms"> |
77 | <div i18n class="section-title">Terms</div> | 77 | <h3 i18n class="section-title">Terms</h3> |
78 | 78 | ||
79 | <div [innerHTML]="html.terms"></div> | 79 | <div [innerHTML]="html.terms"></div> |
80 | </div> | 80 | </div> |
81 | 81 | ||
82 | <div i18n class="middle-title" *ngIf="html.hardwareInformation"> | 82 | <h2 i18n class="middle-title" *ngIf="html.hardwareInformation"> |
83 | OTHER INFORMATION | 83 | OTHER INFORMATION |
84 | </div> | 84 | </h2> |
85 | 85 | ||
86 | <div class="block hardware-information" *ngIf="html.hardwareInformation"> | 86 | <div class="block hardware-information" *ngIf="html.hardwareInformation"> |
87 | <div i18n class="section-title">Hardware information</div> | 87 | <h3 i18n class="section-title">Hardware information</h3> |
88 | 88 | ||
89 | <div [innerHTML]="html.hardwareInformation"></div> | 89 | <div [innerHTML]="html.hardwareInformation"></div> |
90 | </div> | 90 | </div> |
91 | </div> | 91 | </div> |
92 | 92 | ||
93 | <div class="col-md-12 col-xl-6"> | 93 | <div class="col-md-12 col-xl-6"> |
94 | <h2 class="sr-only" i18n>FEATURES</h2> | ||
94 | <my-instance-features-table></my-instance-features-table> | 95 | <my-instance-features-table></my-instance-features-table> |
95 | </div> | 96 | </div> |
96 | 97 | ||
97 | <div class="col"> | 98 | <div class="col"> |
98 | <div class="anchor" id="statistics"></div> | 99 | <div class="anchor" id="statistics"></div> |
99 | <div i18n class="middle-title">STATISTICS</div> | 100 | <h2 i18n class="middle-title">STATISTICS</h2> |
100 | <my-instance-statistics></my-instance-statistics> | 101 | <my-instance-statistics></my-instance-statistics> |
101 | </div> | 102 | </div> |
102 | </div> | 103 | </div> |
diff --git a/client/src/app/+about/about-instance/contact-admin-modal.component.html b/client/src/app/+about/about-instance/contact-admin-modal.component.html index 7d93796ec..81e59d46a 100644 --- a/client/src/app/+about/about-instance/contact-admin-modal.component.html +++ b/client/src/app/+about/about-instance/contact-admin-modal.component.html | |||
@@ -1,7 +1,7 @@ | |||
1 | <ng-template #modal> | 1 | <ng-template #modal> |
2 | <div class="modal-header"> | 2 | <div class="modal-header"> |
3 | <h4 i18n class="modal-title">Contact {{ instanceName }} administrator</h4> | 3 | <h1 i18n class="modal-title">Contact {{ instanceName }} administrator</h1> |
4 | <my-global-icon iconName="cross" aria-label="Close" role="button" (click)="hide()"></my-global-icon> | 4 | <my-global-icon iconName="cross" aria-label="Close" tabindex="0" role="button" (click)="hide()" (keydown.enter)="hide()"></my-global-icon> |
5 | </div> | 5 | </div> |
6 | 6 | ||
7 | <div class="modal-body"> | 7 | <div class="modal-body"> |
diff --git a/client/src/app/+about/about-peertube/about-peertube.component.html b/client/src/app/+about/about-peertube/about-peertube.component.html index 1dbad3096..93670fe4e 100644 --- a/client/src/app/+about/about-peertube/about-peertube.component.html +++ b/client/src/app/+about/about-peertube/about-peertube.component.html | |||
@@ -24,10 +24,10 @@ | |||
24 | 24 | ||
25 | <div class="card"> | 25 | <div class="card"> |
26 | <div class="card-body"> | 26 | <div class="card-body"> |
27 | <h5 class="card-title"> | 27 | <div class="card-title"> |
28 | <a i18n target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/#/use-setup-account">Use PeerTube | 28 | <a i18n target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/#/use-setup-account">Use PeerTube |
29 | documentation</a> | 29 | documentation</a> |
30 | </h5> | 30 | </div> |
31 | 31 | ||
32 | <div i18n class="card-text"> | 32 | <div i18n class="card-text"> |
33 | Discover how to setup your account, what is a channel, how to create a playlist and more! | 33 | Discover how to setup your account, what is a channel, how to create a playlist and more! |
@@ -37,10 +37,10 @@ | |||
37 | 37 | ||
38 | <div class="card"> | 38 | <div class="card"> |
39 | <div class="card-body"> | 39 | <div class="card-body"> |
40 | <h5 class="card-title"> | 40 | <div class="card-title"> |
41 | <a i18n target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/#/use-third-party-application">PeerTube | 41 | <a i18n target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/#/use-third-party-application">PeerTube |
42 | Applications</a> | 42 | Applications</a> |
43 | </h5> | 43 | </div> |
44 | 44 | ||
45 | <div i18n class="card-text"> | 45 | <div i18n class="card-text"> |
46 | Discover unofficial Android applications or browser addons! | 46 | Discover unofficial Android applications or browser addons! |
@@ -50,10 +50,10 @@ | |||
50 | 50 | ||
51 | <div class="card"> | 51 | <div class="card"> |
52 | <div class="card-body"> | 52 | <div class="card-body"> |
53 | <h5 class="card-title"> | 53 | <div class="card-title"> |
54 | <a i18n target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/#/contribute-getting-started">Contribute on | 54 | <a i18n target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/#/contribute-getting-started">Contribute on |
55 | PeerTube</a> | 55 | PeerTube</a> |
56 | </h5> | 56 | </div> |
57 | 57 | ||
58 | <div i18n class="card-text"> | 58 | <div i18n class="card-text"> |
59 | Want to help to improve PeerTube? You can translate the web interface, give your feedback or directly contribute to the code! | 59 | Want to help to improve PeerTube? You can translate the web interface, give your feedback or directly contribute to the code! |
@@ -66,10 +66,10 @@ | |||
66 | <my-about-peertube-contributors></my-about-peertube-contributors> | 66 | <my-about-peertube-contributors></my-about-peertube-contributors> |
67 | 67 | ||
68 | <div class="p2p-privacy"> | 68 | <div class="p2p-privacy"> |
69 | <h3 class="section-title"> | 69 | <h2 class="section-title"> |
70 | <div class="anchor" id="privacy"></div> <!-- privacy anchor --> | 70 | <div class="anchor" id="privacy"></div> <!-- privacy anchor --> |
71 | <ng-container i18n>P2P & Privacy</ng-container> | 71 | <ng-container i18n>P2P & Privacy</ng-container> |
72 | </h3> | 72 | </h2> |
73 | 73 | ||
74 | <p i18n> | 74 | <p i18n> |
75 | PeerTube uses the BitTorrent protocol to share bandwidth between users by default to help lower the load on the server, | 75 | PeerTube uses the BitTorrent protocol to share bandwidth between users by default to help lower the load on the server, |
@@ -82,7 +82,7 @@ | |||
82 | tracker as long as you download or watch the video. | 82 | tracker as long as you download or watch the video. |
83 | </p> | 83 | </p> |
84 | 84 | ||
85 | <h6 i18n class="p2p-privacy-title">What are the consequences?</h6> | 85 | <h3 i18n class="p2p-privacy-title">What are the consequences?</h3> |
86 | 86 | ||
87 | <p i18n> | 87 | <p i18n> |
88 | In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. | 88 | In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. |
@@ -128,7 +128,7 @@ | |||
128 | There are much more effective ways to get that kind of information. | 128 | There are much more effective ways to get that kind of information. |
129 | </p> | 129 | </p> |
130 | 130 | ||
131 | <h6 i18n class="p2p-privacy-title">How does PeerTube compare with YouTube?</h6> | 131 | <h3 i18n class="p2p-privacy-title">How does PeerTube compare with YouTube?</h3> |
132 | 132 | ||
133 | <p i18n> | 133 | <p i18n> |
134 | The threats to privacy with YouTube are different from PeerTube's. | 134 | The threats to privacy with YouTube are different from PeerTube's. |
@@ -136,7 +136,7 @@ | |||
136 | Moreover, YouTube is owned by Google/Alphabet, a company that tracks you across many websites (via AdSense or Google Analytics). | 136 | Moreover, YouTube is owned by Google/Alphabet, a company that tracks you across many websites (via AdSense or Google Analytics). |
137 | </p> | 137 | </p> |
138 | 138 | ||
139 | <h6 i18n class="p2p-privacy-title">What can I do to limit the exposure of my IP address?</h6> | 139 | <h3 i18n class="p2p-privacy-title">What can I do to limit the exposure of my IP address?</h3> |
140 | 140 | ||
141 | <p i18n> | 141 | <p i18n> |
142 | Your IP address is public so every time you consult a website, there is a number of actors (in addition to the final website) seeing | 142 | Your IP address is public so every time you consult a website, there is a number of actors (in addition to the final website) seeing |
@@ -145,7 +145,7 @@ | |||
145 | Thinking that removing P2P from PeerTube will give you back anonymity doesn't make sense. | 145 | Thinking that removing P2P from PeerTube will give you back anonymity doesn't make sense. |
146 | </p> | 146 | </p> |
147 | 147 | ||
148 | <h6 i18n class="p2p-privacy-title">What will be done to mitigate this problem?</h6> | 148 | <h3 i18n class="p2p-privacy-title">What will be done to mitigate this problem?</h3> |
149 | 149 | ||
150 | <p i18n> | 150 | <p i18n> |
151 | PeerTube wants to deliver the best countermeasures possible, to give you more choice | 151 | PeerTube wants to deliver the best countermeasures possible, to give you more choice |
diff --git a/client/src/app/+about/about-peertube/about-peertube.component.scss b/client/src/app/+about/about-peertube/about-peertube.component.scss index a43eb6fe1..4856d4ae5 100644 --- a/client/src/app/+about/about-peertube/about-peertube.component.scss +++ b/client/src/app/+about/about-peertube/about-peertube.component.scss | |||
@@ -67,3 +67,11 @@ my-about-peertube-contributors { | |||
67 | } | 67 | } |
68 | } | 68 | } |
69 | } | 69 | } |
70 | |||
71 | .card-title { | ||
72 | font-size: 1.25rem; | ||
73 | } | ||
74 | |||
75 | .p2p-privacy-title { | ||
76 | font-size: 20px; | ||
77 | } | ||
diff --git a/client/src/app/+accounts/account-about/account-about.component.html b/client/src/app/+accounts/account-about/account-about.component.html index 1f1987aba..e9e0e4079 100644 --- a/client/src/app/+accounts/account-about/account-about.component.html +++ b/client/src/app/+accounts/account-about/account-about.component.html | |||
@@ -1,12 +1,13 @@ | |||
1 | <h1 class="sr-only" i18n>About</h1> | ||
1 | <div class="margin-content"> | 2 | <div class="margin-content"> |
2 | <div *ngIf="account" class="row no-gutters"> | 3 | <div *ngIf="account" class="row no-gutters"> |
3 | <div class="block col-md-6 col-sm-12 pr-2"> | 4 | <div class="block col-md-6 col-sm-12 pr-2"> |
4 | <div i18n class="small-title">DESCRIPTION</div> | 5 | <h2 i18n class="small-title">DESCRIPTION</h2> |
5 | <div class="content" [innerHtml]="getAccountDescription()"></div> | 6 | <div class="content" [innerHtml]="getAccountDescription()"></div> |
6 | </div> | 7 | </div> |
7 | 8 | ||
8 | <div class="block col-md-6 col-sm-12"> | 9 | <div class="block col-md-6 col-sm-12"> |
9 | <div i18n class="small-title">STATS</div> | 10 | <h2 i18n class="small-title">STATS</h2> |
10 | 11 | ||
11 | <div i18n class="content">Joined {{ account.createdAt | date }}</div> | 12 | <div i18n class="content">Joined {{ account.createdAt | date }}</div> |
12 | </div> | 13 | </div> |
diff --git a/client/src/app/+accounts/account-video-channels/account-video-channels.component.html b/client/src/app/+accounts/account-video-channels/account-video-channels.component.html index 8f1ff21a5..73bac5f1d 100644 --- a/client/src/app/+accounts/account-video-channels/account-video-channels.component.html +++ b/client/src/app/+accounts/account-video-channels/account-video-channels.component.html | |||
@@ -1,3 +1,4 @@ | |||
1 | <h1 class="sr-only" i18n>Video channels</h1> | ||
1 | <div class="margin-content"> | 2 | <div class="margin-content"> |
2 | 3 | ||
3 | <div class="no-results" i18n *ngIf="channelPagination.totalItems === 0">This account does not have channels.</div> | 4 | <div class="no-results" i18n *ngIf="channelPagination.totalItems === 0">This account does not have channels.</div> |
@@ -8,7 +9,7 @@ | |||
8 | <a [routerLink]="getVideoChannelLink(videoChannel)" i18n-title title="See this video channel"> | 9 | <a [routerLink]="getVideoChannelLink(videoChannel)" i18n-title title="See this video channel"> |
9 | <img [src]="videoChannel.avatarUrl" alt="Avatar" /> | 10 | <img [src]="videoChannel.avatarUrl" alt="Avatar" /> |
10 | 11 | ||
11 | <div>{{ videoChannel.displayName }}</div> | 12 | <h2 class="section-title">{{ videoChannel.displayName }}</h2> |
12 | <div class="followers" i18n>{videoChannel.followersCount, plural, =1 {1 subscriber} other {{{ videoChannel.followersCount }} subscribers}}</div> | 13 | <div class="followers" i18n>{videoChannel.followersCount, plural, =1 {1 subscriber} other {{{ videoChannel.followersCount }} subscribers}}</div> |
13 | </a> | 14 | </a> |
14 | 15 | ||
diff --git a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html index 716d12685..44de716a3 100644 --- a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html +++ b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html | |||
@@ -1,3 +1,4 @@ | |||
1 | <h1 class="sr-only" i18n>Configuration</h1> | ||
1 | <form role="form" [formGroup]="form"> | 2 | <form role="form" [formGroup]="form"> |
2 | 3 | ||
3 | <div ngbNav #nav="ngbNav" class="nav-tabs"> | 4 | <div ngbNav #nav="ngbNav" class="nav-tabs"> |
diff --git a/client/src/app/+admin/follows/follows.component.html b/client/src/app/+admin/follows/follows.component.html index 7b5bcc2db..8c3129394 100644 --- a/client/src/app/+admin/follows/follows.component.html +++ b/client/src/app/+admin/follows/follows.component.html | |||
@@ -1,5 +1,5 @@ | |||
1 | <div class="admin-sub-header"> | 1 | <div class="admin-sub-header"> |
2 | <div i18n class="form-sub-title">Follows & redundancies</div> | 2 | <h1 i18n class="form-sub-title">Follows & redundancies</h1> |
3 | 3 | ||
4 | <div class="admin-sub-nav"> | 4 | <div class="admin-sub-nav"> |
5 | <a i18n routerLink="following-list" routerLinkActive="active">Following</a> | 5 | <a i18n routerLink="following-list" routerLinkActive="active">Following</a> |
diff --git a/client/src/app/+admin/moderation/moderation.component.html b/client/src/app/+admin/moderation/moderation.component.html index 09f149c0e..7bab63c33 100644 --- a/client/src/app/+admin/moderation/moderation.component.html +++ b/client/src/app/+admin/moderation/moderation.component.html | |||
@@ -1,5 +1,5 @@ | |||
1 | <div class="admin-sub-header"> | 1 | <div class="admin-sub-header"> |
2 | <div i18n class="form-sub-title">Moderation</div> | 2 | <h1 i18n class="form-sub-title">Moderation</h1> |
3 | 3 | ||
4 | <div class="admin-sub-nav"> | 4 | <div class="admin-sub-nav"> |
5 | <a *ngIf="hasVideoAbusesRight()" i18n routerLink="video-abuses/list" routerLinkActive="active">Video reports</a> | 5 | <a *ngIf="hasVideoAbusesRight()" i18n routerLink="video-abuses/list" routerLinkActive="active">Video reports</a> |
diff --git a/client/src/app/+admin/plugins/plugins.component.html b/client/src/app/+admin/plugins/plugins.component.html index 3dc4939da..e2b927db8 100644 --- a/client/src/app/+admin/plugins/plugins.component.html +++ b/client/src/app/+admin/plugins/plugins.component.html | |||
@@ -1,5 +1,5 @@ | |||
1 | <div class="admin-sub-header"> | 1 | <div class="admin-sub-header"> |
2 | <div i18n class="form-sub-title">Plugins/Themes</div> | 2 | <h1 i18n class="form-sub-title">Plugins/Themes</h1> |
3 | 3 | ||
4 | <div class="admin-sub-nav"> | 4 | <div class="admin-sub-nav"> |
5 | <a i18n routerLink="list-installed" routerLinkActive="active">Installed</a> | 5 | <a i18n routerLink="list-installed" routerLinkActive="active">Installed</a> |
diff --git a/client/src/app/+admin/system/system.component.html b/client/src/app/+admin/system/system.component.html index 7c4278d35..4f9521c0c 100644 --- a/client/src/app/+admin/system/system.component.html +++ b/client/src/app/+admin/system/system.component.html | |||
@@ -1,5 +1,5 @@ | |||
1 | <div class="admin-sub-header"> | 1 | <div class="admin-sub-header"> |
2 | <div i18n class="form-sub-title">System</div> | 2 | <h1 i18n class="form-sub-title">System</h1> |
3 | 3 | ||
4 | <div class="admin-sub-nav"> | 4 | <div class="admin-sub-nav"> |
5 | <a *ngIf="hasJobsRight()" i18n routerLink="jobs" routerLinkActive="active">Jobs</a> | 5 | <a *ngIf="hasJobsRight()" i18n routerLink="jobs" routerLinkActive="active">Jobs</a> |
diff --git a/client/src/app/+admin/users/user-list/user-list.component.html b/client/src/app/+admin/users/user-list/user-list.component.html index 6c6c64194..e0022d2ba 100644 --- a/client/src/app/+admin/users/user-list/user-list.component.html +++ b/client/src/app/+admin/users/user-list/user-list.component.html | |||
@@ -1,5 +1,5 @@ | |||
1 | <div class="admin-sub-header"> | 1 | <div class="admin-sub-header"> |
2 | <div i18n class="form-sub-title">Users list</div> | 2 | <h1 i18n class="form-sub-title">Users list</h1> |
3 | 3 | ||
4 | <a class="add-button" routerLink="/admin/users/create"> | 4 | <a class="add-button" routerLink="/admin/users/create"> |
5 | <my-global-icon iconName="add" aria-hidden="true"></my-global-icon> | 5 | <my-global-icon iconName="add" aria-hidden="true"></my-global-icon> |
diff --git a/client/src/app/+my-account/my-account-blocklist/my-account-blocklist.component.html b/client/src/app/+my-account/my-account-blocklist/my-account-blocklist.component.html index fb9e6546e..90f657521 100644 --- a/client/src/app/+my-account/my-account-blocklist/my-account-blocklist.component.html +++ b/client/src/app/+my-account/my-account-blocklist/my-account-blocklist.component.html | |||
@@ -1,5 +1,5 @@ | |||
1 | <div class="admin-sub-header"> | 1 | <div class="admin-sub-header"> |
2 | <div i18n class="form-sub-title">Muted accounts</div> | 2 | <h1 i18n class="form-sub-title">Muted accounts</h1> |
3 | </div> | 3 | </div> |
4 | 4 | ||
5 | <p-table | 5 | <p-table |
diff --git a/client/src/app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html b/client/src/app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html index 6359b4461..c31cff16f 100644 --- a/client/src/app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html +++ b/client/src/app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html | |||
@@ -1,5 +1,5 @@ | |||
1 | <div class="admin-sub-header"> | 1 | <div class="admin-sub-header"> |
2 | <div i18n class="form-sub-title">Muted instances</div> | 2 | <h1 i18n class="form-sub-title">Muted instances</h1> |
3 | </div> | 3 | </div> |
4 | 4 | ||
5 | <p-table | 5 | <p-table |
diff --git a/client/src/app/+my-account/my-account-history/my-account-history.component.html b/client/src/app/+my-account/my-account-history/my-account-history.component.html index 817b929fe..6b94d5477 100644 --- a/client/src/app/+my-account/my-account-history/my-account-history.component.html +++ b/client/src/app/+my-account/my-account-history/my-account-history.component.html | |||
@@ -1,3 +1,4 @@ | |||
1 | <h1 class="sr-only" i18n>History</h1> | ||
1 | <div class="top-buttons"> | 2 | <div class="top-buttons"> |
2 | <div class="history-switch"> | 3 | <div class="history-switch"> |
3 | <p-inputSwitch [(ngModel)]="videosHistoryEnabled" (ngModelChange)="onVideosHistoryChange()"></p-inputSwitch> | 4 | <p-inputSwitch [(ngModel)]="videosHistoryEnabled" (ngModelChange)="onVideosHistoryChange()"></p-inputSwitch> |
diff --git a/client/src/app/+my-account/my-account-notifications/my-account-notifications.component.html b/client/src/app/+my-account/my-account-notifications/my-account-notifications.component.html index 429943f71..8e4480ca6 100644 --- a/client/src/app/+my-account/my-account-notifications/my-account-notifications.component.html +++ b/client/src/app/+my-account/my-account-notifications/my-account-notifications.component.html | |||
@@ -1,3 +1,4 @@ | |||
1 | <h1 class="sr-only" i18n>Notifications</h1> | ||
1 | <div class="header"> | 2 | <div class="header"> |
2 | <a routerLink="/my-account/settings" fragment="notifications" i18n> | 3 | <a routerLink="/my-account/settings" fragment="notifications" i18n> |
3 | <my-global-icon iconName="cog" aria-hidden="true"></my-global-icon> | 4 | <my-global-icon iconName="cog" aria-hidden="true"></my-global-icon> |
diff --git a/client/src/app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html b/client/src/app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html index a155d90e0..222da9542 100644 --- a/client/src/app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html +++ b/client/src/app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html | |||
@@ -1,6 +1,6 @@ | |||
1 | <ng-template #modal let-close="close" let-dismiss="dismiss"> | 1 | <ng-template #modal let-close="close" let-dismiss="dismiss"> |
2 | <div class="modal-header"> | 2 | <div class="modal-header"> |
3 | <h4 i18n class="modal-title">Accept ownership</h4> | 3 | <h1 i18n class="modal-title">Accept ownership</h1> |
4 | 4 | ||
5 | <my-global-icon iconName="cross" aria-label="Close" role="button" (click)="dismiss()"></my-global-icon> | 5 | <my-global-icon iconName="cross" aria-label="Close" role="button" (click)="dismiss()"></my-global-icon> |
6 | </div> | 6 | </div> |
diff --git a/client/src/app/+my-account/my-account-ownership/my-account-ownership.component.html b/client/src/app/+my-account/my-account-ownership/my-account-ownership.component.html index 354176a11..a50acfdf8 100644 --- a/client/src/app/+my-account/my-account-ownership/my-account-ownership.component.html +++ b/client/src/app/+my-account/my-account-ownership/my-account-ownership.component.html | |||
@@ -1,3 +1,4 @@ | |||
1 | <h1 class="sr-only" i18n>Ownership changes</h1> | ||
1 | <p-table | 2 | <p-table |
2 | [value]="videoChangeOwnerships" | 3 | [value]="videoChangeOwnerships" |
3 | [lazy]="true" | 4 | [lazy]="true" |
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 b4e4d29f0..040b2130f 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 | |||
@@ -1,6 +1,7 @@ | |||
1 | <h1 class="sr-only" i18n>Settings</h1> | ||
1 | <div class="form-row"> <!-- profile grid --> | 2 | <div class="form-row"> <!-- profile grid --> |
2 | <div class="form-group col-12 col-lg-4 col-xl-3"> | 3 | <div class="form-group col-12 col-lg-4 col-xl-3"> |
3 | <div i18n class="account-title">PROFILE</div> | 4 | <h2 i18n class="account-title">PROFILE</h2> |
4 | </div> | 5 | </div> |
5 | 6 | ||
6 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> | 7 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> |
@@ -29,7 +30,7 @@ | |||
29 | <div class="form-row mt-5"> <!-- video settings grid --> | 30 | <div class="form-row mt-5"> <!-- video settings grid --> |
30 | <div class="form-group col-12 col-lg-4 col-xl-3"> | 31 | <div class="form-group col-12 col-lg-4 col-xl-3"> |
31 | <div class="anchor" id="video-settings"></div> <!-- video settings anchor --> | 32 | <div class="anchor" id="video-settings"></div> <!-- video settings anchor --> |
32 | <div i18n class="account-title">VIDEO SETTINGS</div> | 33 | <h2 i18n class="account-title">VIDEO SETTINGS</h2> |
33 | </div> | 34 | </div> |
34 | 35 | ||
35 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> | 36 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> |
@@ -40,7 +41,7 @@ | |||
40 | <div class="form-row mt-5"> <!-- notifications grid --> | 41 | <div class="form-row mt-5"> <!-- notifications grid --> |
41 | <div class="form-group col-12 col-lg-4 col-xl-3"> | 42 | <div class="form-group col-12 col-lg-4 col-xl-3"> |
42 | <div class="anchor" id="notifications"></div> <!-- notifications anchor --> | 43 | <div class="anchor" id="notifications"></div> <!-- notifications anchor --> |
43 | <div i18n class="account-title">NOTIFICATIONS</div> | 44 | <h2 i18n class="account-title">NOTIFICATIONS</h2> |
44 | </div> | 45 | </div> |
45 | 46 | ||
46 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> | 47 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> |
@@ -50,7 +51,7 @@ | |||
50 | 51 | ||
51 | <div class="form-row mt-5"> <!-- interface grid --> | 52 | <div class="form-row mt-5"> <!-- interface grid --> |
52 | <div class="form-group col-12 col-lg-4 col-xl-3"> | 53 | <div class="form-group col-12 col-lg-4 col-xl-3"> |
53 | <div i18n class="account-title">INTERFACE</div> | 54 | <h2 i18n class="account-title">INTERFACE</h2> |
54 | </div> | 55 | </div> |
55 | 56 | ||
56 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> | 57 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> |
@@ -60,7 +61,7 @@ | |||
60 | 61 | ||
61 | <div class="form-row mt-5" *ngIf="user.pluginAuth === null"> <!-- password grid --> | 62 | <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"> | 63 | <div class="form-group col-12 col-lg-4 col-xl-3"> |
63 | <div i18n class="account-title">PASSWORD</div> | 64 | <h2 i18n class="account-title">PASSWORD</h2> |
64 | </div> | 65 | </div> |
65 | 66 | ||
66 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> | 67 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> |
@@ -70,7 +71,7 @@ | |||
70 | 71 | ||
71 | <div class="form-row mt-5"> <!-- email grid --> | 72 | <div class="form-row mt-5"> <!-- email grid --> |
72 | <div class="form-group col-12 col-lg-4 col-xl-3"> | 73 | <div class="form-group col-12 col-lg-4 col-xl-3"> |
73 | <div i18n class="account-title">EMAIL</div> | 74 | <h2 i18n class="account-title">EMAIL</h2> |
74 | </div> | 75 | </div> |
75 | 76 | ||
76 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> | 77 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> |
@@ -80,7 +81,7 @@ | |||
80 | 81 | ||
81 | <div class="form-row mt-5"> <!-- danger zone grid --> | 82 | <div class="form-row mt-5"> <!-- danger zone grid --> |
82 | <div class="form-group col-12 col-lg-4 col-xl-3"> | 83 | <div class="form-group col-12 col-lg-4 col-xl-3"> |
83 | <div i18n class="account-title">DANGER ZONE</div> | 84 | <h2 i18n class="account-title">DANGER ZONE</h2> |
84 | </div> | 85 | </div> |
85 | 86 | ||
86 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> | 87 | <div class="form-group form-group-right col-12 col-lg-8 col-xl-9"> |
diff --git a/client/src/app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html b/client/src/app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html index b87a4c00c..23dfdc8f5 100644 --- a/client/src/app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html +++ b/client/src/app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html | |||
@@ -1,3 +1,4 @@ | |||
1 | <h1 class="sr-only" i18n>Subscriptions</h1> | ||
1 | <div class="no-results" i18n *ngIf="pagination.totalItems === 0">You don't have any subscriptions yet.</div> | 2 | <div class="no-results" i18n *ngIf="pagination.totalItems === 0">You don't have any subscriptions yet.</div> |
2 | 3 | ||
3 | <div class="video-channels" myInfiniteScroller [autoInit]="true" (nearOfBottom)="onNearOfBottom()" [dataObservable]="onDataSubject.asObservable()"> | 4 | <div class="video-channels" myInfiniteScroller [autoInit]="true" (nearOfBottom)="onNearOfBottom()" [dataObservable]="onDataSubject.asObservable()"> |
diff --git a/client/src/app/+my-account/my-account-video-channels/my-account-video-channels.component.html b/client/src/app/+my-account/my-account-video-channels/my-account-video-channels.component.html index 6fd94474d..2499b6ed5 100644 --- a/client/src/app/+my-account/my-account-video-channels/my-account-video-channels.component.html +++ b/client/src/app/+my-account/my-account-video-channels/my-account-video-channels.component.html | |||
@@ -1,3 +1,4 @@ | |||
1 | <h1 class="sr-only" i18n>My channels</h1> | ||
1 | <div class="video-channels-header"> | 2 | <div class="video-channels-header"> |
2 | <a class="create-button" routerLink="create"> | 3 | <a class="create-button" routerLink="create"> |
3 | <my-global-icon iconName="add" aria-hidden="true"></my-global-icon> | 4 | <my-global-icon iconName="add" aria-hidden="true"></my-global-icon> |
diff --git a/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.html b/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.html index 37c6ad6b4..8f0786bd0 100644 --- a/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.html +++ b/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.html | |||
@@ -1,3 +1,4 @@ | |||
1 | <h1 class="sr-only" i18n>Imports</h1> | ||
1 | <p-table | 2 | <p-table |
2 | [value]="videoImports" [lazy]="true" [paginator]="totalRecords > 0" [totalRecords]="totalRecords" [rows]="rowsPerPage" | 3 | [value]="videoImports" [lazy]="true" [paginator]="totalRecords > 0" [totalRecords]="totalRecords" [rows]="rowsPerPage" |
3 | [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)" dataKey="id" | 4 | [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)" dataKey="id" |
diff --git a/client/src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.html b/client/src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.html index 7bd2fa19f..1ba2c35ef 100644 --- a/client/src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.html +++ b/client/src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.html | |||
@@ -1,5 +1,5 @@ | |||
1 | <div class="video-playlists-header"> | 1 | <div class="video-playlists-header"> |
2 | <h4 i18n>Playlists <span class="badge badge-secondary">{{ pagination.totalItems }}</span></h4> | 2 | <h1 i18n>Playlists <span class="badge badge-secondary">{{ pagination.totalItems }}</span></h1> |
3 | 3 | ||
4 | <input type="text" placeholder="Search your playlists" i18n-placeholder [(ngModel)]="videoPlaylistsSearch" (ngModelChange)="onVideoPlaylistSearchChanged()" /> | 4 | <input type="text" placeholder="Search your playlists" i18n-placeholder [(ngModel)]="videoPlaylistsSearch" (ngModelChange)="onVideoPlaylistSearchChanged()" /> |
5 | 5 | ||
diff --git a/client/src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.scss b/client/src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.scss index 4381d74b0..41e7851fd 100644 --- a/client/src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.scss +++ b/client/src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.scss | |||
@@ -41,6 +41,10 @@ | |||
41 | input[type=text] { | 41 | input[type=text] { |
42 | @include peertube-input-text(300px); | 42 | @include peertube-input-text(300px); |
43 | } | 43 | } |
44 | |||
45 | h1 { | ||
46 | font-size: 1.5rem; | ||
47 | } | ||
44 | } | 48 | } |
45 | 49 | ||
46 | @media screen and (max-width: $small-view) { | 50 | @media screen and (max-width: $small-view) { |
diff --git a/client/src/app/+my-account/my-account-videos/my-account-videos.component.html b/client/src/app/+my-account/my-account-videos/my-account-videos.component.html index 9192aec6d..825bddf5e 100644 --- a/client/src/app/+my-account/my-account-videos/my-account-videos.component.html +++ b/client/src/app/+my-account/my-account-videos/my-account-videos.component.html | |||
@@ -1,5 +1,5 @@ | |||
1 | <div class="videos-header"> | 1 | <div class="videos-header"> |
2 | <h4 i18n>Videos <span class="badge badge-secondary">{{ pagination.totalItems }}</span></h4> | 2 | <h1 i18n>Videos <span class="badge badge-secondary">{{ pagination.totalItems }}</span></h1> |
3 | 3 | ||
4 | <input type="text" placeholder="Search your videos" i18n-placeholder [(ngModel)]="videosSearch" (ngModelChange)="onVideosSearchChanged()" /> | 4 | <input type="text" placeholder="Search your videos" i18n-placeholder [(ngModel)]="videosSearch" (ngModelChange)="onVideosSearchChanged()" /> |
5 | 5 | ||
diff --git a/client/src/app/+my-account/my-account-videos/my-account-videos.component.scss b/client/src/app/+my-account/my-account-videos/my-account-videos.component.scss index 67a58d8d5..18c1ae288 100644 --- a/client/src/app/+my-account/my-account-videos/my-account-videos.component.scss +++ b/client/src/app/+my-account/my-account-videos/my-account-videos.component.scss | |||
@@ -6,9 +6,10 @@ | |||
6 | justify-content: space-between; | 6 | justify-content: space-between; |
7 | margin: 20px 0 50px; | 7 | margin: 20px 0 50px; |
8 | 8 | ||
9 | h4, | 9 | h1, |
10 | .fake-element { | 10 | .fake-element { |
11 | flex: 1; | 11 | flex: 1; |
12 | font-size: 1.5rem; | ||
12 | } | 13 | } |
13 | 14 | ||
14 | input[type=text] { | 15 | input[type=text] { |
diff --git a/client/src/app/+my-account/shared/actor-avatar-info.component.html b/client/src/app/+my-account/shared/actor-avatar-info.component.html index 82f5123de..d01b9ac7f 100644 --- a/client/src/app/+my-account/shared/actor-avatar-info.component.html +++ b/client/src/app/+my-account/shared/actor-avatar-info.component.html | |||
@@ -6,6 +6,7 @@ | |||
6 | <div class="actor-img-edit-container"> | 6 | <div class="actor-img-edit-container"> |
7 | <div class="actor-img-edit-button" [ngbTooltip]="'(extensions: '+ avatarExtensions +', '+ maxSizeText +': '+ maxAvatarSizeInBytes +')'" placement="right" container="body"> | 7 | <div class="actor-img-edit-button" [ngbTooltip]="'(extensions: '+ avatarExtensions +', '+ maxSizeText +': '+ maxAvatarSizeInBytes +')'" placement="right" container="body"> |
8 | <my-global-icon iconName="edit"></my-global-icon> | 8 | <my-global-icon iconName="edit"></my-global-icon> |
9 | <label for="avatarfile" i18n>Change your avatar</label> | ||
9 | <input #avatarfileInput type="file" title=" " name="avatarfile" id="avatarfile" [accept]="avatarExtensions" (change)="onAvatarChange()"/> | 10 | <input #avatarfileInput type="file" title=" " name="avatarfile" id="avatarfile" [accept]="avatarExtensions" (change)="onAvatarChange()"/> |
10 | </div> | 11 | </div> |
11 | </div> | 12 | </div> |
diff --git a/client/src/app/shared/instance/instance-statistics.component.html b/client/src/app/shared/instance/instance-statistics.component.html index bcb2308fe..399cf10fe 100644 --- a/client/src/app/shared/instance/instance-statistics.component.html +++ b/client/src/app/shared/instance/instance-statistics.component.html | |||
@@ -1,7 +1,7 @@ | |||
1 | <p i18n *ngIf="null === serverStats">Loading instance statistics...</p> | 1 | <p i18n *ngIf="null === serverStats">Loading instance statistics...</p> |
2 | 2 | ||
3 | <section *ngIf="null !== serverStats"> | 3 | <section *ngIf="null !== serverStats"> |
4 | <h5 i18n>Local</h5> | 4 | <h3 i18n>Local</h3> |
5 | 5 | ||
6 | <div class="row"> | 6 | <div class="row"> |
7 | <div class="col-6 col-lg-4 col-xl-3"> | 7 | <div class="col-6 col-lg-4 col-xl-3"> |
@@ -55,7 +55,7 @@ | |||
55 | </div> | 55 | </div> |
56 | </div> | 56 | </div> |
57 | 57 | ||
58 | <h5 i18n>Federation</h5> | 58 | <h3 i18n>Federation</h3> |
59 | 59 | ||
60 | <div class="row"> | 60 | <div class="row"> |
61 | <div class="col-6 col-lg-4 col-xl-3"> | 61 | <div class="col-6 col-lg-4 col-xl-3"> |
diff --git a/client/src/app/shared/instance/instance-statistics.component.scss b/client/src/app/shared/instance/instance-statistics.component.scss index 63f8911f6..5286ab03a 100644 --- a/client/src/app/shared/instance/instance-statistics.component.scss +++ b/client/src/app/shared/instance/instance-statistics.component.scss | |||
@@ -1,3 +1,8 @@ | |||
1 | |||
2 | h3 { | ||
3 | font-size: 1.25rem; | ||
4 | } | ||
5 | |||
1 | .stat { | 6 | .stat { |
2 | text-align: center; | 7 | text-align: center; |
3 | margin-bottom: 1em; | 8 | margin-bottom: 1em; |
diff --git a/client/src/app/shared/video/abstract-video-list.html b/client/src/app/shared/video/abstract-video-list.html index 54557df6b..548370843 100644 --- a/client/src/app/shared/video/abstract-video-list.html +++ b/client/src/app/shared/video/abstract-video-list.html | |||
@@ -1,11 +1,11 @@ | |||
1 | <div class="margin-content"> | 1 | <div class="margin-content"> |
2 | <div class="videos-header"> | 2 | <div class="videos-header"> |
3 | <div *ngIf="titlePage" class="title-page title-page-single"> | 3 | <h1 *ngIf="titlePage" class="title-page title-page-single"> |
4 | <div placement="bottom" [ngbTooltip]="titleTooltip" container="body"> | 4 | <div placement="bottom" [ngbTooltip]="titleTooltip" container="body"> |
5 | {{ titlePage }} | 5 | {{ titlePage }} |
6 | </div> | 6 | </div> |
7 | <my-feed *ngIf="titlePage" [syndicationItems]="syndicationItems"></my-feed> | 7 | <my-feed *ngIf="titlePage" [syndicationItems]="syndicationItems"></my-feed> |
8 | </div> | 8 | </h1> |
9 | 9 | ||
10 | <div class="action-block" *ngIf="actions.length > 0"> | 10 | <div class="action-block" *ngIf="actions.length > 0"> |
11 | <a [routerLink]="action.routerLink" routerLinkActive="active" *ngFor="let action of actions"> | 11 | <a [routerLink]="action.routerLink" routerLinkActive="active" *ngFor="let action of actions"> |
@@ -31,9 +31,9 @@ | |||
31 | class="videos" | 31 | class="videos" |
32 | > | 32 | > |
33 | <ng-container *ngFor="let video of videos; trackBy: videoById;"> | 33 | <ng-container *ngFor="let video of videos; trackBy: videoById;"> |
34 | <div class="date-title" *ngIf="getCurrentGroupedDateLabel(video)"> | 34 | <h2 class="date-title" *ngIf="getCurrentGroupedDateLabel(video)"> |
35 | {{ getCurrentGroupedDateLabel(video) }} | 35 | {{ getCurrentGroupedDateLabel(video) }} |
36 | </div> | 36 | </h2> |
37 | 37 | ||
38 | <div class="video-wrapper"> | 38 | <div class="video-wrapper"> |
39 | <my-video-miniature | 39 | <my-video-miniature |
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 affbd4793..dd1d43560 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 | |||
@@ -1,13 +1,13 @@ | |||
1 | <div> | 1 | <div> |
2 | <div class="title-block"> | 2 | <div class="title-block"> |
3 | <div class="title-page title-page-single"> | 3 | <h2 class="title-page title-page-single"> |
4 | <ng-container *ngIf="componentPagination.totalItems > 0; then hasComments; else noComments"></ng-container> | 4 | <ng-container *ngIf="componentPagination.totalItems > 0; then hasComments; else noComments"></ng-container> |
5 | <ng-template #hasComments> | 5 | <ng-template #hasComments> |
6 | <ng-container i18n *ngIf="componentPagination.totalItems === 1; else manyComments">1 Comment</ng-container> | 6 | <ng-container i18n *ngIf="componentPagination.totalItems === 1; else manyComments">1 Comment</ng-container> |
7 | <ng-template i18n #manyComments>{{ componentPagination.totalItems }} Comments</ng-template> | 7 | <ng-template i18n #manyComments>{{ componentPagination.totalItems }} Comments</ng-template> |
8 | </ng-template> | 8 | </ng-template> |
9 | <ng-template i18n #noComments>Comments</ng-template> | 9 | <ng-template i18n #noComments>Comments</ng-template> |
10 | </div> | 10 | </h2> |
11 | 11 | ||
12 | <my-feed [syndicationItems]="syndicationItems"></my-feed> | 12 | <my-feed [syndicationItems]="syndicationItems"></my-feed> |
13 | 13 | ||
diff --git a/client/src/app/videos/recommendations/recommended-videos.component.html b/client/src/app/videos/recommendations/recommended-videos.component.html index a40266028..17e19c083 100644 --- a/client/src/app/videos/recommendations/recommended-videos.component.html +++ b/client/src/app/videos/recommendations/recommended-videos.component.html | |||
@@ -1,9 +1,9 @@ | |||
1 | <div class="other-videos"> | 1 | <div class="other-videos"> |
2 | <ng-container *ngIf="hasVideos$ | async"> | 2 | <ng-container *ngIf="hasVideos$ | async"> |
3 | <div class="title-page-container"> | 3 | <div class="title-page-container"> |
4 | <div i18n class="title-page title-page-single"> | 4 | <h2 i18n class="title-page title-page-single"> |
5 | Other videos | 5 | Other videos |
6 | </div> | 6 | </h2> |
7 | <div *ngIf="!playlist" class="title-page-autoplay" | 7 | <div *ngIf="!playlist" class="title-page-autoplay" |
8 | [ngbTooltip]="autoPlayNextVideoTooltip" placement="bottom-right auto" | 8 | [ngbTooltip]="autoPlayNextVideoTooltip" placement="bottom-right auto" |
9 | > | 9 | > |
diff --git a/client/src/app/videos/video-list/video-overview.component.html b/client/src/app/videos/video-list/video-overview.component.html index 999628de4..19d03b5c5 100644 --- a/client/src/app/videos/video-list/video-overview.component.html +++ b/client/src/app/videos/video-list/video-overview.component.html | |||
@@ -1,3 +1,4 @@ | |||
1 | <h1 class="sr-only" i18n>Discover</h1> | ||
1 | <div class="margin-content"> | 2 | <div class="margin-content"> |
2 | 3 | ||
3 | <div class="no-results" i18n *ngIf="notResults">No results.</div> | 4 | <div class="no-results" i18n *ngIf="notResults">No results.</div> |
@@ -8,9 +9,9 @@ | |||
8 | <ng-container *ngFor="let overview of overviews"> | 9 | <ng-container *ngFor="let overview of overviews"> |
9 | 10 | ||
10 | <div class="section videos" *ngFor="let object of overview.categories"> | 11 | <div class="section videos" *ngFor="let object of overview.categories"> |
11 | <div class="section-title"> | 12 | <h1 class="section-title"> |
12 | <a routerLink="/search" [queryParams]="{ categoryOneOf: [ object.category.id ] }">{{ object.category.label }}</a> | 13 | <a routerLink="/search" [queryParams]="{ categoryOneOf: [ object.category.id ] }">{{ object.category.label }}</a> |
13 | </div> | 14 | </h1> |
14 | 15 | ||
15 | <div class="video-wrapper" *ngFor="let video of buildVideos(object.videos)"> | 16 | <div class="video-wrapper" *ngFor="let video of buildVideos(object.videos)"> |
16 | <my-video-miniature [video]="video" [fitWidth]="true" [user]="user" [displayVideoActions]="false"> | 17 | <my-video-miniature [video]="video" [fitWidth]="true" [user]="user" [displayVideoActions]="false"> |
@@ -19,9 +20,9 @@ | |||
19 | </div> | 20 | </div> |
20 | 21 | ||
21 | <div class="section videos" *ngFor="let object of overview.tags"> | 22 | <div class="section videos" *ngFor="let object of overview.tags"> |
22 | <div class="section-title"> | 23 | <h2 class="section-title"> |
23 | <a routerLink="/search" [queryParams]="{ tagsOneOf: [ object.tag ] }">#{{ object.tag }}</a> | 24 | <a routerLink="/search" [queryParams]="{ tagsOneOf: [ object.tag ] }">#{{ object.tag }}</a> |
24 | </div> | 25 | </h2> |
25 | 26 | ||
26 | <div class="video-wrapper" *ngFor="let video of buildVideos(object.videos)"> | 27 | <div class="video-wrapper" *ngFor="let video of buildVideos(object.videos)"> |
27 | <my-video-miniature [video]="video" [fitWidth]="true" [user]="user" [displayVideoActions]="false"> | 28 | <my-video-miniature [video]="video" [fitWidth]="true" [user]="user" [displayVideoActions]="false"> |
@@ -34,7 +35,7 @@ | |||
34 | <a [routerLink]="[ '/video-channels', buildVideoChannelBy(object) ]"> | 35 | <a [routerLink]="[ '/video-channels', buildVideoChannelBy(object) ]"> |
35 | <img [src]="buildVideoChannelAvatarUrl(object)" alt="Avatar" /> | 36 | <img [src]="buildVideoChannelAvatarUrl(object)" alt="Avatar" /> |
36 | 37 | ||
37 | <div>{{ object.channel.displayName }}</div> | 38 | <h2 class="section-title">{{ object.channel.displayName }}</h2> |
38 | </a> | 39 | </a> |
39 | </div> | 40 | </div> |
40 | 41 | ||
diff --git a/client/src/sass/include/_miniature.scss b/client/src/sass/include/_miniature.scss index d82d78d58..976bbf4d6 100644 --- a/client/src/sass/include/_miniature.scss +++ b/client/src/sass/include/_miniature.scss | |||
@@ -124,7 +124,10 @@ $play-overlay-width: 18px; | |||
124 | margin-bottom: 15px; | 124 | margin-bottom: 15px; |
125 | display: flex; | 125 | display: flex; |
126 | justify-content: space-between; | 126 | justify-content: space-between; |
127 | border-top: 1px solid $separator-border-color; | 127 | |
128 | &:not(h2) { | ||
129 | border-top: 1px solid $separator-border-color; | ||
130 | } | ||
128 | 131 | ||
129 | a { | 132 | a { |
130 | &:hover, &:focus:not(.focus-visible), &:active { | 133 | &:hover, &:focus:not(.focus-visible), &:active { |