Commit graph

6 commits

Author SHA1 Message Date
Claude
1e01329d18
Show calculated base-currency amount alongside each programme percentage
When multiple programmes are allocated on a line, each row now displays
the pro-rated amount in the base currency next to the percentage
(e.g. "10.00% – USD 12.34"). The figure updates live as the line amount,
FX rate, or currency changes, as well as when the percentage is edited.
The PDF receipt renders the same information as a right-aligned suffix
on each programme row.

https://claude.ai/code/session_01MbwfxnjLA9KdFTrfzB55HM
2026-05-24 16:10:26 +00:00
Claude
66260fec1b
Support multiple program allocations with percentage split per expense line
Replaces single program field with a dynamic multi-program UI. A single
program shows the select inline with an "+ Add program" button and no
percentages. Adding a second program switches the layout to show a percent
input per row, a colour-coded total (yellow <100%, green =100%, red >100%),
and a × button to remove individual rows. Returning to one program reverts
to the simple layout. PDF renders programmes stacked with (XX.XX%) suffix
when multiple are present. Validation requires each selection, all percents
positive, and total = 100% when multiple programmes are allocated.

https://claude.ai/code/session_01MbwfxnjLA9KdFTrfzB55HM
2026-05-24 15:50:07 +00:00
Claude
f13b2cef6d
Rename PDF label from "Explanation:" to "Explanation for no receipt:"
https://claude.ai/code/session_016aNBqHpiQciTr1DvNvE7nk
2026-05-19 09:33:47 +00:00
Claude
66396219af
Place PDF logo at absolute 10mm from top-left, above all content
Logo is now pinned to an absolute position (10mm from top, 10mm from
left) independent of the content cursor, so it can never overlap any
form elements. The cursor y is pushed below the logo bottom before
the title and remaining header elements are drawn.

https://claude.ai/code/session_016aNBqHpiQciTr1DvNvE7nk
2026-05-19 09:26:47 +00:00
Claude
9749b70fe2
Fix PDF logo overlapping form fields
The logo was placed with a fixed +10pt offset that didn't account for
actual logo height. Content below always advanced by a fixed 28pt, so
any logo taller than ~18pt bled into the intro text and form fields.

Now the logo is anchored with its top at the cursor position (bottom at
y - lhh), the title baseline aligns to the same top edge, and y advances
by max(logoHeight, titleSize) + 8pt gap before the next element.

https://claude.ai/code/session_016aNBqHpiQciTr1DvNvE7nk
2026-05-19 09:20:52 +00:00
f72607fa9e New structure 2026-05-19 15:54:14 +07:00
Renamed from index.html (Browse further)