feat(DailyPageClient): add pending refresh trigger for daily dates updates
- Introduced a new state variable `pendingRefreshTrigger` to manage refresh actions for daily dates. - Updated relevant functions to increment the trigger upon checkbox actions and date refreshes, ensuring UI updates reflect the latest data.
This commit is contained in:
@@ -60,6 +60,7 @@ export function DailyPageClient({
|
||||
} = useDaily(initialDate, initialDailyView);
|
||||
|
||||
const [dailyDates, setDailyDates] = useState<string[]>(initialDailyDates);
|
||||
const [pendingRefreshTrigger, setPendingRefreshTrigger] = useState(0);
|
||||
|
||||
// Fonction pour rafraîchir la liste des dates avec des dailies
|
||||
const refreshDailyDates = async () => {
|
||||
@@ -90,6 +91,7 @@ export function DailyPageClient({
|
||||
await addTodayCheckbox(text, type);
|
||||
// Recharger aussi les dates pour le calendrier
|
||||
await refreshDailyDates();
|
||||
setPendingRefreshTrigger((prev) => prev + 1);
|
||||
};
|
||||
|
||||
const handleAddYesterdayCheckbox = async (
|
||||
@@ -99,6 +101,7 @@ export function DailyPageClient({
|
||||
await addYesterdayCheckbox(text, type);
|
||||
// Recharger aussi les dates pour le calendrier
|
||||
await refreshDailyDates();
|
||||
setPendingRefreshTrigger((prev) => prev + 1);
|
||||
};
|
||||
|
||||
// Raccourcis clavier globaux pour la page Daily
|
||||
@@ -110,12 +113,14 @@ export function DailyPageClient({
|
||||
|
||||
const handleToggleCheckbox = async (checkboxId: string) => {
|
||||
await toggleCheckbox(checkboxId);
|
||||
setPendingRefreshTrigger((prev) => prev + 1);
|
||||
};
|
||||
|
||||
const handleDeleteCheckbox = async (checkboxId: string) => {
|
||||
await deleteCheckbox(checkboxId);
|
||||
// Refresh dates après suppression pour mettre à jour le calendrier
|
||||
await refreshDailyDates();
|
||||
setPendingRefreshTrigger((prev) => prev + 1);
|
||||
};
|
||||
|
||||
const handleUpdateCheckbox = async (
|
||||
@@ -135,6 +140,7 @@ export function DailyPageClient({
|
||||
if (date) {
|
||||
await refreshDailyDates();
|
||||
}
|
||||
setPendingRefreshTrigger((prev) => prev + 1);
|
||||
};
|
||||
|
||||
const handleReorderCheckboxes = async (date: Date, checkboxIds: string[]) => {
|
||||
@@ -408,7 +414,7 @@ export function DailyPageClient({
|
||||
onToggleCheckbox={handleToggleCheckbox}
|
||||
onDeleteCheckbox={handleDeleteCheckbox}
|
||||
onRefreshDaily={refreshDailySilent}
|
||||
refreshTrigger={0}
|
||||
refreshTrigger={pendingRefreshTrigger}
|
||||
initialPendingTasks={initialPendingTasks}
|
||||
/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user