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:
@@ -2,7 +2,7 @@
|
||||
|
||||
import { useState, useEffect, useCallback } from 'react';
|
||||
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';
|
||||
|
||||
interface UseTasksState {
|
||||
@@ -78,12 +78,21 @@ export function useTasks(
|
||||
setState(prev => ({ ...prev, loading: true, error: null }));
|
||||
|
||||
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
|
||||
await refreshTasks();
|
||||
|
||||
return response.data;
|
||||
if (result.success) {
|
||||
// Rafraîchir la liste après création
|
||||
await refreshTasks();
|
||||
return result.data as Task;
|
||||
} else {
|
||||
throw new Error(result.error || 'Erreur lors de la création');
|
||||
}
|
||||
} catch (error) {
|
||||
setState(prev => ({
|
||||
...prev,
|
||||
|
||||
Reference in New Issue
Block a user