invoice/app
Claude 206ed6184a
Dynamic header: org brand, app wordmark, invoice number meta, ⓘ button
Left brand:
- org-name set in config → kb-brand with 46px logo, org name, optional
  subheading (org-subheading)
- org-name absent/empty → plain app-wordmark (icon + "invoice")

Right doctitle:
- h1: 24px icon inline + lowercase "invoice" (built by buildHeader())
- .meta: invoice number, live-updates as user types in the ino field

Toolbar:
- Theme toggle updated to moon-phase icon (matches timesheet)
- ⓘ button added; shown only when cfg.about is configured

config.yml: org-name / org-subheading keys documented (commented out)
About modal comment updated to mention ⓘ button

https://claude.ai/code/session_01MkM7p8Us3L8YAfLKGA13NS
2026-06-08 15:59:46 +00:00
..
assets Add favicon.ico and icon-192.png; wire both into HTML and manifest 2026-06-08 15:43:37 +00:00
config.yml Dynamic header: org brand, app wordmark, invoice number meta, ⓘ button 2026-06-08 15:59:46 +00:00
index.html Dynamic header: org brand, app wordmark, invoice number meta, ⓘ button 2026-06-08 15:59:46 +00:00