# Dashboard Maintenance Instructions

- The `.js` and `.jsx` dashboard files are legacy and kept only for backwards compatibility; do not modify them.
- All new dashboard work and maintenance must be done only in `.ts` and `.tsx` files.
- Data exposed through the global `CouponsPlus` object is exported from `app/data/export/DashboardData.php` (PHP code located above this scripts directory).
- **Always prefer a well-supported third-party library over custom implementations.** When a suitable package exists, use it even if a simpler approach is possible.
- For complex tasks (animations, complex UI logic, advanced features, etc.), do not settle for a "simpler" approach. Implement a fully-featured, production-ready solution that covers all edge cases and handles error scenarios properly.
- When installing npm packages in this dashboard project, use `--legacy-peer-deps` (for example: `npm install <package> --legacy-peer-deps`).
- Do not run tests by default after each task; only run tests when explicitly requested.
- Do not use the headlessui library as it is buggy and being phased out.
- Do not run TypeScript type checks (`tsc --noEmit`); the codebase has many pre-existing type warnings that are not relevant to current work.
