mirror of
https://github.com/we-promise/sure.git
synced 2026-09-08 16:14:23 +00:00
* fix(reports): stop Safari swallowing every click on the reports page The category rows in the reports breakdown use a stretched link whose `before:absolute before:inset-0` overlay was anchored to the parent `<tr class="relative">`. `position: relative` on a table row is left undefined by CSS 2.1 §9.3.1 and WebKit does not implement it, so in Safari the row never becomes a containing block. The overlay resolves against a far larger positioned ancestor instead, blankets the reports page, and intercepts every click — including clicks on the period picker popover — navigating to that category's transactions drill-down. Chrome and Firefox do establish the containing block, which is why this is invisible outside WebKit. Anchor the overlay to the flex wrapper inside the cell instead. A `<div>` is an unambiguous containing block in every engine. The click target narrows from the whole row to the category cell, which is still the icon, the name and the entry count. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * test(reports): assert the stretched overlay on the cell wrapper, not the row The regression test still required `tr.relative`, which the previous commit removes, so the suite would have failed. Assert instead that the stretched link sits inside `td div.relative` — the containing block the overlay is now anchored to. Verified the selector against the rendered markup: it matches the clickable row once, does not match a non-clickable row, and the old selector matches nothing under the new markup. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>