All files / blong-browser/src/components/Loader Loader.tsx

100% Statements 29/29
100% Branches 1/1
100% Functions 0/0
100% Lines 29/29

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 301x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
/**
 * Loader — full-page loading overlay.
 */
import './Loader.css';
import {ProgressSpinner} from '../../primereact/index.js';
 
import {useLoader} from '../../hooks/useLoader.js';
 
export function Loader() {
    const {loading, message} = useLoader();
    if (!loading) return null;
 
    return (
        <div
            className="blong-loader-overlay"
            role="status"
            aria-live="polite"
        >
            <div className="blong-loader-content">
                <ProgressSpinner
                    style={{width: '50px', height: '50px'}}
                    strokeWidth="4"
                    animationDuration=".8s"
                />
                {message && <p className="blong-loader-message">{message}</p>}
            </div>
        </div>
    );
}