diff --git a/netmanager-app/app/(authenticated)/grids/[id]/page.tsx b/netmanager-app/app/(authenticated)/grids/[id]/page.tsx index 9bb8950ef3..5bbeae6e0d 100644 --- a/netmanager-app/app/(authenticated)/grids/[id]/page.tsx +++ b/netmanager-app/app/(authenticated)/grids/[id]/page.tsx @@ -1,8 +1,8 @@ "use client"; -import { useState } from "react"; -import { useRouter } from "next/navigation"; -import { ChevronLeft, Copy } from "lucide-react"; +import { useEffect, useState } from "react"; +import { useParams, useRouter } from "next/navigation"; +import { ChevronLeft, Copy, Loader2 } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { @@ -17,9 +17,12 @@ import { Label } from "@/components/ui/label"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { GridSitesTable } from "@/components/grids/grid-sites"; import { DateRangePicker } from "@/components/grids/date-range-picker"; +import { useGridDetails } from "@/core/hooks/useGrids"; export default function GridDetailsPage() { const router = useRouter(); + const { id } = useParams(); + const { gridDetails, isLoading, error } = useGridDetails(id.toString()); const [gridData, setGridData] = useState({ name: "gambia", id: "673cf5b9328bd600130351c4", @@ -28,6 +31,16 @@ export default function GridDetailsPage() { description: "", }); + useEffect(() => { + setGridData({ + ...gridDetails, + name: gridDetails.name, + visibility: gridDetails.visibility, + administrativeLevel: gridDetails.admin_level, + description: gridDetails.description, + }); + }, [gridDetails]); + const handleCopyToClipboard = (text: string) => { navigator.clipboard.writeText(text); }; @@ -40,6 +53,14 @@ export default function GridDetailsPage() { // Save changes }; + if (isLoading) { + return ( +