The clone form was four controls whose labels ran to different lengths -- "copy rows from", "scale cloned rows by", "tag", "note" -- each row starting wherever its label happened to end, with a preview sentence floating after them and a row of unexplained chips between the tag and the note. Nothing separated where the rows come from, what happens to them, and what the change is called. Every row now shares a label column, so the controls line up, and the three groups carry headers in the same 10px uppercase the ledger headers already use. The tag suggestions sit inside the tag's own column, where they read as values for it. Hints appear under the control they qualify and only when relevant. Also: the preview said "Copying 0.00 sales_usd" while five AOP rows worth 68,904 were selected. It reported the adjustable total, which is zero when the selection is entirely prior year or plan -- the case clone exists for, now that it can read reference rows. It counts them for clone, and still does not for recode, which cannot touch them. Co-Authored-By: Claude Opus 5 (1M context) <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.