From c210e45bffb5845965db798884257086c702f7a5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 14 Nov 2025 14:12:16 +0000 Subject: [PATCH] Add redirect logic to login and signup pages for logged-in users Co-authored-by: vincanger <70215737+vincanger@users.noreply.github.com> --- template/app/src/auth/LoginPage.tsx | 13 ++++++++++++- template/app/src/auth/SignupPage.tsx | 13 ++++++++++++- template/app/src/payment/stripe/webhook.ts | 4 ++-- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/template/app/src/auth/LoginPage.tsx b/template/app/src/auth/LoginPage.tsx index 4d3a0299..d74fc084 100644 --- a/template/app/src/auth/LoginPage.tsx +++ b/template/app/src/auth/LoginPage.tsx @@ -1,8 +1,19 @@ -import { LoginForm } from "wasp/client/auth"; +import { useEffect } from "react"; +import { useNavigate } from "react-router-dom"; +import { LoginForm, useAuth } from "wasp/client/auth"; import { Link as WaspRouterLink, routes } from "wasp/client/router"; import { AuthPageLayout } from "./AuthPageLayout"; export default function Login() { + const { data: user } = useAuth(); + const navigate = useNavigate(); + + useEffect(() => { + if (user) { + navigate("/demo-app"); + } + }, [user, navigate]); + return ( diff --git a/template/app/src/auth/SignupPage.tsx b/template/app/src/auth/SignupPage.tsx index 0afa0b08..87a7f9ff 100644 --- a/template/app/src/auth/SignupPage.tsx +++ b/template/app/src/auth/SignupPage.tsx @@ -1,8 +1,19 @@ -import { SignupForm } from "wasp/client/auth"; +import { useEffect } from "react"; +import { useNavigate } from "react-router-dom"; +import { SignupForm, useAuth } from "wasp/client/auth"; import { Link as WaspRouterLink, routes } from "wasp/client/router"; import { AuthPageLayout } from "./AuthPageLayout"; export function Signup() { + const { data: user } = useAuth(); + const navigate = useNavigate(); + + useEffect(() => { + if (user) { + navigate("/demo-app"); + } + }, [user, navigate]); + return ( diff --git a/template/app/src/payment/stripe/webhook.ts b/template/app/src/payment/stripe/webhook.ts index 44d1924d..d0a7cd40 100644 --- a/template/app/src/payment/stripe/webhook.ts +++ b/template/app/src/payment/stripe/webhook.ts @@ -141,7 +141,7 @@ async function handleInvoicePaid( function getInvoicePriceId(invoice: Stripe.Invoice): Stripe.Price["id"] { const invoiceLineItems = invoice.lines.data; - // We only expect one line item. + // We only expect one line item. // If your workflow expects more, you should change this function to handle them. if (invoiceLineItems.length !== 1) { throw new Error("There should be exactly one line item in Stripe invoice"); @@ -204,7 +204,7 @@ function getSubscriptionPriceId( subscription: Stripe.Subscription, ): Stripe.Price["id"] { const subscriptionItems = subscription.items.data; - // We only expect one subscription item. + // We only expect one subscription item. // If your workflow expects more, you should change this function to handle them. if (subscriptionItems.length !== 1) { throw new Error(