Shared Package Library

LoaderPanel

Common

import LoaderPanel from "@dertour/ui/components/common/GlobalLoader/LoaderPanel"

packages/ui/src/components/common/GlobalLoader/LoaderPanel.tsx · not yet imported by any brand app

The app's loading *visual*: a panel holding the comet-trail spinner and its caption. Render-only, and kept separate from `GlobalLoader` so the look can be read and tested without the bus subscription and `fetch` instrumentation around it. Any surface that needs to say "loading" should mount this rather than invent a second loader — but note that a route-level `loading.tsx` is not such a surface: a Suspense fallback replaces the page it covers, which is the one thing this loader is designed never to do. Every colour is read off the active brand theme, so the panel re-skins itself for each of the seven brands rather than carrying one brand's palette. It deliberately carries no ARIA role: the surface that mounts it owns the live region (`role="status"`), so the wait is announced exactly once.


Loading demo…