refactor: userpreferences are now in the DB
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
'use client';
|
||||
|
||||
import { useState, useEffect } from 'react';
|
||||
import { useState } from 'react';
|
||||
import { KanbanBoardContainer } from '@/components/kanban/BoardContainer';
|
||||
import { Header } from '@/components/ui/Header';
|
||||
import { TasksProvider, useTasksContext } from '@/contexts/TasksContext';
|
||||
import { Task, Tag, TaskStats } from '@/lib/types';
|
||||
import { UserPreferencesProvider, useUserPreferences } from '@/contexts/UserPreferencesContext';
|
||||
import { Task, Tag, TaskStats, UserPreferences } from '@/lib/types';
|
||||
import { CreateTaskData } from '@/clients/tasks-client';
|
||||
import { userPreferencesService } from '@/services/user-preferences';
|
||||
import { CreateTaskForm } from '@/components/forms/CreateTaskForm';
|
||||
import { Button } from '@/components/ui/Button';
|
||||
|
||||
@@ -14,32 +14,26 @@ interface HomePageClientProps {
|
||||
initialTasks: Task[];
|
||||
initialStats: TaskStats;
|
||||
initialTags: (Tag & { usage: number })[];
|
||||
initialPreferences: UserPreferences;
|
||||
}
|
||||
|
||||
|
||||
function HomePageContent() {
|
||||
const { stats, syncing, createTask } = useTasksContext();
|
||||
const [showFilters, setShowFilters] = useState(true);
|
||||
const [showObjectives, setShowObjectives] = useState(true);
|
||||
const { preferences, updateViewPreferences } = useUserPreferences();
|
||||
const [isCreateModalOpen, setIsCreateModalOpen] = useState(false);
|
||||
|
||||
// Charger les préférences depuis le service
|
||||
useEffect(() => {
|
||||
const viewPreferences = userPreferencesService.getViewPreferences();
|
||||
setShowFilters(viewPreferences.showFilters);
|
||||
setShowObjectives(viewPreferences.showObjectives);
|
||||
}, []);
|
||||
// Extraire les préférences du context
|
||||
const showFilters = preferences.viewPreferences.showFilters;
|
||||
const showObjectives = preferences.viewPreferences.showObjectives;
|
||||
|
||||
// Sauvegarder les préférences via le service
|
||||
// Handlers pour les toggles (sauvegarde automatique via le context)
|
||||
const handleToggleFilters = () => {
|
||||
const newValue = !showFilters;
|
||||
setShowFilters(newValue);
|
||||
userPreferencesService.updateViewPreferences({ showFilters: newValue });
|
||||
updateViewPreferences({ showFilters: !showFilters });
|
||||
};
|
||||
|
||||
const handleToggleObjectives = () => {
|
||||
const newValue = !showObjectives;
|
||||
setShowObjectives(newValue);
|
||||
userPreferencesService.updateViewPreferences({ showObjectives: newValue });
|
||||
updateViewPreferences({ showObjectives: !showObjectives });
|
||||
};
|
||||
|
||||
// Handler pour la création de tâche depuis la barre de contrôles
|
||||
@@ -127,14 +121,16 @@ function HomePageContent() {
|
||||
);
|
||||
}
|
||||
|
||||
export function HomePageClient({ initialTasks, initialStats, initialTags }: HomePageClientProps) {
|
||||
export function HomePageClient({ initialTasks, initialStats, initialTags, initialPreferences }: HomePageClientProps) {
|
||||
return (
|
||||
<TasksProvider
|
||||
initialTasks={initialTasks}
|
||||
initialStats={initialStats}
|
||||
initialTags={initialTags}
|
||||
>
|
||||
<HomePageContent />
|
||||
</TasksProvider>
|
||||
<UserPreferencesProvider initialPreferences={initialPreferences}>
|
||||
<TasksProvider
|
||||
initialTasks={initialTasks}
|
||||
initialStats={initialStats}
|
||||
initialTags={initialTags}
|
||||
>
|
||||
<HomePageContent />
|
||||
</TasksProvider>
|
||||
</UserPreferencesProvider>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user