feat: integrate createTask action in useTasks hook

- Replaced direct task creation call with createTask action for better error handling and response management.
- Enhanced task creation logic to refresh task list upon successful creation and throw errors for failure cases.
This commit is contained in:
Julien Froidefond
2025-09-18 11:22:33 +02:00
parent fefcc91a03
commit 7f0d6ce8f9

View File

@@ -2,7 +2,7 @@
import { useState, useEffect, useCallback } from 'react'; import { useState, useEffect, useCallback } from 'react';
import { tasksClient, TaskFilters, CreateTaskData } from '@/clients/tasks-client'; import { tasksClient, TaskFilters, CreateTaskData } from '@/clients/tasks-client';
import { updateTaskStatus } from '@/actions/tasks'; import { updateTaskStatus, createTask as createTaskAction } from '@/actions/tasks';
import { Task, TaskStats, TaskStatus } from '@/lib/types'; import { Task, TaskStats, TaskStatus } from '@/lib/types';
interface UseTasksState { interface UseTasksState {
@@ -78,12 +78,21 @@ export function useTasks(
setState(prev => ({ ...prev, loading: true, error: null })); setState(prev => ({ ...prev, loading: true, error: null }));
try { try {
const response = await tasksClient.createTask(data); const result = await createTaskAction({
title: data.title,
description: data.description,
status: data.status,
priority: data.priority,
tags: data.tags
});
// Rafraîchir la liste après création if (result.success) {
await refreshTasks(); // Rafraîchir la liste après création
await refreshTasks();
return response.data; return result.data as Task;
} else {
throw new Error(result.error || 'Erreur lors de la création');
}
} catch (error) { } catch (error) {
setState(prev => ({ setState(prev => ({
...prev, ...prev,