feat: integrate UserPreferencesContext for improved preference management

- Added `UserPreferencesProvider` to `RootLayout` for centralized user preferences handling.
- Updated components to remove direct user preferences fetching, relying on context instead.
- Enhanced SSR data fetching by consolidating user preferences retrieval into a single service call.
- Cleaned up unused props in various components to streamline the codebase.
This commit is contained in:
Julien Froidefond
2025-09-21 15:03:19 +02:00
parent 4ba6ba2c0b
commit c650c67627
17 changed files with 86 additions and 138 deletions

View File

@@ -1,11 +1,9 @@
'use client';
import { useState } from 'react';
import { UserPreferences } from '@/lib/types';
import { Header } from '@/components/ui/Header';
import { Card, CardHeader, CardContent } from '@/components/ui/Card';
import { Button } from '@/components/ui/Button';
import { UserPreferencesProvider } from '@/contexts/UserPreferencesContext';
import { backupClient, BackupListResponse } from '@/clients/backup-client';
import Link from 'next/link';
import { parseDate, getToday, formatDateForDisplay } from '@/lib/date-utils';
@@ -17,13 +15,11 @@ interface DatabaseStats {
}
interface AdvancedSettingsPageClientProps {
initialPreferences: UserPreferences;
initialDbStats: DatabaseStats;
initialBackupData: BackupListResponse;
}
export function AdvancedSettingsPageClient({
initialPreferences,
initialDbStats,
initialBackupData
}: AdvancedSettingsPageClientProps) {
@@ -107,8 +103,7 @@ export function AdvancedSettingsPageClient({
};
return (
<UserPreferencesProvider initialPreferences={initialPreferences}>
<div className="min-h-screen bg-[var(--background)]">
<div className="min-h-screen bg-[var(--background)]">
<Header
title="TowerControl"
subtitle="Paramètres avancés"
@@ -251,6 +246,5 @@ export function AdvancedSettingsPageClient({
</div>
</div>
</div>
</UserPreferencesProvider>
);
}