diff --git a/client/src/app/features/search/containers/search-heritage-result-container.tsx b/client/src/app/features/search/containers/search-heritage-result-container.tsx
index 41a5c52..5a45dc3 100644
--- a/client/src/app/features/search/containers/search-heritage-result-container.tsx
+++ b/client/src/app/features/search/containers/search-heritage-result-container.tsx
@@ -19,6 +19,7 @@ import { toWorldHeritageListVm } from "@features/heritages/mappers/to-world-heri
import { HeritageSubHeader } from "@features/top/components/HeritageSubHeader";
import { DEFAULT_HERITAGE_SEARCH_PARAMS as SEARCH_PARAMS } from "../mapper/search-heritage.types";
import { useLocale } from "@shared/locale/LocaleHooks";
+import { Spinner } from "@shared/uis/Spinner.tsx";
const fmtRangeText = (pagination: Pagination, count: number): string => {
if (count === 0) {
@@ -201,7 +202,12 @@ export function SearchHeritageResultsContainer(): React.ReactElement {
};
if (isLoading) {
- return ;
+ return (
+
+ {header}
+
+
+ );
}
if (error) {
diff --git a/client/src/app/features/top/containers/top-page-container.tsx b/client/src/app/features/top/containers/top-page-container.tsx
index 128d33b..f54cbb4 100644
--- a/client/src/app/features/top/containers/top-page-container.tsx
+++ b/client/src/app/features/top/containers/top-page-container.tsx
@@ -10,6 +10,7 @@ import { TopPagePagination } from "../components/TopPagePagination";
import type { IdSortOption } from "../../../../domain/types";
import { parseHeritageSearchParams } from "@features/search/mapper/search-heritages.params";
import { DEFAULT_HERITAGE_SEARCH_PARAMS as SEARCH_PARAMS } from "@features/search/mapper/search-heritage.types";
+import { Spinner } from "@shared/uis/Spinner.tsx";
const DEFAULT_TOP_PER_PAGE = 30;
const DEFAULT_ORDER: IdSortOption = "asc";
@@ -94,7 +95,7 @@ export default function TopPageContainer(): React.ReactElement {
<>
{header}
- Loading…
+
>
);
diff --git a/client/src/app/features/top/containers/world-heritage-detail-container.tsx b/client/src/app/features/top/containers/world-heritage-detail-container.tsx
index 0e44ddc..be39a22 100644
--- a/client/src/app/features/top/containers/world-heritage-detail-container.tsx
+++ b/client/src/app/features/top/containers/world-heritage-detail-container.tsx
@@ -3,6 +3,7 @@ import { useParams, useNavigate } from "react-router-dom";
import { useWorldHeritageDetail } from "../hooks/use-world-heritage-detail";
import { HeritageDetailLayout } from "../components/heritage-detail/HeritageDetailLayout";
import BreadcrumbContext from "@features/breadcrumbs/BreadCrumbProvider";
+import { Spinner } from "@shared/uis/Spinner.tsx";
export function WorldHeritageDetailContainer() {
const { id } = useParams<{ id: string }>();
@@ -23,7 +24,7 @@ export function WorldHeritageDetailContainer() {
setLabel("/heritages/:id", label);
}, [setLabel, isLoading, isError, item?.name]);
- if (isLoading) return
Loading…
;
+ if (isLoading) return ;
if (isError) {
return (
diff --git a/client/src/shared/uis/Spinner.tsx b/client/src/shared/uis/Spinner.tsx
new file mode 100644
index 0000000..a3d40f6
--- /dev/null
+++ b/client/src/shared/uis/Spinner.tsx
@@ -0,0 +1,11 @@
+export function Spinner({ className = "" }: { className?: string }) {
+ return (
+
+ );
+}