feat(web): standardize loading on shared skeleton recipes; retire '…' + empty status divs (#53)

This commit is contained in:
2026-06-08 06:50:57 +02:00
parent d0da77a004
commit 0d4026a968
8 changed files with 59 additions and 66 deletions
+16 -14
View File
@@ -7,6 +7,7 @@ import { useAuthorities, useCreateAuthority } from "../api/queries";
import { LabelEditor } from "../components/label-editor";
import { Button } from "@/components/ui/button";
import { PageTitle } from "@/components/ui/page-title";
import { ListSkeleton } from "@/components/ui/skeletons";
import { AuthorityRow } from "./authority-row";
import { useDocumentTitle } from "../lib/use-document-title";
import { useBreadcrumb } from "../shell/use-breadcrumb";
@@ -68,20 +69,21 @@ export function AuthoritiesPage() {
))}
</div>
<ul className="mb-4">
{isLoading && (
<li className="text-sm text-muted-foreground"></li>
)}
{isError && (
<li className="text-sm text-destructive">{t("authorities.loadError")}</li>
)}
{!isLoading && !isError && authorities?.length === 0 && (
<li className="text-sm text-muted-foreground">{t("authorities.empty")}</li>
)}
{authorities?.map((a) => (
<AuthorityRow key={a.id} authority={a} kind={currentKind} lang={lang} />
))}
</ul>
{isLoading ? (
<ListSkeleton className="mb-4" rows={5} />
) : (
<ul className="mb-4">
{isError && (
<li className="text-sm text-destructive">{t("authorities.loadError")}</li>
)}
{!isError && authorities?.length === 0 && (
<li className="text-sm text-muted-foreground">{t("authorities.empty")}</li>
)}
{authorities?.map((a) => (
<AuthorityRow key={a.id} authority={a} kind={currentKind} lang={lang} />
))}
</ul>
)}
<form onSubmit={onCreate} className="space-y-2 border-t pt-3">
<div className="text-sm font-medium">