Align follower handle display on instance display in tables
authorRigel Kent <sendmemail@rigelk.eu>
Thu, 7 May 2020 21:12:54 +0000 (23:12 +0200)
committerRigel Kent <par@rigelk.eu>
Fri, 8 May 2020 13:31:51 +0000 (15:31 +0200)
client/src/app/+admin/follows/followers-list/followers-list.component.html
client/src/app/+admin/follows/followers-list/followers-list.component.scss
client/src/app/+admin/follows/following-list/following-list.component.html
client/src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html
client/src/app/+admin/users/user-edit/user-edit.component.html
server/controllers/api/videos/abuse.ts

index b30edad9ab843e44341b9d2c359e62835a80ab80..93378a533abd367f54a57584917bc918adc00a2f 100644 (file)
@@ -1,6 +1,6 @@
 <p-table
   [value]="followers" [lazy]="true" [paginator]="totalRecords > 0" [totalRecords]="totalRecords" [rows]="rowsPerPage" [rowsPerPageOptions]="rowsPerPageOptions"
-  [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)"
+  [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)" (onPage)="onPage($event)"
   [showCurrentPageReport]="true" i18n-currentPageReportTemplate
   currentPageReportTemplate="Showing {{'{first}'}} to {{'{last}'}} of {{'{totalRecords}'}} followers"
 >
 
   <ng-template pTemplate="body" let-follow>
     <tr>
-      <td><a [href]="follow.follower.url" target="_blank" rel="noopener noreferrer">{{ follow.follower.name + '@' + follow.follower.host }}</a></td>
+      <td>
+        <a [href]="follow.follower.url" i18n-title title="Open actor page in a new tab" target="_blank" rel="noopener noreferrer">
+          {{ follow.follower.name + '@' + follow.follower.host }}
+          <span class="glyphicon glyphicon-new-window"></span>
+        </a>
+      </td>
 
       <td *ngIf="follow.state === 'accepted'" i18n>Accepted</td>
       <td *ngIf="follow.state === 'pending'" i18n>Pending</td>
index 964b3f99b2bb8505bedfb20998e602e3a667ecc0..14189ff11e119726a6f2173886c23d4fca60a1ef 100644 (file)
@@ -9,6 +9,20 @@
   }
 }
 
+a {
+  @include disable-default-a-behaviour;
+  display: inline-block;
+
+  &, &:hover {
+    color: var(--mainForegroundColor);
+  }
+
+  span {
+    font-size: 80%;
+    color: var(--inputPlaceholderColor);
+  }
+}
+
 .action-cell {
   my-button:first-child {
     margin-right: 10px;
index ed987a76834d4d916a80154289b8c24b7c60bf9d..059c07295700a791284d97cfe95496c3dde6b028 100644 (file)
@@ -1,6 +1,6 @@
 <p-table
   [value]="following" [lazy]="true" [paginator]="totalRecords > 0" [totalRecords]="totalRecords" [rows]="rowsPerPage" [rowsPerPageOptions]="rowsPerPageOptions"
-  [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)"
+  [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)" (onPage)="onPage($event)"
   [showCurrentPageReport]="true" i18n-currentPageReportTemplate
   currentPageReportTemplate="Showing {{'{first}'}} to {{'{last}'}} of {{'{totalRecords}'}} hosts"
 >
index 592287ea0e0dd623f5ed28c3751ab366656edfa4..152f6f29d666c2e05c1cb7d09ee8ef885a2c9609 100644 (file)
@@ -12,8 +12,8 @@
 </div>
 
 <p-table
-  [value]="videoRedundancies" [lazy]="true" [paginator]="totalRecords > 0" [totalRecords]="totalRecords" [rows]="rowsPerPage"
-  [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)" dataKey="id"
+  [value]="videoRedundancies" [lazy]="true" [paginator]="totalRecords > 0" [totalRecords]="totalRecords" [rows]="rowsPerPage" [rowsPerPageOptions]="rowsPerPageOptions"
+  [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)" dataKey="id" (onPage)="onPage($event)"
   (onPage)="onPage($event)" [expandedRowKeys]="expandedRows"
 >
   <ng-template pTemplate="header">
index df9f24749197a84d1597bdfa99f0c4ae7879fe77..d30a606d68659fad2d803db966eed2747a338807 100644 (file)
       </a>
     </div>
     <div>
-      <a [routerLink]="[ '/admin/moderation/video-abuses/list' ]" [queryParams]="{ 'search': user?.account.displayName }">
+      <a [routerLink]="[ '/admin/moderation/video-abuses/list' ]" [queryParams]="{ 'search': 'reportee:' + user?.account.displayName }">
         <div class="dashboard-num">{{ user.videoAbusesCount }}</div>
         <div class="dashboard-label" i18n>Incriminated in reports</div>
       </a>
     </div>
     <div>
-      <a [routerLink]="[ '/admin/moderation/video-abuses/list' ]" [queryParams]="{ 'search': user?.account.displayName }">
+      <a [routerLink]="[ '/admin/moderation/video-abuses/list' ]" [queryParams]="{ 'search': 'reporter:' + user?.account.displayName + ' state:accepted' }">
         <div class="dashboard-num">{{ user.videoAbusesAcceptedCount }} / {{ user.videoAbusesCreatedCount }}</div>
         <div class="dashboard-label" i18n>Authored reports accepted</div>
       </a>
index ec28fce67d6c6b91af808d9ab53760831e29974d..2af7b386413ec33ee545a8adc30755ebb1c4958c 100644 (file)
@@ -154,5 +154,5 @@ async function reportVideoAbuse (req: express.Request, res: express.Response) {
 
   logger.info('Abuse report for video %s created.', videoInstance.name)
 
-  return res.json({ videoAbuseJSON }).end()
+  return res.json({ videoAbuse: videoAbuseJSON }).end()
 }