Report detail pages now link to the underlying POs, addressing the PR #126
review comment: drilling into a cost centre or accounting code opens PO
History pre-filtered to that dimension and the period in view.
- Cost Centre / Accounting Code detail pages gain a "View POs" link.
- periodRange() maps the on-screen period onto History's approved-date
window (weekly→month, monthly→FY, yearly→full span); spend is dated by
approvedAt.
- PO History gains an accountId filter (any tree node, expanded to leaves
via accountLeafIds()) matching PO-level OR line-item accounts — the same
basis the reports use.
- History page + CSV/PDF export share one buildPoHistoryWhere() builder so
they never diverge.
- Tests: unit (periodRange, accountLeafIds) + integration (History account
filter across PO-level/line-item, with the approved window).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PO History had no way to narrow by accounting code. Add an "Accounting
Code" filter (the shared type-to-search combobox) alongside Cost Centre,
backed by the PO-level account already included in the query.
- history/page.tsx: read `accountId` searchParam, fetch selectable leaf
accounting codes (active, no children) via buildAccountGroups, apply
`where.accountId`, thread the param into pagination + export links, and
surface an Accounting Code column for context.
- history-filters.tsx: new SearchableSelect control wired into
buildParams/apply/clear/hasFilters like the Cost Centre select.
- api/reports/export: apply the same `accountId` filter so CSV/PDF export
respects the on-screen filter.
- tests/staging: verify picking a code drives an `accountId` query param.
Fixes#121
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>