import { useState } from "react";
import { createBrowserRouter, RouterProvider } from "react-router-dom";
import { collection, doc, writeBatch } from "firebase/firestore";
import { AppLayout } from "@/components/AppLayout";
import { Button } from "@/components/ui/button";
import { GroupsProvider } from "@/context/GroupsContext";
import { CONNECTORS_SEED } from "@/data/connectorsSeed";
import { db } from "@/lib/firebase";
import { CompartmentPage } from "@/pages/CompartmentPage";
import { GroupPage } from "@/pages/GroupPage";
import { HomePage } from "@/pages/Home";
import { PlaceholderPage } from "@/pages/PlaceholderPage";
import { NewPage } from "@/pages/NewPage";
const router = createBrowserRouter([
{
path: "/",
element: ,
children: [
{ index: true, element: },
{ path: "groups/:groupId", element: },
{
path: "groups/:groupId/compartments/:compartmentId",
element: ,
},
{ path: "search", element: },
{ path: "new", element: },
{ path: "account", element: },
{ path: "settings", element: },
],
},
]);
const CONNECTORS_COLLECTION = "connectors";
export function ConnectorsSeedControl() {
const [busy, setBusy] = useState(false);
const [notice, setNotice] = useState("");
async function insertConnectors() {
if (
!window.confirm(
`Insert ${CONNECTORS_SEED.length} new documents into Firestore collection "${CONNECTORS_COLLECTION}"? Each run creates new document IDs (duplicates if you run again).`,
)
) {
return;
}
setBusy(true);
setNotice("");
try {
const col = collection(db, CONNECTORS_COLLECTION);
const batch = writeBatch(db);
for (const row of CONNECTORS_SEED) {
batch.set(doc(col), { ...row });
}
await batch.commit();
setNotice(`Inserted ${CONNECTORS_SEED.length} rows.`);
} catch (e) {
setNotice(
e instanceof Error ? e.message : "Failed to write to Firestore.",
);
} finally {
setBusy(false);
}
}
return (
Local only: push rows from{" "}
connectorsSeed.ts into{" "}
{CONNECTORS_COLLECTION}.
{notice ? (
{notice}
) : null}
);
}
function App() {
return (
{/* {import.meta.env.DEV ? : null} */}
);
}
export default App;