import { useStore } from '@nanostores/preact'; import { useIsFirstRender } from '../hooks/use-is-first-render'; import SpinnerIcon from '../icons/spinner.svg'; import { pageLoadingMessage } from '../stores/page'; export interface Props { initialMessage: string; } export function PageProgress(props: Props) { const { initialMessage } = props; const isFirstRender = useIsFirstRender(); const $pageLoadingMessage = useStore(pageLoadingMessage); if (!$pageLoadingMessage) { if (!initialMessage || !isFirstRender) { return null; } } return (
{/* Tailwind based spinner for full page */}
Loading

{$pageLoadingMessage || initialMessage} ...

); }