- Add client_load_mw to CommercialConfig (defaults to ppa_capacity_mw) - Add hourly_timestamps, hourly_fy, hourly_proj_year, hourly_total_re, hourly_client_end, hourly_load to ScenarioResult - Generate 25-year hourly data in runner.py with proper timestamps - Update API worker to return new hourly fields - Update WorkbookView HourlyGenerationSheet to show all 5 columns at each expandable level (Year > Month > Day > Hour) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app | ||
| components | ||
| lib | ||
| public | ||
| .gitignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| components.json | ||
| Dockerfile | ||
| next.config.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| postcss.config.mjs | ||
| README.md | ||
| tsconfig.json | ||
remodel-web
Next.js App Router frontend for REmodel.
Setup
pnpm install
Common commands
pnpm dev # dev server on :3000
pnpm build # production build
pnpm lint # eslint
pnpm type-check # tsc --noEmit
pnpm generate-types # regenerate API types from OpenAPI (needs API on :8000)
Adding shadcn/ui components
pnpm dlx shadcn@latest add <component-name>
Key conventions
- All API types live in
app/api-types/index.ts(auto-generated). Never hand-write them. DataGridwrapper (AG Grid Community) lives incomponents/DataGrid/— one implementation only.- Server state: TanStack Query. Client-only UI state: Zustand.
- Charts: Recharts only.