Adds invoice lifecycle status and timestamps with a safe draft default migration. Introduces a /dashboard/invoices/[id] detail page showing invoice header, client, dates, totals, notes, payment details, invoice lines, print support, and guarded status actions for sent, paid, and void transitions. Surfaces lifecycle status and detail links in the global billing invoice list and client invoice list.
Checks run:
DATABASE_URL=file:./local.db pnpm db:generate
npx @sveltejs/mcp svelte-autofixer on changed Svelte files
pnpm check (blocked by out-of-date worker-configuration.d.ts at wrangler types --check)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds invoice lifecycle status and timestamps with a safe draft default migration. Introduces a /dashboard/invoices/[id] detail page showing invoice header, client, dates, totals, notes, payment details, invoice lines, print support, and guarded status actions for sent, paid, and void transitions. Surfaces lifecycle status and detail links in the global billing invoice list and client invoice list.
Checks run:
8450712afatoe1e2e94bf2