From 83a1777d7869ed6da5e78c878dcc35c95a06c5cf Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Thu, 13 Nov 2025 16:20:34 -0500 Subject: Fix CORS error for Stripe portal redirect Change 'Manage Subscription' from HTMX link to regular form POST. HTMX AJAX requests can't follow redirects to external domains like Stripe. --- .tasks/tasks.jsonl | 2 +- Biz/PodcastItLater/Web.py | 29 ++++++++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/.tasks/tasks.jsonl b/.tasks/tasks.jsonl index 6bc7494..875a83e 100644 --- a/.tasks/tasks.jsonl +++ b/.tasks/tasks.jsonl @@ -67,4 +67,4 @@ {"taskCreatedAt":"2025-11-13T19:38:35.65125955Z","taskDependencies":[],"taskId":"t-1fbJFic","taskNamespace":null,"taskParent":"t-1f9Td4U","taskStatus":"Done","taskTitle":"Remove logout button from navbar (will be in account page)","taskType":"WorkTask","taskUpdatedAt":"2025-11-13T20:18:17.336546723Z"} {"taskCreatedAt":"2025-11-13T19:54:08.34625259Z","taskDependencies":[],"taskId":"t-1gcR9RV","taskNamespace":"Omni/Bild.nix","taskParent":null,"taskStatus":"Open","taskTitle":"Add ruff to the developer environment, the 'env' attribute in Bild.nix","taskType":"WorkTask","taskUpdatedAt":"2025-11-13T19:54:08.34625259Z"} {"taskCreatedAt":"2025-11-13T20:02:50.914482516Z","taskDependencies":[],"taskId":"t-1gMdNJK","taskNamespace":null,"taskParent":"t-1f9QP23","taskStatus":"Done","taskTitle":"Fix dev mode banner styling and pre-fill login email","taskType":"WorkTask","taskUpdatedAt":"2025-11-13T20:03:45.644107089Z"} -{"taskCreatedAt":"2025-11-13T21:01:35.331063546Z","taskDependencies":[{"depId":"t-1fbG02X","depType":"DiscoveredFrom"}],"taskId":"t-1kCJTuu","taskNamespace":null,"taskParent":null,"taskStatus":"Open","taskTitle":"Fix Stripe portal error handling and account page padding","taskType":"WorkTask","taskUpdatedAt":"2025-11-13T21:01:35.331063546Z"} +{"taskCreatedAt":"2025-11-13T21:01:35.331063546Z","taskDependencies":[{"depId":"t-1fbG02X","depType":"DiscoveredFrom"}],"taskId":"t-1kCJTuu","taskNamespace":null,"taskParent":null,"taskStatus":"Done","taskTitle":"Fix Stripe portal error handling and account page padding","taskType":"WorkTask","taskUpdatedAt":"2025-11-13T21:03:19.701792229Z"} diff --git a/Biz/PodcastItLater/Web.py b/Biz/PodcastItLater/Web.py index 9fe328b..b7870a1 100644 --- a/Biz/PodcastItLater/Web.py +++ b/Biz/PodcastItLater/Web.py @@ -1220,22 +1220,25 @@ def account_page(request: Request) -> html.html | RedirectResponse: ], ) if tier == "free" - else html.a( - html.i( + else html.form( + html.button( + html.i( + classes=[ + "bi", + "bi-gear-fill", + "me-1", + ], + ), + "Manage Subscription", + type="submit", classes=[ - "bi", - "bi-gear-fill", - "me-1", + "btn", + "btn-primary", + "me-2", ], ), - "Manage Subscription", - href="#", - hx_post="/billing/portal", - classes=[ - "btn", - "btn-primary", - "me-2", - ], + method="post", + action="/billing/portal", ), ), classes=["card-body"], -- cgit v1.2.3