import { CreateOrganization, SignIn } from "@clerk/tanstack-start"; import { getAuth } from "@clerk/tanstack-start/server"; import { createFileRoute, Link, RouteApi, useRouter, } from "@tanstack/react-router"; import { createServerFn, useServerFn } from "@tanstack/start"; import { Button, Form, Input, Modal } from "antd"; import { set } from "lodash"; import { WithId } from "mongodb"; import { useState } from "react"; import GeneralHeader from "~/components/GeneralHeader"; import { getServerContext } from "~/db/getdb"; import { Application } from "~/db/schema"; const fetchApps = createServerFn("GET", async (_, ctx) => { const { db, user } = await getServerContext(); const apps = db .collection("apps") .find({ owner: user.userId }) .toArray(); return apps; }); const createApp = createServerFn("POST", async (appData: Application) => { const { db, user } = await getServerContext(); const apps = db .collection("apps") .insertOne({ ...appData, owner: user.userId }); return apps; }); const deleteApp = createServerFn("POST", async (appData: WithId) => { const { db, user } = await getServerContext(); const apps = db .collection("apps") .deleteOne({ _id: appData._id }); return apps; }); export const Route = createFileRoute("/_authed/dashboard")({ component: Dashboard, loader: () => { return fetchApps(); }, }); function Dashboard() { const apps = Route.useLoaderData(); const router = useRouter(); const addApplication = useServerFn(createApp); const [isModalVisible, setIsModalVisible] = useState(false); async function add() {} const [form] = Form.useForm(); return ( <> setIsModalVisible(false)} open={isModalVisible} onOk={() => form.submit()} >
{ addApplication({ displayName: data.displayName, owner: "ToBeReplaced", ownerType: "USER", }).then(() => { setIsModalVisible(false); router.invalidate(); }); }} >

Apps

    {apps.map((app) => (
  • {app.displayName ?? "New App asdfasdf"}
  • ))}
); }