diff --git a/frontend/src/pages/RacesPage.tsx b/frontend/src/pages/RacesPage.tsx index 515da89..34e12fc 100644 --- a/frontend/src/pages/RacesPage.tsx +++ b/frontend/src/pages/RacesPage.tsx @@ -228,6 +228,25 @@ export function RacesPage(): JSX.Element { }), [races], ); + const statusMessage = useMemo(() => { + if (errorMessage && !isLoading) { + return errorMessage; + } + if (isLoading) { + return "Загружаем данные..."; + } + if (viewMode === "calendar" && monthFilter === "") { + return "Выберите месяц, чтобы увидеть его крупным планом."; + } + return ""; + }, [errorMessage, isLoading, monthFilter, viewMode]); + const statusClassName = [ + "races-status__message", + !statusMessage ? "races-status__message--empty" : "", + errorMessage && !isLoading ? "races-status__message--error" : "", + ] + .filter(Boolean) + .join(" "); if (errorMessage && races.length === 0 && !isLoading) { return ( @@ -301,21 +320,16 @@ export function RacesPage(): JSX.Element { - {errorMessage && !isLoading ? ( -
- {errorMessage} +
+ {statusMessage || "\u00a0"}
- ) : null} - - {viewMode === "calendar" && monthFilter === "" ? ( -Выберите месяц, чтобы увидеть его крупным планом.
- ) : null} - - {isLoading ? ( -- Загружаем данные... -
- ) : null} +