Dev #43
@@ -22,3 +22,4 @@ dist-ssr
|
|||||||
*.njsproj
|
*.njsproj
|
||||||
*.sln
|
*.sln
|
||||||
*.sw?
|
*.sw?
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ export const CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<
|
|||||||
ref={ref}
|
ref={ref}
|
||||||
className={cn(
|
className={cn(
|
||||||
// Séparation discrète (bordure fine plutôt qu'ombre inset, pour rester léger)
|
// Séparation discrète (bordure fine plutôt qu'ombre inset, pour rester léger)
|
||||||
"px-6 py-5 flex flex-col space-y-1.5 border-b border-black/5 dark:border-white/5 transition-all duration-300 ease-in-out",
|
"px-6 py-5 flex flex-col space-y-1.5 border-black/5 dark:border-white/5 transition-all duration-300",
|
||||||
className
|
className
|
||||||
)}
|
)}
|
||||||
{...props}
|
{...props}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ export const Input = forwardRef<HTMLInputElement, InputProps>(
|
|||||||
"bg-[#e8e8e8] dark:bg-[#1e293b]",
|
"bg-[#e8e8e8] dark:bg-[#1e293b]",
|
||||||
"text-slate-800 dark:text-slate-100 font-medium placeholder:text-slate-400 dark:placeholder:text-slate-500",
|
"text-slate-800 dark:text-slate-100 font-medium placeholder:text-slate-400 dark:placeholder:text-slate-500",
|
||||||
|
|
||||||
// 🎯 Utilisation directe de tes constantes Neumorphic creusées
|
// Utilisation directe de tes constantes Neumorphic creusées
|
||||||
NEUMORPHISM.insetLight,
|
NEUMORPHISM.insetLight,
|
||||||
NEUMORPHISM.insetDark,
|
NEUMORPHISM.insetDark,
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ export default function BackupWidget({ onClick }: BackupWidgetProps) {
|
|||||||
<Badge className="max-w-fit min-w-fit" name="PRA Immuable">
|
<Badge className="max-w-fit min-w-fit" name="PRA Immuable">
|
||||||
</Badge>
|
</Badge>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<CardContent className="p-6">
|
<CardContent className="p-6 flex flex-col h-full">
|
||||||
<Card variant='digged' className="bg-slate-50 rounded-lg p-4 border border-slate-100 mb-4">
|
<Card variant="flat" className="rounded-lg p-4 border border-slate-100 mb-4">
|
||||||
<p className="text-sm text-slate-500 mb-1">Dernier snapshot système</p>
|
<p className="text-sm text-slate-500 mb-1">Dernier snapshot système</p>
|
||||||
<p className="text-slate-900 font-medium">Aujourd'hui à 03:00 AM</p>
|
<p className="text-slate-900 font-medium">Aujourd'hui à 03:00 AM</p>
|
||||||
</Card>
|
</Card>
|
||||||
|
|||||||
@@ -30,10 +30,10 @@ export default function ServicesWidget() {
|
|||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Button size="lg" onClick={() => navigate('/evolution-infrastructure')}>
|
<Button className ="text-green-600" size="lg" onClick={() => navigate('/evolution-infrastructure')}>
|
||||||
Demander une évolution du parc
|
Mise à niveau du Parc
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -8,14 +8,14 @@ export const SupportCtaWidget: React.FC = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Card>
|
<Card>
|
||||||
<CardContent className="p-6">
|
<CardContent className="p-6 rounded-xl">
|
||||||
<h3 className="text-lg font-semibold mb-2">Centre de Support</h3>
|
<h3 className="text-lg font-semibold mb-2">Centre de Support</h3>
|
||||||
<p className="text-blue-900 text-sm mb-4 leading-relaxed">
|
<p className="text-sm mb-4 leading-relaxed">
|
||||||
Déclarez un incident critique ou demandez une évolution de votre infrastructure.
|
Déclarez un incident critique ou demandez une évolution de votre infrastructure.
|
||||||
</p>
|
</p>
|
||||||
<Button
|
<Button
|
||||||
onClick={() => navigate('/support')}
|
onClick={() => navigate('/support')}
|
||||||
className="w-full text-blue-900"
|
className= "text-rose-500 w-full"
|
||||||
>
|
>
|
||||||
Ouvrir un ticket sécurisé
|
Ouvrir un ticket sécurisé
|
||||||
</Button>
|
</Button>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export const SupportFooterWidget: React.FC<SupportFooterWidgetProps> = ({
|
|||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mt-12 bg-slate-900 text-slate-300 rounded-xl p-6 flex flex-col sm:flex-row items-center justify-between gap-4 shadow-sm">
|
<div className="mt-12 bg-slate-500 text-slate-300 rounded-xl p-6 flex flex-col sm:flex-row items-center justify-between gap-4 shadow-sm">
|
||||||
<div>
|
<div>
|
||||||
<h4 className="text-sm font-bold text-white">{title}</h4>
|
<h4 className="text-sm font-bold text-white">{title}</h4>
|
||||||
<p className="text-xs text-slate-400 mt-0.5">
|
<p className="text-xs text-slate-400 mt-0.5">
|
||||||
|
|||||||
@@ -15,8 +15,7 @@ export const useTickets = () => {
|
|||||||
sort: '-created', // Du plus récent au plus ancien
|
sort: '-created', // Du plus récent au plus ancien
|
||||||
});
|
});
|
||||||
setTickets(records);
|
setTickets(records);
|
||||||
} catch (err) {
|
} catch {
|
||||||
console.error("Erreur lors de la récupération des tickets :", err);
|
|
||||||
setError("Impossible de charger l'historique de vos requêtes.");
|
setError("Impossible de charger l'historique de vos requêtes.");
|
||||||
} finally {
|
} finally {
|
||||||
setIsLoading(false);
|
setIsLoading(false);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export default function ServiceDesk() {
|
|||||||
title="Centre de Support (Service Desk)"
|
title="Centre de Support (Service Desk)"
|
||||||
description="Canal de communication sécurisé avec vos experts GISE."
|
description="Canal de communication sécurisé avec vos experts GISE."
|
||||||
>
|
>
|
||||||
<Button onClick={() => navigate('/support/new')}>
|
<Button className= "text-rose-500" onClick={() => navigate('/support/new')}>
|
||||||
Ouvrir un ticket sécurisé
|
Ouvrir un ticket sécurisé
|
||||||
</Button>
|
</Button>
|
||||||
</PageHeader>
|
</PageHeader>
|
||||||
|
|||||||
Reference in New Issue
Block a user