summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2025-11-13 16:20:34 -0500
committerBen Sima <ben@bsima.me>2025-11-13 16:20:34 -0500
commit83a1777d7869ed6da5e78c878dcc35c95a06c5cf (patch)
tree33410e0c35e2f4cda87302725d96c2909e76722a
parent44d6ace4961b167ce9503f3f5a7299a37f3dc8de (diff)
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.
-rw-r--r--.tasks/tasks.jsonl2
-rw-r--r--Biz/PodcastItLater/Web.py29
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"],