feat: add user preferences for filter and objective visibility in HomePageClient
- Implemented state management for filter and objective visibility using `useState`. - Integrated `userPreferencesService` to load and save user preferences on component mount and toggle actions. - Updated `KanbanBoardContainer` to conditionally render filters and objectives based on user preferences. - Enhanced UI with buttons for toggling visibility, improving user experience and customization.
This commit is contained in:
@@ -13,7 +13,15 @@ import { UpdateTaskData } from '@/clients/tasks-client';
|
||||
import { useColumnVisibility } from '@/hooks/useColumnVisibility';
|
||||
import { getAllStatuses } from '@/lib/status-config';
|
||||
|
||||
export function KanbanBoardContainer() {
|
||||
interface KanbanBoardContainerProps {
|
||||
showFilters?: boolean;
|
||||
showObjectives?: boolean;
|
||||
}
|
||||
|
||||
export function KanbanBoardContainer({
|
||||
showFilters = true,
|
||||
showObjectives = true
|
||||
}: KanbanBoardContainerProps = {}) {
|
||||
const {
|
||||
filteredTasks,
|
||||
pinnedTasks,
|
||||
@@ -61,15 +69,18 @@ export function KanbanBoardContainer() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<KanbanFilters
|
||||
filters={kanbanFilters}
|
||||
onFiltersChange={setKanbanFilters}
|
||||
hiddenStatuses={hiddenStatuses}
|
||||
onToggleStatusVisibility={toggleStatusVisibility}
|
||||
/>
|
||||
{/* Barre de filtres - conditionnelle */}
|
||||
{showFilters && (
|
||||
<KanbanFilters
|
||||
filters={kanbanFilters}
|
||||
onFiltersChange={setKanbanFilters}
|
||||
hiddenStatuses={hiddenStatuses}
|
||||
onToggleStatusVisibility={toggleStatusVisibility}
|
||||
/>
|
||||
)}
|
||||
|
||||
{/* Section Objectifs Principaux */}
|
||||
{pinnedTasks.length > 0 && (
|
||||
{/* Section Objectifs Principaux - conditionnelle */}
|
||||
{showObjectives && pinnedTasks.length > 0 && (
|
||||
<ObjectivesBoard
|
||||
tasks={pinnedTasks}
|
||||
onDeleteTask={deleteTask}
|
||||
|
||||
Reference in New Issue
Block a user