<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<div class="flex flex-col gap-y-2 h-full" *ngIf="status$ | async; let status">
    <div class="flex-1">
        <div class="value" *ngIf="status === 'error'; else noError">
            {{ error$ | async }}
        </div>
        <ng-template #noError>
            <ng-container *ngIf="listingRequestEntity$ | async as entity; else initialLoading">
                <flowfile-table
                    [connectionLabel]="(connectionLabel$ | async)!"
                    [listingRequest]="entity.listingRequest"
                    [currentUser]="(currentUser$ | async)!"
                    [contentViewerAvailable]="contentViewerAvailable((about$ | async)!)"
                    (viewFlowFile)="viewFlowFile($event)"
                    (downloadContent)="downloadContent($event)"
                    (viewContent)="viewContent($event)"></flowfile-table>
            </ng-container>
            <ng-template #initialLoading>
                <ngx-skeleton-loader count="3"></ngx-skeleton-loader>
            </ng-template>
        </ng-template>
    </div>
    <div class="flex justify-between">
        <div class="flex items-center gap-x-2">
            <button class="nifi-button" (click)="refreshClicked()">
                <i class="fa fa-refresh" [class.fa-spin]="status === 'loading'"></i>
            </button>
            <div>Last updated:</div>
            <div class="refresh-timestamp">{{ loadedTimestamp$ | async }}</div>
        </div>
    </div>
</div>
