moving
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled

This commit is contained in:
Oleg Maslov
2026-09-02 10:10:29 +02:00
commit 0c3e2ead3b
3841 changed files with 970576 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
import type { CSSProperties } from 'react';
import { auth } from '@clerk/nextjs/server';
import { redirect } from 'next/navigation';
import { UserProfile } from '@clerk/nextjs';
/**
* Account management page (Sesija E §5.2).
*
* Server component: gates access via `await auth()`. Unauthenticated users
* are redirected to /sign-in before any Clerk component mounts. Authenticated
* users see Clerk's <UserProfile>, which handles email/password updates,
* connected accounts, sessions, security settings.
*
* Stripe Customer ID surfaced in user.publicMetadata is set by §5.3 webhooks
* (apps/www/app/api/webhooks/clerk/route.ts) on the user.created event.
*
* Appearance is inherited from <ClerkProvider> in app/layout.tsx (Hive DS).
*/
export default async function AccountPage() {
const { userId } = await auth();
if (!userId) {
redirect('/sign-in');
}
return (
<main style={pageStyle}>
<UserProfile />
</main>
);
}
const pageStyle: CSSProperties = {
minHeight: '100vh',
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
padding: '96px 24px 48px',
background: 'var(--hive-950, #0e0c07)',
};