|
|
@@ -1,7 +1,7 @@
|
|
|
"use client";
|
|
|
|
|
|
import React, { ReactNode, useCallback, useEffect, useState } from "react";
|
|
|
-import { get, post, del, put } from "../../lib/api";
|
|
|
+import { del, get, post } from "../../lib/api";
|
|
|
|
|
|
export interface Settings {
|
|
|
[key: string]: any;
|
|
|
@@ -33,21 +33,21 @@ export interface AppContextType {
|
|
|
queueConfig: QueueConfig | null;
|
|
|
watcherConfig: WatcherConfig | null;
|
|
|
datasets: string[] | null;
|
|
|
-
|
|
|
+
|
|
|
// Loading states
|
|
|
isLoading: boolean;
|
|
|
isInitialized: boolean;
|
|
|
-
|
|
|
+
|
|
|
// Errors
|
|
|
error: Error | null;
|
|
|
-
|
|
|
+
|
|
|
// Mutation functions
|
|
|
updateSetting: (key: string, value: any) => Promise<void>;
|
|
|
deleteSetting: (key: string) => Promise<void>;
|
|
|
updateDatasets: (datasets: DatasetsConfig) => Promise<void>;
|
|
|
updateQueueConfig: (config: QueueConfig) => Promise<void>;
|
|
|
updateWatcherConfig: (config: WatcherConfig) => Promise<void>;
|
|
|
-
|
|
|
+
|
|
|
// Refresh functions
|
|
|
refreshSettings: () => Promise<void>;
|
|
|
refreshDatasets: () => Promise<void>;
|
|
|
@@ -126,14 +126,26 @@ export function AppProvider({ children }: { children: ReactNode }) {
|
|
|
initializeData();
|
|
|
};
|
|
|
|
|
|
- window.addEventListener("settingsUpdate", handleSettingsUpdate as EventListener);
|
|
|
+ window.addEventListener(
|
|
|
+ "settingsUpdate",
|
|
|
+ handleSettingsUpdate as EventListener
|
|
|
+ );
|
|
|
window.addEventListener("taskUpdate", handleTaskUpdate as EventListener);
|
|
|
window.addEventListener("fileUpdate", handleFileUpdate as EventListener);
|
|
|
|
|
|
return () => {
|
|
|
- window.removeEventListener("settingsUpdate", handleSettingsUpdate as EventListener);
|
|
|
- window.removeEventListener("taskUpdate", handleTaskUpdate as EventListener);
|
|
|
- window.removeEventListener("fileUpdate", handleFileUpdate as EventListener);
|
|
|
+ window.removeEventListener(
|
|
|
+ "settingsUpdate",
|
|
|
+ handleSettingsUpdate as EventListener
|
|
|
+ );
|
|
|
+ window.removeEventListener(
|
|
|
+ "taskUpdate",
|
|
|
+ handleTaskUpdate as EventListener
|
|
|
+ );
|
|
|
+ window.removeEventListener(
|
|
|
+ "fileUpdate",
|
|
|
+ handleFileUpdate as EventListener
|
|
|
+ );
|
|
|
};
|
|
|
}, [initializeData]);
|
|
|
|