]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Refactor video miniatures
authorChocobozzz <me@florianbigard.com>
Wed, 3 Apr 2019 14:17:41 +0000 (16:17 +0200)
committerChocobozzz <me@florianbigard.com>
Wed, 3 Apr 2019 14:17:41 +0000 (16:17 +0200)
18 files changed:
client/src/app/+accounts/account-videos/account-videos.component.ts
client/src/app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.html
client/src/app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.scss
client/src/app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.ts
client/src/app/+my-account/my-account-history/my-account-history.component.html
client/src/app/+my-account/my-account-history/my-account-history.component.scss
client/src/app/+my-account/my-account-videos/my-account-videos.component.html
client/src/app/+my-account/my-account-videos/my-account-videos.component.scss
client/src/app/+my-account/my-account-videos/my-account-videos.component.ts
client/src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts
client/src/app/search/search.component.html
client/src/app/search/search.component.scss
client/src/app/search/search.component.ts
client/src/app/shared/video/video-miniature.component.html
client/src/app/shared/video/video-miniature.component.scss
client/src/app/shared/video/video-miniature.component.ts
client/src/sass/include/_miniature.scss
client/src/sass/include/_mixins.scss

index 7535eef087e4d471b89e9909dc77d8563725d743..1814ef455866d6a732810843cf9c3e356257c86d 100644 (file)
@@ -23,7 +23,6 @@ import { Notifier, ServerService } from '@app/core'
 })
 export class AccountVideosComponent extends AbstractVideoList implements OnInit, OnDestroy {
   titlePage: string
-  marginContent = false // Disable margin
   loadOnInit = false
 
   private account: Account
index c4e5be0d6aeb334f9f470529db3e4dbfee861efd..5ef497fa7d6d7baf3ef9ffeed30844bf65b0309d 100644 (file)
@@ -6,15 +6,7 @@
       <my-peertube-checkbox [inputName]="'video-check-' + video.id" [(ngModel)]="checkedVideos[video.id]"></my-peertube-checkbox>
     </div>
 
-    <my-video-thumbnail [video]="video"></my-video-thumbnail>
-
-    <div class="video-info">
-      <a class="video-info-name" [routerLink]="['/videos/watch', video.uuid]" [attr.title]="video.name">{{ video.name }}</a>
-      <div>{{ video.account.displayName }}</div>
-      <div>{{ video.publishedAt | myFromNow }}</div>
-      <div><span i18n>Privacy: </span><span>{{ video.privacy.label }}</span></div>
-      <div><span i18n>Sensitive: </span><span> {{ video.nsfw }}</span></div>
-    </div>
+    <my-video-miniature [video]="video" [displayAsRow]="true" [displayOptions]="miniatureDisplayOptions"></my-video-miniature>
 
     <!-- Display only once -->
     <div class="action-selection-mode" *ngIf="isInSelectionMode() === true && i === 0">
       </div>
     </div>
 
-    <div class="video-buttons" *ngIf="isInSelectionMode() === false">
-      <my-button
-        i18n-label
-        label="Unblacklist"
-        icon="tick"
-        (click)="removeVideoFromBlacklist(video)"
-      ></my-button>
-    </div>
+    <my-button
+      *ngIf="isInSelectionMode() === false"
+      i18n-label
+      label="Unblacklist"
+      icon="tick"
+      (click)="removeVideoFromBlacklist(video)"
+    ></my-button>
   </div>
 </div>
index a73c17eb92329b82c938cf864f7d0bd3ecd2244f..e43a2aa7be2ee88bd422a622a2a5879714165aa6 100644 (file)
     margin-left: 12px;
   }
 
-  my-video-thumbnail {
-    margin-right: 10px;
-  }
-
-  .video-info {
+  my-video-miniature {
     flex-grow: 1;
-
-    .video-info-name {
-      @include disable-default-a-behaviour;
-
-      color: var(--mainForegroundColor);
-      display: block;
-      width: fit-content;
-      font-size: 16px;
-      font-weight: $font-semibold;
-    }
-  }
-
-  .video-buttons {
-    min-width: 190px;
   }
 }
 
   .video {
     flex-direction: column;
     height: auto;
-    text-align: center;
-
-    .video-info-name {
-      margin: auto;
-    }
 
-    input[type=checkbox] {
+    .checkbox-container {
       display: none;
     }
 
-    my-video-thumbnail {
-      margin-right: 0;
-    }
-
-    .video-buttons {
+    my-button {
       margin-top: 10px;
     }
   }
index af68d7e2ed2e52a98ac5ea58e7bde1638c46118a..d66a6dcaee0084bf40970b41e3b94d05126adf22 100644 (file)
@@ -1,14 +1,14 @@
-import { Component, OnInit, OnDestroy } from '@angular/core'
-import { Location } from '@angular/common'
+import { Component, OnDestroy, OnInit } from '@angular/core'
 import { I18n } from '@ngx-translate/i18n-polyfill'
-import { Router, ActivatedRoute } from '@angular/router'
+import { ActivatedRoute, Router } from '@angular/router'
 import { AbstractVideoList } from '@app/shared/video/abstract-video-list'
 import { ComponentPagination } from '@app/shared/rest/component-pagination.model'
-import { Notifier, AuthService, ServerService } from '@app/core'
+import { AuthService, Notifier, ServerService } from '@app/core'
 import { Video } from '@shared/models'
 import { VideoBlacklistService } from '@app/shared'
 import { immutableAssign } from '@app/shared/misc/utils'
 import { ScreenService } from '@app/shared/misc/screen.service'
+import { MiniatureDisplayOptions } from '@app/shared/video/video-miniature.component'
 
 @Component({
   selector: 'my-video-auto-blacklist-list',
@@ -24,6 +24,17 @@ export class VideoAutoBlacklistListComponent extends AbstractVideoList implement
     totalItems: null
   }
 
+  miniatureDisplayOptions: MiniatureDisplayOptions = {
+    date: true,
+    views: false,
+    by: true,
+    privacyLabel: false,
+    privacyText: true,
+    state: false,
+    blacklistInfo: false,
+    nsfw: true
+  }
+
   constructor (
     protected router: Router,
     protected route: ActivatedRoute,
index 00ee5fbd1f2ebdb97d29198e90bc3028dcaed208..4b94490a09196571f8ad49d53fbc412b2cf3a8fe 100644 (file)
 
 <div myInfiniteScroller (nearOfBottom)="onNearOfBottom()" [autoInit]="true" class="videos">
   <div class="video" *ngFor="let video of videos">
-    <my-video-thumbnail [video]="video"></my-video-thumbnail>
-
-    <div class="video-info">
-      <a tabindex="-1" class="video-info-name" [routerLink]="['/videos/watch', video.uuid]" [attr.title]="video.name">{{ video.name }}</a>
-      <span i18n class="video-info-date-views">{{ video.views | myNumberFormatter }} views</span>
-      <a tabindex="-1" class="video-info-account" [routerLink]="[ '/accounts', video.byAccount ]">{{ video.byAccount }}</a>
-    </div>
+    <my-video-miniature [video]="video" [displayAsRow]="true"></my-video-miniature>
   </div>
 </div>
index e03d81055cd4fe67fa2cf7993de569d89b7d2936..af6395fb158d9dc965491640764d4040a91a3949 100644 (file)
 .video {
   @include row-blocks;
 
-  my-video-thumbnail {
-    margin-right: 10px;
-  }
-
-  .video-info {
+  .my-video-miniature {
     flex-grow: 1;
-
-    .video-info-name {
-      @include disable-default-a-behaviour;
-
-      color: var(--mainForegroundColor);
-      display: block;
-      width: fit-content;
-      font-size: 18px;
-      font-weight: $font-semibold;
-    }
-
-    .video-info-date-views {
-      font-size: 14px;
-    }
-
-    .video-info-account {
-      @include disable-default-a-behaviour;
-      @include ellipsis;
-
-      display: block;
-      width: fit-content;
-      font-size: 14px;
-      color: $grey-foreground-color;
-
-      &:hover {
-        color: $grey-foreground-hover-color;
-      }
-    }
-  }
-}
-
-@media screen and (max-width: $small-view) {
-  .video {
-    flex-direction: column;
-    height: auto;
-    text-align: center;
-
-    .video-info-name {
-      margin: auto;
-    }
-
-    input[type=checkbox] {
-      display: none;
-    }
-
-    my-video-thumbnail {
-      margin-right: 0;
-    }
-
-    .video-buttons {
-      margin-top: 10px;
-    }
   }
 }
index 1f3ac0005edaa0f9b9e69f82b5202f73b21661e6..3a4054de87eadc87e1ef7ba9b45ef025611ad5f6 100644 (file)
@@ -6,17 +6,7 @@
       <my-peertube-checkbox [inputName]="'video-check-' + video.id" [(ngModel)]="checkedVideos[video.id]"></my-peertube-checkbox>
     </div>
 
-    <my-video-thumbnail [video]="video"></my-video-thumbnail>
-
-    <div class="video-info">
-      <a class="video-info-name" [routerLink]="['/videos/watch', video.uuid]" [attr.title]="video.name">{{ video.name }}</a>
-      <span i18n class="video-info-date-views">{{ video.createdAt | myFromNow }} - {{ video.views | myNumberFormatter }} views</span>
-      <div class="video-info-privacy">{{ video.privacy.label }}{{ getStateLabel(video) }}</div>
-      <div *ngIf="video.blacklisted" class="video-info-blacklisted">
-        <span class="blacklisted-label" i18n>Blacklisted</span>
-        <span class="blacklisted-reason" *ngIf="video.blacklistedReason">{{ video.blacklistedReason }}</span>
-      </div>
-    </div>
+    <my-video-miniature [video]="video" [displayOptions]="miniatureDisplayOptions" [displayAsRow]="true"></my-video-miniature>
 
     <!-- Display only once -->
     <div class="action-selection-mode" *ngIf="isInSelectionMode() === true && i === 0">
index d2df6f29078ca531c4ebbd90c17f117d495d0fe2..405ded3f809810b4230b9cd4da0eae4fcbf80b41 100644 (file)
     margin-left: 12px;
   }
 
-  my-video-thumbnail {
-    margin-right: 10px;
-  }
-
-  .video-info {
+  my-video-miniature {
     flex-grow: 1;
-
-    .video-info-name {
-      @include disable-default-a-behaviour;
-
-      color: var(--mainForegroundColor);
-      display: block;
-      width: fit-content;
-      font-size: 16px;
-      font-weight: $font-semibold;
-    }
-
-    .video-info-date-views,
-    .video-info-privacy,
-    .video-info-blacklisted {
-      font-size: 13px;
-
-      &.video-info-privacy,
-      &.video-info-blacklisted .blacklisted-label {
-        font-weight: $font-semibold;
-      }
-
-      &.video-info-blacklisted {
-        color: red;
-
-        .blacklisted-reason {
-          &::before {
-            content: ' - ';
-          }
-        }
-      }
-
-    }
   }
 
   .video-buttons {
   .video {
     flex-direction: column;
     height: auto;
-    text-align: center;
 
-    .video-info-name {
-      margin: auto;
-    }
-
-    input[type=checkbox] {
+    .checkbox-container {
       display: none;
     }
 
-    my-video-thumbnail {
-      margin-right: 0;
-    }
-
     .video-buttons {
       margin-top: 10px;
     }
index eb5096a5e9319b7c77b86087977d167e132749ef..bbe86af730e3e97abf7aeed516dfca8666d31fe1 100644 (file)
@@ -14,6 +14,7 @@ import { I18n } from '@ngx-translate/i18n-polyfill'
 import { VideoPrivacy, VideoState } from '../../../../../shared/models/videos'
 import { ScreenService } from '@app/shared/misc/screen.service'
 import { VideoChangeOwnershipComponent } from './video-change-ownership/video-change-ownership.component'
+import { MiniatureDisplayOptions } from '@app/shared/video/video-miniature.component'
 
 @Component({
   selector: 'my-account-videos',
@@ -30,6 +31,15 @@ export class MyAccountVideosComponent extends AbstractVideoList implements OnIni
     itemsPerPage: 5,
     totalItems: null
   }
+  miniatureDisplayOptions: MiniatureDisplayOptions = {
+    date: true,
+    views: true,
+    by: false,
+    privacyLabel: false,
+    privacyText: true,
+    state: true,
+    blacklistInfo: true
+  }
 
   constructor (
     protected router: Router,
index 8af31000e3e3a5a85c57d33a7bd7d2f8752de561..2045a095d28169feca573a84334ee33ce6f75f56 100644 (file)
@@ -23,7 +23,6 @@ import { Notifier, ServerService } from '@app/core'
 })
 export class VideoChannelVideosComponent extends AbstractVideoList implements OnInit, OnDestroy {
   titlePage: string
-  marginContent = false // Disable margin
   loadOnInit = false
 
   private videoChannel: VideoChannel
index 82a5f0f26bbd62e779c58ca278512b70f17d0a2d..da2ace54de3790ed8d8de52e4ec4a171416f5ba5 100644 (file)
     </div>
 
     <div *ngIf="isVideo(result)" class="entry video">
-      <my-video-thumbnail [video]="result" [nsfw]="isVideoBlur(result)"></my-video-thumbnail>
-
-      <div class="video-info">
-        <a tabindex="-1" class="video-info-name" [routerLink]="['/videos/watch', result.uuid]" [attr.title]="result.name">{{ result.name }}</a>
-        <span i18n class="video-info-date-views">{{ result.publishedAt | myFromNow }} - {{ result.views | myNumberFormatter }} views</span>
-        <a tabindex="-1" class="video-info-account" [routerLink]="[ '/accounts', result.byAccount ]">{{ result.byAccount }}</a>
-      </div>
+      <my-video-miniature [video]="result" [user]="user" [displayAsRow]="true"></my-video-miniature>
     </div>
   </ng-container>
 
index e0509ee15807440da5f4ce56d07d1852f6994290..4e3ce1c964dda45e2ca9335858e8dd730d615a0c 100644 (file)
     padding-bottom: 20px;
     margin-bottom: 20px;
 
-    &.video {
-
-      my-video-thumbnail {
-        margin-right: 10px;
-      }
-
-      .video-info {
-        flex-grow: 1;
-
-        .video-info-name {
-          @include disable-default-a-behaviour;
-
-          color: var(--mainForegroundColor);
-          display: block;
-          width: fit-content;
-          font-size: 18px;
-          font-weight: $font-semibold;
-        }
-
-        .video-info-date-views {
-          font-size: 14px;
-        }
-
-        .video-info-account {
-          @include disable-default-a-behaviour;
-          @include ellipsis;
-
-          display: block;
-          width: fit-content;
-          font-size: 14px;
-          color: $grey-foreground-color;
-
-          &:hover {
-            color: $grey-foreground-hover-color;
-          }
-        }
-      }
-    }
-
     &.video-channel {
-
       img {
-        @include avatar(120px);
+        $image-size: 130px;
+        $margin-size: ($video-thumbnail-width - $image-size) / 2; // So we have the same width than the video miniature
+
+        @include avatar($image-size);
 
-        margin: 0 50px 0 40px;
+        margin: 0 ($margin-size + 10) 0 $margin-size;
       }
 
       .video-channel-info {
index c4a4b1fdebf7a472916c81bc22f1c86e10e8cd27..a3383ed8a08f138c92e74f14b650f4fb3bcc79ec 100644 (file)
@@ -41,10 +41,13 @@ export class SearchComponent implements OnInit, OnDestroy {
     private metaService: MetaService,
     private notifier: Notifier,
     private searchService: SearchService,
-    private authService: AuthService,
-    private serverService: ServerService
+    private authService: AuthService
   ) { }
 
+  get user () {
+    return this.authService.getUser()
+  }
+
   ngOnInit () {
     this.subActivatedRoute = this.route.queryParams.subscribe(
       queryParams => {
@@ -76,10 +79,6 @@ export class SearchComponent implements OnInit, OnDestroy {
     if (this.subActivatedRoute) this.subActivatedRoute.unsubscribe()
   }
 
-  isVideoBlur (video: Video) {
-    return video.isVideoNSFWForUser(this.authService.getUser(), this.serverService.getConfig())
-  }
-
   isVideoChannel (d: VideoChannel | Video): d is VideoChannel {
     return d instanceof VideoChannel
   }
index 2c635fa2f7b50c1c600025f80c84d716736c3be8..f4ae0b0dd5d9d44c2a943f515dcf90c183729314 100644 (file)
@@ -1,4 +1,4 @@
-<div class="video-miniature">
+<div class="video-miniature" [ngClass]="{ 'display-as-row': displayAsRow }">
   <my-video-thumbnail [video]="video" [nsfw]="isVideoBlur"></my-video-thumbnail>
 
   <div class="video-miniature-information">
@@ -7,19 +7,41 @@
       class="video-miniature-name"
       [routerLink]="[ '/videos/watch', video.uuid ]" [attr.title]="video.name" [ngClass]="{ 'blur-filter': isVideoBlur }"
     >
-      <span *ngIf="isUnlistedVideo()" class="badge badge-warning" i18n>Unlisted</span>
-      <span *ngIf="isPrivateVideo()" class="badge badge-danger" i18n>Private</span>
+      <ng-container *ngIf="displayOptions.privacyLabel">
+        <span *ngIf="isUnlistedVideo()" class="badge badge-warning" i18n>Unlisted</span>
+        <span *ngIf="isPrivateVideo()" class="badge badge-danger" i18n>Private</span>
+      </ng-container>
 
       {{ video.name }}
     </a>
 
-    <span i18n class="video-miniature-created-at-views">{{ video.publishedAt | myFromNow }} - {{ video.views | myNumberFormatter }} views</span>
+    <span class="video-miniature-created-at-views">
+      <ng-container *ngIf="displayOptions.date">{{ video.publishedAt | myFromNow }}</ng-container>
+      <ng-container *ngIf="displayOptions.date && displayOptions.views"> - </ng-container>
+      <ng-container i18n *ngIf="displayOptions.views">{{ video.views | myNumberFormatter }} views</ng-container>
+    </span>
 
-    <a tabindex="-1" *ngIf="displayOwnerAccount()" class="video-miniature-account" [routerLink]="[ '/accounts', video.byAccount ]">
+    <a tabindex="-1" *ngIf="displayOptions.by && displayOwnerAccount()" class="video-miniature-account" [routerLink]="[ '/accounts', video.byAccount ]">
       {{ video.byAccount }}
     </a>
-    <a tabindex="-1" *ngIf="displayOwnerVideoChannel()" class="video-miniature-channel" [routerLink]="[ '/video-channels', video.byVideoChannel ]">
+    <a tabindex="-1" *ngIf="displayOptions.by && displayOwnerVideoChannel()" class="video-miniature-channel" [routerLink]="[ '/video-channels', video.byVideoChannel ]">
       {{ video.byVideoChannel }}
     </a>
+
+    <div class="video-info-privacy">
+      <ng-container *ngIf="displayOptions.privacyText">{{ video.privacy.label }}</ng-container>
+      <ng-container *ngIf="displayOptions.privacyText && displayOptions.state"> - </ng-container>
+      <ng-container *ngIf="displayOptions.state">{{ getStateLabel(video) }}</ng-container>
+    </div>
+
+    <div *ngIf="displayOptions.blacklistInfo && video.blacklisted" class="video-info-blacklisted">
+      <span class="blacklisted-label" i18n>Blacklisted</span>
+      <span class="blacklisted-reason" *ngIf="video.blacklistedReason">{{ video.blacklistedReason }}</span>
+    </div>
+
+    <div i18n *ngIf="displayOptions.nsfw && video.nsfw" class="video-info-nsfw">
+      Sensitive
+    </div>
+
   </div>
 </div>
index 4799e00c240dcf9ed46064f89b4cc1e92c8340e2..fdc3dc0339e6940220bbff6b9476d27bee84a865 100644 (file)
@@ -4,15 +4,14 @@
 
 .video-miniature {
   width: $video-miniature-width;
-
-  display: inline-block;
+  display: inline-flex;
+  flex-direction: column;
   margin-bottom: 30px;
   height: 195px;
   vertical-align: top;
 
   .video-miniature-information {
     width: 200px;
-    margin-top: 2px;
     line-height: normal;
 
     .video-miniature-name {
         color: $grey-foreground-hover-color;
       }
     }
+
+    .video-info-privacy,
+    .video-info-blacklisted .blacklisted-label,
+    .video-info-nsfw {
+      font-weight: $font-semibold;
+    }
+
+    .video-info-blacklisted {
+      color: red;
+
+      .blacklisted-reason::before {
+        content: ' - ';
+      }
+    }
+
+    .video-info-nsfw {
+      color: red;
+    }
+  }
+
+  &.display-as-row {
+    flex-direction: row;
+    margin-bottom: 0;
+    height: auto;
+    width: 100%;
+
+    my-video-thumbnail {
+      margin-right: 10px;
+    }
+
+    .video-miniature-information {
+      width: auto;
+
+      .video-miniature-name {
+        @include ellipsis-multiline(1.3em, 2);
+
+        margin-top: 2px;
+        margin-bottom: 5px;
+      }
+
+      .video-miniature-created-at-views,
+      .video-miniature-account,
+      .video-miniature-channel {
+        font-size: 14px;
+      }
+
+      .video-info-privacy {
+        margin-top: 5px;
+      }
+
+      .video-info-blacklisted {
+        margin-top: 3px;
+      }
+    }
+
+    @media screen and (max-width: $small-view) {
+      flex-direction: column;
+      height: auto;
+
+      my-video-thumbnail {
+        margin-right: 0;
+      }
+    }
   }
 }
index 2f951a1f1b3ecb25eeb7d1d84901b31922b9f4fc..800417a7994174a55e81082aafcb47a12d8a270f 100644 (file)
@@ -1,10 +1,21 @@
-import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'
+import { ChangeDetectionStrategy, Component, Inject, Input, LOCALE_ID, OnInit } from '@angular/core'
 import { User } from '../users'
 import { Video } from './video.model'
 import { ServerService } from '@app/core'
-import { VideoPrivacy } from '../../../../../shared'
+import { VideoPrivacy, VideoState } from '../../../../../shared'
+import { I18n } from '@ngx-translate/i18n-polyfill'
 
 export type OwnerDisplayType = 'account' | 'videoChannel' | 'auto'
+export type MiniatureDisplayOptions = {
+  date?: boolean
+  views?: boolean
+  by?: boolean
+  privacyLabel?: boolean
+  privacyText?: boolean
+  state?: boolean
+  blacklistInfo?: boolean
+  nsfw?: boolean
+}
 
 @Component({
   selector: 'my-video-miniature',
@@ -15,11 +26,26 @@ export type OwnerDisplayType = 'account' | 'videoChannel' | 'auto'
 export class VideoMiniatureComponent implements OnInit {
   @Input() user: User
   @Input() video: Video
+
   @Input() ownerDisplayType: OwnerDisplayType = 'account'
+  @Input() displayOptions: MiniatureDisplayOptions = {
+    date: true,
+    views: true,
+    by: true,
+    privacyLabel: false,
+    privacyText: false,
+    state: false,
+    blacklistInfo: false
+  }
+  @Input() displayAsRow = false
 
   private ownerDisplayTypeChosen: 'account' | 'videoChannel'
 
-  constructor (private serverService: ServerService) { }
+  constructor (
+    private serverService: ServerService,
+    private i18n: I18n,
+    @Inject(LOCALE_ID) private localeId: string
+  ) { }
 
   get isVideoBlur () {
     return this.video.isVideoNSFWForUser(this.user, this.serverService.getConfig())
@@ -58,4 +84,29 @@ export class VideoMiniatureComponent implements OnInit {
   isPrivateVideo () {
     return this.video.privacy.id === VideoPrivacy.PRIVATE
   }
+
+  getStateLabel (video: Video) {
+    if (video.privacy.id !== VideoPrivacy.PRIVATE && video.state.id === VideoState.PUBLISHED) {
+      return this.i18n('Published')
+    }
+
+    if (video.scheduledUpdate) {
+      const updateAt = new Date(video.scheduledUpdate.updateAt.toString()).toLocaleString(this.localeId)
+      return this.i18n('Publication scheduled on ') + updateAt
+    }
+
+    if (video.state.id === VideoState.TO_TRANSCODE && video.waitTranscoding === true) {
+      return this.i18n('Waiting transcoding')
+    }
+
+    if (video.state.id === VideoState.TO_TRANSCODE) {
+      return this.i18n('To transcode')
+    }
+
+    if (video.state.id === VideoState.TO_IMPORT) {
+      return this.i18n('To import')
+    }
+
+    return ''
+  }
 }
index 4926adb08e3185fb678ee53fa597d03ce0d18c10..13af0b936a84ce0d4f8f8bffd827192da523f07b 100644 (file)
@@ -5,7 +5,6 @@
   @include ellipsis-multiline(1.1em, 2);
 
   transition: color 0.2s;
-  font-size: 16px;
   font-weight: $font-semibold;
   color: var(--mainForegroundColor);
   margin-top: 10px;
index 0dacc72724e8991155b354df50772237bc595c0b..9c3f28b28749eea3fb99f9a6b9b211d3d8b84d12 100644 (file)
   @media screen and (max-width: 800px) {
     flex-direction: column;
     height: auto;
-    text-align: center;
     align-items: center;
   }
 }