Two unrelated changes, in one commit because both touch Forecast.jsx in ways that cannot be staged apart without an interactive add. Calculating indicator. Perspective shows a beaker while the view rebuilds, but it lives in the viewer's status bar, which is only rendered while the settings panel is open -- so the signal disappears exactly when the panel is closed and you have nothing else to go on. Forecast.jsx now raises a counter around the calls that *start* a rebuild and lowers it after viewer.flush(), broadcasting `pf-pivot-busy` on the window; StatusBar listens and shows a spinner, following the `pf-data-changed` pattern already used between the two. Deliberately not driven from `perspective-config-update`, which was the obvious hook and is wrong: measured on a depth change over a large grain, the event arrives *after* the rebuild -- seconds late -- and the flush that follows resolves in 6ms. It reports the end of the work, not the start. This therefore covers what the toolbar drives (depth on both axes, applying a layout) and not sorting or filtering from the viewer's own chrome, which the app is never told has begun. Theme. viewer.save() includes `theme`, so every persisted layout had one baked in, and cleanLayout passed it through -- each restore reasserted the stored theme and silently undid the light/dark toggle. It is the reader's choice, not a property of the layout, so it is dropped on the way in; a published layout can no longer impose its author's theme either. sameConfig ignores it too, or toggling would light the dirty dot and offer to save a change nobody made. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| vendor | ||
| .gitignore | ||
| eslint.config.js | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| vite.config.js | ||
React + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Oxc
- @vitejs/plugin-react-swc uses SWC
React Compiler
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
Expanding the ESLint configuration
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.