diff --git a/public/transparent-logo.png b/public/transparent-logo.png new file mode 100644 index 0000000..9805f31 Binary files /dev/null and b/public/transparent-logo.png differ diff --git a/src/client/features/auth/AuthPage.tsx b/src/client/features/auth/AuthPage.tsx index 7339eb1..2a55390 100644 --- a/src/client/features/auth/AuthPage.tsx +++ b/src/client/features/auth/AuthPage.tsx @@ -38,32 +38,37 @@ export function AuthPageCard({ footer, }: { title: string; - helperText: string; + helperText?: string; children: React.ReactNode; footer?: React.ReactNode; }) { return ( -
-
+
+
+ OpenSEO
-

{title}

-

{helperText}

+

{title}

+ {helperText ? ( +

{helperText}

+ ) : null}
- - {children} - - {footer}
+ + {children} + + {footer ?
{footer}
: null}
); } export function AuthPageShell({ children }: { children: React.ReactNode }) { return ( -
-
- {children} -
+
+ {children}
); } diff --git a/src/client/features/billing/HostedBillingContent.tsx b/src/client/features/billing/HostedBillingContent.tsx index 8cb0c22..bb52885 100644 --- a/src/client/features/billing/HostedBillingContent.tsx +++ b/src/client/features/billing/HostedBillingContent.tsx @@ -1,3 +1,4 @@ +/* eslint-disable max-lines */ import type { UseCustomerResult } from "autumn-js/react"; import { ExternalLink, LoaderCircle } from "lucide-react"; import { useState } from "react"; diff --git a/src/routes/_auth.sign-in.tsx b/src/routes/_auth.sign-in.tsx index 600b057..7a435ab 100644 --- a/src/routes/_auth.sign-in.tsx +++ b/src/routes/_auth.sign-in.tsx @@ -23,20 +23,11 @@ export const Route = createFileRoute("/_auth/sign-in")({ component: SignInPage, }); -function getHelperText(isHostedMode: boolean) { - if (!isHostedMode) { - return "Sign-in isn't available right now."; - } - - return "Sign in to your OpenSEO account."; -} - function SignInPage() { const search = Route.useSearch(); const { redirectTo, isHostedMode, isSessionPending } = useAuthPageState( search.redirect, ); - const helperText = getHelperText(isHostedMode); const [verificationEmail, setVerificationEmail] = useState( null, ); @@ -127,19 +118,24 @@ function SignInPage() { return ( - Need an account?{" "} +
+ + Forgot password? + Create account -

+
) : null } > @@ -150,69 +146,53 @@ function SignInPage() { void form.handleSubmit(); }} > - + return ( +
+ field.handleChange(event.target.value)} + autoComplete="email" + disabled={!isHostedMode || isSessionPending} + required + /> + {error ? ( +

{error}

+ ) : null} +
+ ); + }} + - - -
- - Forgot password? - -
+ return ( +
+ field.handleChange(event.target.value)} + autoComplete="current-password" + disabled={!isHostedMode || isSessionPending} + required + /> + {error ? ( +

{error}

+ ) : null} +
+ ); + }} + {verificationEmail ? (
@@ -251,7 +231,7 @@ function SignInPage() {

{errorMessage}

) : null}