correct user settings manager (and password reset)
This commit is contained in:
@@ -1,7 +1,33 @@
|
||||
import { Card, CardContent, CardHeader } from '@/components/ui/Card';
|
||||
import type { Company } from '@/types/Company';
|
||||
import type { User } from '@/types/User';
|
||||
import { Loader } from '@/components/ui/Loader';
|
||||
import { Building } from "lucide-react";
|
||||
|
||||
export function InformationWidget() {
|
||||
interface InformationWidgetProps {
|
||||
user: User | null;
|
||||
company: Company | null;
|
||||
isLoading: boolean;
|
||||
error: string | null;
|
||||
}
|
||||
|
||||
function setVipBadge(vip_level: string | undefined) {
|
||||
switch (vip_level?.toLowerCase()) {
|
||||
case "platinum":
|
||||
return <span className="px-2 py-1 bg-amber-600 text-white text-xs font-bold rounded shadow-sm mr-2 tracking-wider">{vip_level?.toUpperCase()}</span>;
|
||||
case "premium":
|
||||
return <span className="px-2 py-1 bg-violet-600 text-white text-xs font-bold rounded shadow-sm mr-2 tracking-wider">{vip_level?.toUpperCase()}</span>;
|
||||
default:
|
||||
return <span className="px-2 py-1 bg-blue-600 text-white text-xs font-bold rounded shadow-sm mr-2 tracking-wider">{vip_level?.toUpperCase()}</span>;
|
||||
}
|
||||
}
|
||||
|
||||
export const InformationWidget: React.FC<InformationWidgetProps> = ({
|
||||
user,
|
||||
company,
|
||||
isLoading,
|
||||
error,
|
||||
}) => {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader className="p-6 border-slate-100">
|
||||
@@ -11,25 +37,29 @@ export function InformationWidget() {
|
||||
</h2>
|
||||
</CardHeader>
|
||||
|
||||
<CardContent>
|
||||
<dl className="space-y-4 text-sm">
|
||||
<div>
|
||||
<dt className="text-slate-500 font-medium">Entité Légale</dt>
|
||||
<dd className="mt-1 font-semibold text-slate-900">Cabinet Juridique Example & Associés</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt className="text-slate-500 font-medium">Administrateur du compte</dt>
|
||||
<dd className="mt-1 text-slate-900">Direction Générale (direction@example.com)</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt className="text-slate-500 font-medium">Niveau d'Infogérance (SLA)</dt>
|
||||
<dd className="mt-1 flex items-center">
|
||||
<span className="px-2 py-1 bg-blue-900 text-white text-xs font-bold rounded shadow-sm mr-2 tracking-wider">VIP PLATINUM</span>
|
||||
<span className="text-slate-700 font-medium">Couverture 24/7 (99.99%)</span>
|
||||
</dd>
|
||||
</div>
|
||||
</dl>
|
||||
</CardContent>
|
||||
{isLoading && !error && <Loader />}
|
||||
{!isLoading && !error && (
|
||||
<CardContent>
|
||||
<dl className="space-y-4 text-sm">
|
||||
<div>
|
||||
<dt className="text-slate-500 font-medium">Entité Légale</dt>
|
||||
<dd className="mt-1 font-semibold text-slate-900">{company?.name}</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt className="text-slate-500 font-medium">Administrateur du compte</dt>
|
||||
<dd className="mt-1 text-slate-900">{user?.role} {user?.name}</dd>
|
||||
<dd className="mt-1 text-slate-500">Email : {user?.emailVisibility && user?.email}{!user?.emailVisibility && "caché"}</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt className="text-slate-500 font-medium">Niveau d'Infogérance (SLA)</dt>
|
||||
<dd className="mt-1 flex items-center">
|
||||
{setVipBadge(company?.vip_level)}
|
||||
<span className="text-slate-700 font-medium">Couverture 24/7 (99.99%)</span>
|
||||
</dd>
|
||||
</div>
|
||||
</dl>
|
||||
</CardContent>
|
||||
)}
|
||||
</Card>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user