<!--
  ~ 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="login-background pt-24 pl-24 h-screen">
    @if (access$ | async; as access) {
        @if (access.status === 'pending' || access.status === 'loading') {
            <div class="w-96">
                <ngx-skeleton-loader count="3"></ngx-skeleton-loader>
            </div>
        } @else {
            @if (access.error) {
                <page-content [title]="access.error.title">
                    <div class="text-sm">{{ access.error.message }}</div>
                </page-content>
            } @else {
                @if (access.accessStatus.status === 'ACTIVE') {
                    <page-content [title]="'Success'">
                        <div class="text-sm">{{ access.accessStatus.message }}</div>
                    </page-content>
                } @else {
                    @if (access.accessConfig.supportsLogin) {
                        <login-form></login-form>
                    } @else {
                        <page-content [title]="'Access Denied'">
                            <div class="text-sm">This NiFi is not configured to support username/password logins.</div>
                        </page-content>
                    }
                }
            }
        }
    }
</div>
