feat(profile): add Personal Profile page — user info, role, workspaces
This commit is contained in:
parent
6ee566143b
commit
bfc9700990
1 changed files with 59 additions and 0 deletions
59
src/app/dashboard/settings/profile/page.tsx
Normal file
59
src/app/dashboard/settings/profile/page.tsx
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
'use client';
|
||||
|
||||
import { useSession } from '../../../../components/session-provider';
|
||||
|
||||
export default function ProfilePage() {
|
||||
const { me, activeTenant } = useSession();
|
||||
|
||||
return (
|
||||
<div className="max-w-xl">
|
||||
<div className="mb-6">
|
||||
<h1 className="font-display text-2xl font-semibold text-ink">Profil personal</h1>
|
||||
<p className="text-sm text-ink-faint">Contul tău și workspace-ul activ.</p>
|
||||
</div>
|
||||
|
||||
<div className="card divide-y divide-ink-line overflow-hidden">
|
||||
<div className="px-5 py-4">
|
||||
<p className="label mb-0.5">Email</p>
|
||||
<p className="text-sm text-ink">{me?.email ?? '—'}</p>
|
||||
<p className="mt-0.5 text-xs text-ink-faint">
|
||||
Contul este gestionat prin Supabase Auth. Contactează administratorul pentru schimbarea emailului.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="px-5 py-4">
|
||||
<p className="label mb-0.5">ID utilizator</p>
|
||||
<p className="font-mono text-xs text-ink-soft">{me?.userId ?? '—'}</p>
|
||||
</div>
|
||||
|
||||
<div className="px-5 py-4">
|
||||
<p className="label mb-0.5">Workspace activ</p>
|
||||
<p className="text-sm font-medium text-ink">{activeTenant?.tenantName ?? '—'}</p>
|
||||
</div>
|
||||
|
||||
<div className="px-5 py-4">
|
||||
<p className="label mb-0.5">Rol în workspace</p>
|
||||
<p className="text-sm capitalize text-ink">{activeTenant?.role ?? '—'}</p>
|
||||
</div>
|
||||
|
||||
<div className="px-5 py-4">
|
||||
<p className="label mb-0.5">Workspace-uri active</p>
|
||||
{me?.tenants.length ? (
|
||||
<ul className="space-y-1">
|
||||
{me.tenants.map((t) => (
|
||||
<li key={t.tenantId} className="flex items-center justify-between">
|
||||
<span className="text-sm text-ink">{t.tenantName}</span>
|
||||
<span className="rounded-full bg-paper-sunken px-2 py-0.5 text-[10px] capitalize text-ink-faint">
|
||||
{t.role}
|
||||
</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
) : (
|
||||
<p className="text-sm text-ink-faint">—</p>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Loading…
Reference in a new issue