Use the nice built-in loading thign

This commit is contained in:
shamoon
2026-09-06 20:32:22 -07:00
parent ef8b87571f
commit 8152c50288
4 changed files with 12 additions and 14 deletions
@@ -1,10 +1,4 @@
<div class="border border-top-0 rounded-bottom p-3">
@if (loading()) {
<div class="d-flex align-items-center gap-2">
<div class="spinner-border spinner-border-sm" role="status"></div>
<span i18n>Loading share link bundles…</span>
</div>
}
@if (!loading() && error()) {
<div class="alert alert-danger mb-0" role="alert">
{{ error() }}
@@ -1,10 +1,4 @@
<div class="border border-top-0 rounded-bottom p-3">
@if (loading()) {
<div class="d-flex align-items-center gap-2">
<div class="spinner-border spinner-border-sm" role="status"></div>
<span i18n>Loading share links…</span>
</div>
}
@if (!loading() && error()) {
<div class="alert alert-danger mb-0" role="alert">{{ error() }}</div>
}
@@ -3,6 +3,7 @@
i18n-title
info="Manage public links to individual documents and document bundles."
i18n-info
[loading]="loading()"
></pngx-page-header>
<ul
@@ -30,4 +31,4 @@
}
</ul>
<div [ngbNavOutlet]="nav"></div>
<div class="bg-body" [ngbNavOutlet]="nav"></div>
@@ -1,4 +1,4 @@
import { Component, inject, signal } from '@angular/core'
import { Component, computed, inject, signal, viewChild } from '@angular/core'
import { ActivatedRoute, Router } from '@angular/router'
import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap'
import {
@@ -32,6 +32,15 @@ export class ShareLinksComponent {
readonly ShareLinksNavIDs = ShareLinksNavIDs
readonly activeNavID = signal(this.getInitialNavID())
private readonly documentLinks = viewChild(ShareLinkListComponent)
private readonly bundles = viewChild(ShareLinkBundleListComponent)
readonly loading = computed(() => {
const activeList =
this.activeNavID() === ShareLinksNavIDs.DocumentLinks
? this.documentLinks()
: this.bundles()
return activeList?.loading() ?? true
})
get canViewDocumentLinks(): boolean {
return this.permissionsService.currentUserCan(