diff --git a/apps/web/src/app/(auth)/forgot-password/page.tsx b/apps/web/src/app/(auth)/forgot-password/page.tsx index 84e5977..56b6bd7 100644 --- a/apps/web/src/app/(auth)/forgot-password/page.tsx +++ b/apps/web/src/app/(auth)/forgot-password/page.tsx @@ -1,5 +1,7 @@ 'use client'; +import { Button } from '@tpmjs/ui/Button/Button'; +import { Input } from '@tpmjs/ui/Input/Input'; import Link from 'next/link'; import { useState } from 'react'; @@ -54,7 +56,7 @@ export default function ForgotPasswordPage() {

-
+
Check your inbox and click the link to reset your password. The link will expire in 1 hour.
@@ -93,7 +95,7 @@ export default function ForgotPasswordPage() {
{error && ( -
+
{error}
)} @@ -102,24 +104,24 @@ export default function ForgotPasswordPage() { - setEmail(e.target.value)} required - className="w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-foreground focus:border-transparent" placeholder="you@example.com" />
- +

diff --git a/apps/web/src/app/(auth)/sign-in/page.tsx b/apps/web/src/app/(auth)/sign-in/page.tsx index d23dc99..90ecfce 100644 --- a/apps/web/src/app/(auth)/sign-in/page.tsx +++ b/apps/web/src/app/(auth)/sign-in/page.tsx @@ -1,47 +1,11 @@ 'use client'; -import { signIn } from '@/lib/auth-client'; +import { Button } from '@tpmjs/ui/Button/Button'; +import { Icon } from '@tpmjs/ui/Icon/Icon'; +import { Input } from '@tpmjs/ui/Input/Input'; import Link from 'next/link'; import { useState } from 'react'; - -function EyeIcon({ className }: { className?: string }) { - return ( - - - - - ); -} - -function EyeOffIcon({ className }: { className?: string }) { - return ( - - - - ); -} +import { signIn } from '~/lib/auth-client'; export default function SignInPage() { const [email, setEmail] = useState(''); @@ -107,7 +71,7 @@ export default function SignInPage() {

{error && ( -
+
{error}
)} @@ -116,13 +80,12 @@ export default function SignInPage() { - setEmail(e.target.value)} required - className="w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-foreground focus:border-transparent" placeholder="you@example.com" />
@@ -140,14 +103,14 @@ export default function SignInPage() {
- setPassword(e.target.value)} required - className="w-full px-3 py-2 pr-10 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-foreground focus:border-transparent" placeholder="Enter your password" + className="pr-10" />
- +

diff --git a/apps/web/src/app/(auth)/sign-up/page.tsx b/apps/web/src/app/(auth)/sign-up/page.tsx index e050dc2..025da46 100644 --- a/apps/web/src/app/(auth)/sign-up/page.tsx +++ b/apps/web/src/app/(auth)/sign-up/page.tsx @@ -1,9 +1,12 @@ 'use client'; -import { signUp } from '@/lib/auth-client'; +import { Button } from '@tpmjs/ui/Button/Button'; +import { Icon } from '@tpmjs/ui/Icon/Icon'; +import { Input } from '@tpmjs/ui/Input/Input'; import { suggestUsername } from '@tpmjs/types/user'; import Link from 'next/link'; import { useCallback, useEffect, useState } from 'react'; +import { signUp } from '~/lib/auth-client'; interface UsernameCheckResult { available: boolean; @@ -173,7 +176,7 @@ export default function SignUpPage() {

{error && ( -
+
{error}
)} @@ -182,13 +185,12 @@ export default function SignUpPage() { - setName(e.target.value)} required - className="w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-foreground focus:border-transparent" placeholder="Your name" />
@@ -201,7 +203,7 @@ export default function SignUpPage() {
@
- {/* Status indicator */}
{checkingUsername && ( - - - - + )} {!checkingUsername && usernameCheck?.available && ( - - - + )} {!checkingUsername && usernameCheck && !usernameCheck.available && username.length >= 3 && ( - - - + )}
{/* Username availability message */} {username.length >= 3 && usernameCheck && !usernameCheck.available && ( -

{usernameCheck.reason}

+

{usernameCheck.reason}

)} {username.length >= 3 && usernameCheck?.available && ( -

Username available

+

Username available

)} {username && (

@@ -289,13 +248,12 @@ export default function SignUpPage() { - setEmail(e.target.value)} required - className="w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-foreground focus:border-transparent" placeholder="you@example.com" /> @@ -304,25 +262,25 @@ export default function SignUpPage() { - setPassword(e.target.value)} required minLength={8} - className="w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-foreground focus:border-transparent" placeholder="At least 8 characters" /> - +

diff --git a/apps/web/src/app/(auth)/verify-email/page.tsx b/apps/web/src/app/(auth)/verify-email/page.tsx index 828607a..5de27de 100644 --- a/apps/web/src/app/(auth)/verify-email/page.tsx +++ b/apps/web/src/app/(auth)/verify-email/page.tsx @@ -1,22 +1,11 @@ +import { Icon } from '@tpmjs/ui/Icon/Icon'; import Link from 'next/link'; export default function VerifyEmailPage() { return (

- - - +
diff --git a/apps/web/src/app/dashboard/settings/api-keys/page.tsx b/apps/web/src/app/dashboard/settings/api-keys/page.tsx index ed245ee..cef13c2 100644 --- a/apps/web/src/app/dashboard/settings/api-keys/page.tsx +++ b/apps/web/src/app/dashboard/settings/api-keys/page.tsx @@ -2,6 +2,8 @@ import { Button } from '@tpmjs/ui/Button/Button'; import { Icon } from '@tpmjs/ui/Icon/Icon'; +import { Input } from '@tpmjs/ui/Input/Input'; +import { Textarea } from '@tpmjs/ui/Textarea/Textarea'; import { Table, TableBody, @@ -176,9 +178,9 @@ export default function ApiKeysPage(): React.ReactElement { } > {/* Info banner */} -
+
- +

These are your AI service credentials @@ -195,14 +197,14 @@ export default function ApiKeysPage(): React.ReactElement { {showImport && (

Import from .env

-