From 81e6868c8e30710cb1cad7286fa754babae46359 Mon Sep 17 00:00:00 2001 From: Poonam Mehan Date: Thu, 5 Jun 2025 20:11:00 +0000 Subject: [PATCH] Created Store for state management, especially to track the ModelTraining status in Train component --- apps/web/app/dashboard/page.tsx | 68 ++------------------ apps/web/components/DashboardClient.tsx | 79 ++++++++++++++++++++++++ apps/web/components/Packs.tsx | 2 +- apps/web/components/Train.tsx | 21 +++++++ apps/web/package.json | 2 + apps/web/store/store.ts | 11 ++++ apps/web/store/trainModelSlice.ts | 27 ++++++++ bun.lockb | Bin 303848 -> 307400 bytes 8 files changed, 145 insertions(+), 65 deletions(-) create mode 100644 apps/web/components/DashboardClient.tsx create mode 100644 apps/web/store/store.ts create mode 100644 apps/web/store/trainModelSlice.ts diff --git a/apps/web/app/dashboard/page.tsx b/apps/web/app/dashboard/page.tsx index 31419879..56919027 100644 --- a/apps/web/app/dashboard/page.tsx +++ b/apps/web/app/dashboard/page.tsx @@ -1,78 +1,18 @@ -import { GenerateImage } from "@/components/GenerateImage"; -import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; -import { Train } from "@/components/Train"; -import { Packs } from "@/components/Packs"; -import { Camera } from "@/components/Camera"; import { redirect } from "next/navigation"; import { auth } from "@clerk/nextjs/server"; +import { DashboardClient } from "@/components/DashboardClient"; +import { getPacks } from '../../components/Packs'; export const dynamic = "force-dynamic"; export default async function DashboardPage() { const { userId } = await auth(); + const packs = await getPacks(); if (!userId) { redirect("/"); } return ( -
-
- - - - Camera - - - GenerateImages - - - Packs - - - TrainModel - - - -
- - - - - - - - - - - - -
-
-
-
+ ); } diff --git a/apps/web/components/DashboardClient.tsx b/apps/web/components/DashboardClient.tsx new file mode 100644 index 00000000..6db2c89e --- /dev/null +++ b/apps/web/components/DashboardClient.tsx @@ -0,0 +1,79 @@ +"use client" +import { GenerateImage } from "@/components/GenerateImage"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; +import { Train } from "@/components/Train"; +import { PacksClient } from "./PacksClient"; +import { Camera } from "@/components/Camera"; +import { Provider } from "react-redux"; +import store from "../store/store"; +import { TPack } from './PackCard'; + +export function DashboardClient({ packs }: { packs: TPack[]}){ + return( + +
+
+ + + + Camera + + + GenerateImages + + + Packs + + + TrainModel + + + +
+ + + + + + + + + + + + +
+
+
+
+
+ ) +} + + + + diff --git a/apps/web/components/Packs.tsx b/apps/web/components/Packs.tsx index 0325dc1d..eb042ba9 100644 --- a/apps/web/components/Packs.tsx +++ b/apps/web/components/Packs.tsx @@ -3,7 +3,7 @@ import { TPack } from "./PackCard"; import axios from "axios"; import { PacksClient } from "./PacksClient"; -async function getPacks(): Promise { +export async function getPacks(): Promise { const res = await axios.get(`${BACKEND_URL}/pack/bulk`); return res.data.packs ?? []; } diff --git a/apps/web/components/Train.tsx b/apps/web/components/Train.tsx index 7fb5b87d..675c6cc3 100644 --- a/apps/web/components/Train.tsx +++ b/apps/web/components/Train.tsx @@ -38,6 +38,9 @@ import { CarouselPrevious, } from "@/components/ui/carousel"; import JSZip from "jszip"; +import { useSelector, useDispatch } from "react-redux"; +import { setModelIdStore, setModelTrainingStore } from "../store/trainModelSlice"; +import { RootState } from "../store/store"; interface UploadedFile { name: string; @@ -64,6 +67,18 @@ export function Train() { const [uploadProgress, setUploadProgress] = useState(0); const [modelId, setModelId] = useState(null); const [trainingStatus, setTrainingStatus] = useState(null); + const modelIdStore = useSelector( (state: RootState) => state.trainModelReducer.modelIdStore ); + const modelTrainingStore = useSelector( (state: RootState) => state.trainModelReducer.modelTrainingStore ); + const dispatch = useDispatch(); + + // Check upon the component mount if any model is already training + useEffect( () => { + console.log("inside useEffect 1") + if(modelTrainingStore && modelIdStore){ + setModelId(modelIdStore); + setModelTraining(modelTrainingStore); + } + }, [] ) // Check training status periodically if we have a modelId useEffect(() => { @@ -94,7 +109,9 @@ export function Train() { toast.error("Model training failed. Please try again."); } setModelId(null); + dispatch(setModelIdStore(null)); setModelTraining(false); + dispatch(setModelTrainingStore(false)); } } } catch (error) { @@ -143,6 +160,7 @@ export function Train() { try { const token = await getToken(); setModelTraining(true); + dispatch(setModelTrainingStore(true)); const response = await axios.post(`${BACKEND_URL}/ai/training`, input, { headers: { Authorization: `Bearer ${token}` }, @@ -150,12 +168,14 @@ export function Train() { if (response.data.modelId) { setModelId(response.data.modelId); + dispatch(setModelIdStore(response.data.modelId)); toast.success( "Model training started! This will take approximately 20 minutes." ); } else { toast.error("Failed to start model training"); setModelTraining(false); + dispatch(setModelTrainingStore(false)); } } catch (error) { console.error("Training error:", error); @@ -164,6 +184,7 @@ export function Train() { "Failed to start model training" ); setModelTraining(false); + dispatch(setModelTrainingStore(false)); } } diff --git a/apps/web/package.json b/apps/web/package.json index 2469cc01..3833fa01 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -23,6 +23,7 @@ "@radix-ui/react-tabs": "^1.1.3", "@radix-ui/react-toast": "^1.2.6", "@radix-ui/react-tooltip": "^1.1.8", + "@reduxjs/toolkit": "^2.8.2", "@repo/ui": "*", "@stripe/stripe-js": "^5.6.0", "@tailwindcss/postcss": "^4.0.6", @@ -43,6 +44,7 @@ "react": "^19.0.0", "react-dom": "^19.0.0", "react-hot-toast": "^2.5.1", + "react-redux": "^9.2.0", "tailwind-merge": "^3.0.1", "tailwindcss": "^4.0.6", "tailwindcss-animate": "^1.0.7" diff --git a/apps/web/store/store.ts b/apps/web/store/store.ts new file mode 100644 index 00000000..430f851c --- /dev/null +++ b/apps/web/store/store.ts @@ -0,0 +1,11 @@ +import { configureStore } from "@reduxjs/toolkit"; +import trainModelReducer from "./trainModelSlice"; + +const store = configureStore({ + reducer: { + trainModelReducer: trainModelReducer + } +}) + +export default store; +export type RootState = ReturnType; \ No newline at end of file diff --git a/apps/web/store/trainModelSlice.ts b/apps/web/store/trainModelSlice.ts new file mode 100644 index 00000000..739e01c3 --- /dev/null +++ b/apps/web/store/trainModelSlice.ts @@ -0,0 +1,27 @@ +import { createSlice, PayloadAction } from "@reduxjs/toolkit"; + +type initialStateType = { + modelIdStore: null|string , + modelTrainingStore: boolean +} + +const initialState: initialStateType = { + modelIdStore: null, + modelTrainingStore: false +} + +const trainModelSlice = createSlice({ + name: 'trainModelSlice', + initialState: initialState, + reducers: { + setModelIdStore: ( state, action: PayloadAction ) => { + state.modelIdStore = action.payload + }, + setModelTrainingStore: (state, action: PayloadAction) => { + state.modelTrainingStore = action.payload + } + } +}) + +export default trainModelSlice.reducer; +export const { setModelIdStore, setModelTrainingStore } = trainModelSlice.actions; \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 90f6882e6feea26742dda0c36ac41b512571ffb7..f17e74715c89c268c753cc82eb4b19be9885ac2c 100755 GIT binary patch delta 61364 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 delta 59073 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