feat(profile): add Personal Profile page — user info, role, workspaces

This commit is contained in:
admin-valentin 2026-07-31 17:12:05 +00:00
parent 6ee566143b
commit bfc9700990

View 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>
);
}