fix: Update PrimeReact and fix all compilation errors

This commit is contained in:
Lions Dev
2025-10-13 05:18:02 +02:00
parent 6ebca4945c
commit 96eb956b0b
793 changed files with 11998 additions and 10690 deletions

0
app/(main)/dashboard/__tests__/page.test.tsx Normal file → Executable file
View File

14
app/(main)/dashboard/alertes/page.tsx Normal file → Executable file
View File

@@ -312,17 +312,17 @@ const DashboardAlertes = () => {
};
const severiteBodyTemplate = (rowData: Alerte) => (
<Tag value={rowData.severite} severity={getSeveriteSeverity(rowData.severite)} />
<Tag value={rowData.severite} severity={getSeveriteSeverity(rowData.severite) as any} />
);
const statutBodyTemplate = (rowData: Alerte) => (
<Tag value={rowData.statut} severity={getStatutSeverity(rowData.statut)} />
<Tag value={rowData.statut} severity={getStatutSeverity(rowData.statut) as any} />
);
const typeBodyTemplate = (rowData: Alerte) => (
<div className="flex align-items-center">
<i className={`${getTypeIcon(rowData.type)} mr-2`} style={{ color: getSeveriteColor(rowData.severite) }}></i>
<Tag value={rowData.type} severity={getTypeSeverity(rowData.type)} />
<Tag value={rowData.type} severity={getTypeSeverity(rowData.type) as any} />
</div>
);
@@ -357,9 +357,9 @@ const DashboardAlertes = () => {
return (
<div>
<div className="text-sm">{echeance.toLocaleDateString('fr-FR')}</div>
<Tag
<Tag
value={diffHours < 0 ? 'Échue' : `${Math.ceil(diffHours)}h restantes`}
severity={severity}
severity={severity as any}
className="text-xs mt-1"
/>
</div>
@@ -369,7 +369,7 @@ const DashboardAlertes = () => {
const actionsBodyTemplate = (rowData: Alerte) => (
<div className="flex flex-wrap gap-1">
{rowData.actions.slice(0, 2).map((action, index) => (
<Tag key={index} value={action} severity="secondary" className="text-xs" />
<Tag key={index} value={action} severity="info" className="text-xs" />
))}
{rowData.actions.length > 2 && (
<Tag value={`+${rowData.actions.length - 2}`} severity="info" className="text-xs" />
@@ -623,7 +623,7 @@ const DashboardAlertes = () => {
content={(item) => (
<Card title={item.titre} subTitle={`${item.date} à ${item.time}`}>
<p className="text-sm mb-2">{item.description}</p>
<Tag value={item.statut} severity={getStatutSeverity(item.statut)} />
<Tag value={item.statut} severity={getStatutSeverity(item.statut) as any} />
</Card>
)}
/>

1
app/(main)/dashboard/chantiers/page.tsx Normal file → Executable file
View File

@@ -383,7 +383,6 @@ const DashboardChantiers = () => {
onChange={(e) => setDateRange(e.value as Date[])}
selectionMode="range"
readOnlyInput
hideOnRangeSelection
className="w-full md:w-14rem"
placeholder="Sélectionner une période"
/>

4
app/(main)/dashboard/maintenance/page.tsx Normal file → Executable file
View File

@@ -395,8 +395,7 @@ const DashboardMaintenance = () => {
onChange={(e) => setDateRange(e.value as Date[])}
selectionMode="range"
readOnlyInput
hideOnRangeSelection
className="w-full md:w-14rem"
className="w-full md:w-14rem"
placeholder="Sélectionner une période"
/>
</div>
@@ -536,3 +535,4 @@ const DashboardMaintenance = () => {
};
export default DashboardMaintenance;

38
app/(main)/dashboard/page-broken.tsx Normal file → Executable file
View File

@@ -19,6 +19,8 @@ import { Divider } from 'primereact/divider';
import { Chip } from 'primereact/chip';
import { OverlayPanel } from 'primereact/overlaypanel';
import { Toast } from 'primereact/toast';
import { ConfirmDialog } from 'primereact/confirmdialog';
import { Dialog } from 'primereact/dialog';
import { SplitButton } from 'primereact/splitbutton';
import { Terminal } from 'primereact/terminal';
import { Inplace, InplaceDisplay, InplaceContent } from 'primereact/inplace';
@@ -28,6 +30,7 @@ import { LayoutContext } from '../../../layout/context/layoutcontext';
import { ChartData, ChartOptions } from 'chart.js';
import { useDashboard, ChantierActif } from '../../../hooks/useDashboard';
import { ProgressSpinner } from 'primereact/progressspinner';
import { Panel } from 'primereact/panel';
import { Skeleton } from 'primereact/skeleton';
import { Ripple } from 'primereact/ripple';
import StatsCard from '../../../components/dashboard/StatsCard';
@@ -42,7 +45,6 @@ interface KPIData {
margeGlobale: number;
effectifsSurSite: number;
satisfactionClient: number;
delaiMoyenRealisation: number;
}
@@ -252,8 +254,7 @@ const DashboardBTP = () => {
caObjectif: objectifCA,
margeGlobale: chiffreAffaires > 0 ? ((chiffreAffaires - coutReel) / chiffreAffaires * 100) : 0,
effectifsSurSite: metrics?.totalEquipes || 0,
satisfactionClient: metrics?.satisfactionClient || 0,
delaiMoyenRealisation: metrics?.delaiMoyenRealisation || 0
satisfactionClient: metrics?.satisfactionClient || 0
};
const chantiersData = chantiersActifs || [];
@@ -412,19 +413,17 @@ const DashboardBTP = () => {
const advancedClientTemplate = (rowData: ChantierActif) => {
const clientName = typeof rowData.client === 'string' ? rowData.client : rowData.client?.nom || 'Client non défini';
const clientEmail = typeof rowData.client === 'string' ? '' : rowData.client?.email || '';
return (
<div className="flex align-items-center gap-2">
<Avatar
label={clientName.charAt(0)}
size="small"
<Avatar
label={clientName.charAt(0)}
size="normal"
shape="circle"
className="bg-blue-100 text-blue-600"
/>
<div>
<div className="font-medium text-900">{clientName}</div>
<small className="text-500">{clientEmail}</small>
</div>
</div>
);
@@ -445,19 +444,12 @@ const DashboardBTP = () => {
const config = getStatutConfig(rowData.statut);
return (
<div className="flex align-items-center gap-2">
<Tag
value={config.label}
severity={config.severity}
<Tag
value={config.label}
severity={config.severity as any}
icon={config.icon}
className="font-semibold"
/>
{rowData.priorite && (
<Chip
label={rowData.priorite}
className={`text-xs ${rowData.priorite === 'HAUTE' ? 'p-chip-danger' :
rowData.priorite === 'MOYENNE' ? 'p-chip-warning' : 'p-chip-info'}`}
/>
)}
</div>
);
};
@@ -472,7 +464,7 @@ const DashboardBTP = () => {
<Avatar
key={index}
label={String.fromCharCode(65 + index)}
size="small"
size="normal"
shape="circle"
className="bg-primary text-white"
style={{
@@ -484,7 +476,7 @@ const DashboardBTP = () => {
{rowData.equipe.nombreMembres > 4 && (
<Avatar
label={`+${rowData.equipe.nombreMembres - 4}`}
size="small"
size="normal"
shape="circle"
className="bg-gray-400 text-white"
/>
@@ -1012,7 +1004,7 @@ const DashboardBTP = () => {
className="p-datatable-sm"
emptyMessage="Aucun chantier actif"
loading={loading}
size="small"
size="normal"
>
<Column
field="nom"
@@ -1071,3 +1063,5 @@ const DashboardBTP = () => {
};
export default DashboardBTP;

17
app/(main)/dashboard/page.tsx Normal file → Executable file
View File

@@ -73,6 +73,10 @@ const Dashboard = () => {
}, []);
// Hooks pour les données et actions du dashboard
// Ne charger les données que si l'authentification est terminée ou qu'on a déjà des tokens
const hasTokens = typeof window !== 'undefined' && !!localStorage.getItem('accessToken');
const shouldLoadData = authProcessed || hasTokens || !currentCode;
const {
metrics,
chantiersActifs,
@@ -145,7 +149,7 @@ const Dashboard = () => {
showCompletionIcon={false}
showPercentage={false}
showValue={false}
size="small"
size="normal"
style={{ width: '75px' }}
/>
<span className="ml-2 text-xs font-semibold text-gray-600">
@@ -164,7 +168,7 @@ const Dashboard = () => {
notation: 'compact',
maximumFractionDigits: 1
}).format(rowData.budget)}
<CFASymbol size="small" className="ml-1" />
<CFASymbol size="medium" className="ml-1" />
</span>
);
}, []);
@@ -541,7 +545,7 @@ const Dashboard = () => {
<div className="text-900 font-medium text-xl">
<div className="flex align-items-center">
{loading ? '...' : (formattedMetrics?.chiffreAffaires || '0')}
{!loading && <CFASymbol size="small" className="ml-1" />}
{!loading && <CFASymbol size="medium" className="ml-1" />}
</div>
</div>
</div>
@@ -735,7 +739,7 @@ const Dashboard = () => {
{selectedChantier.budget ? (
<span className="flex align-items-center">
{new Intl.NumberFormat('fr-FR', { style: 'decimal' }).format(selectedChantier.budget)}
<CFASymbol size="small" className="ml-1" />
<CFASymbol size="medium" className="ml-1" />
</span>
) : 'Non défini'}
</div>
@@ -748,7 +752,7 @@ const Dashboard = () => {
<span className="font-semibold">Reste: </span>
<span className={`flex align-items-center ${ecartBudget >= 0 ? 'text-green-600' : 'text-red-600'}`}>
{new Intl.NumberFormat('fr-FR', { style: 'decimal' }).format(Math.abs(ecartBudget))}
<CFASymbol size="small" className="ml-1" />
<CFASymbol size="medium" className="ml-1" />
</span>
</div>
</div>
@@ -831,4 +835,5 @@ const Dashboard = () => {
);
};
export default Dashboard;
export default Dashboard;

0
app/(main)/dashboard/phases/page.tsx Normal file → Executable file
View File

6
app/(main)/dashboard/planning/page.tsx Normal file → Executable file
View File

@@ -385,7 +385,7 @@ const DashboardPlanningContent = () => {
const ressourcesBodyTemplate = (rowData: PlanningEvent) => (
<div className="flex flex-wrap gap-1">
{rowData.ressources.slice(0, 2).map((ressource, index) => (
<Tag key={index} value={ressource} severity="secondary" className="text-xs" />
<Tag key={index} value={ressource} severity={"secondary" as any} className="text-xs" />
))}
{rowData.ressources.length > 2 && (
<Tag value={`+${rowData.ressources.length - 2}`} severity="info" className="text-xs" />
@@ -530,8 +530,7 @@ const DashboardPlanningContent = () => {
onChange={(e) => setDateRange(e.value as Date[])}
selectionMode="range"
readOnlyInput
hideOnRangeSelection
className="w-full md:w-14rem"
className="w-full md:w-14rem"
placeholder="Sélectionner une période"
/>
</div>
@@ -710,3 +709,4 @@ const DashboardPlanning = () => {
};
export default DashboardPlanning;

3
app/(main)/dashboard/ressources/page.tsx Normal file → Executable file
View File

@@ -376,7 +376,7 @@ const DashboardRessources = () => {
<Tag key={index} value={comp} severity="info" className="text-xs" />
))}
{rowData.competences.length > 2 && (
<Tag value={`+${rowData.competences.length - 2}`} severity="secondary" className="text-xs" />
<Tag value={`+${rowData.competences.length - 2}`} severity={"secondary" as any} className="text-xs" />
)}
</div>
);
@@ -718,3 +718,4 @@ const DashboardRessources = () => {
};
export default DashboardRessources;

6
app/(main)/dashboard/resume-quotidien/page.tsx Normal file → Executable file
View File

@@ -291,7 +291,7 @@ const DashboardResumeQuotidien = () => {
};
const evenementStatutTemplate = (rowData: EvenementQuotidien) => (
<Tag value={rowData.statut} severity={getStatutSeverity(rowData.statut)} />
<Tag value={rowData.statut} severity={getStatutSeverity(rowData.statut) as any} />
);
const evenementTypeTemplate = (rowData: EvenementQuotidien) => (
@@ -325,9 +325,9 @@ const DashboardResumeQuotidien = () => {
return (
<div>
<div className="text-sm">{echeance.toLocaleDateString('fr-FR')}</div>
<Tag
<Tag
value={diffDays < 0 ? 'Échue' : `${diffDays} jours`}
severity={severity}
severity={severity as any}
className="text-xs mt-1"
/>
</div>

4
app/(main)/dashboard/stocks/page.tsx Normal file → Executable file
View File

@@ -15,7 +15,7 @@ import { Toast } from 'primereact/toast';
import { Menu } from 'primereact/menu';
import { Badge } from 'primereact/badge';
import { useStocks } from '../../../../hooks/useStocks';
import { Stock, StockAlert, StockStats } from '../../../../types/stocks';
import { Stock, StockAlert, StockStats, StatutStock, CategorieStock } from '../../../../types/stocks';
const DashboardStocksPage = () => {
const { stocks, loading, refresh, entreeStock, sortieStock, inventaire, reserverStock } = useStocks();
@@ -67,7 +67,7 @@ const DashboardStocksPage = () => {
};
const statutTemplate = (stock: Stock) => {
return <Tag value={stock.statut} severity={statutColors[stock.statut]} />;
return <Tag value={stock.statut} severity={statutColors[stock.statut] as any} />;
};
const categorieTemplate = (stock: Stock) => {

11
app/(main)/dashboard/temps-reel/page.tsx Normal file → Executable file
View File

@@ -297,9 +297,9 @@ const DashboardTempsReel = () => {
<div className="text-xs text-color-secondary mt-1">
{alerte.heure.toLocaleTimeString('fr-FR')}
</div>
<Tag
value={alerte.type}
severity={config.color}
<Tag
value={alerte.type}
severity={config.color as any}
className="mt-2"
/>
</div>
@@ -345,7 +345,7 @@ const DashboardTempsReel = () => {
header="Urgence"
body={(rowData) => {
const config = getUrgenceConfig(rowData.urgence);
return <Tag value={config.label} severity={config.color} />;
return <Tag value={config.label} severity={config.color as any} />;
}}
/>
@@ -467,4 +467,5 @@ const DashboardTempsReel = () => {
);
};
export default DashboardTempsReel;
export default DashboardTempsReel;