Z User
d97dd955d1
feat: client portal actions — Stripe pay + ticket create + license cancel
- PortalInvoices: Stripe checkout button (redirects to Stripe Checkout)
- PortalTickets: 'Neues Ticket' dialog (subject, category, priority, message)
- Calls POST /api/aos/tickets (auto-routes to agency if parent set)
- PortalLicenses: 'Kündigen' button + inline cancel dialog
- Shows trial vs notice period info
- Calls PATCH /api/aos/licenses/[id]/cancel
- Updated PortalData.licenses interface with billing fields