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

0% Statements 0/29
0% Branches 0/1
0% Functions 0/1
0% Lines 0/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 30                                                           
/**
 * 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>
    );
}