diff --git a/.eslintignore b/.eslintignore index 827344f..bd515ce 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,6 @@ */**.js */**.d.ts packages/*/dist -packages/*/lib \ No newline at end of file +packages/*/lib + +build/ \ No newline at end of file diff --git a/apps/webapp/.eslintignore b/apps/webapp/.eslintignore new file mode 100644 index 0000000..d298be1 --- /dev/null +++ b/apps/webapp/.eslintignore @@ -0,0 +1 @@ +public/ \ No newline at end of file diff --git a/apps/webapp/.eslintrc b/apps/webapp/.eslintrc index 9f1bc38..9a70110 100644 --- a/apps/webapp/.eslintrc +++ b/apps/webapp/.eslintrc @@ -5,7 +5,6 @@ { "files": ["*.ts", "*.tsx"], "rules": { - "@typescript-eslint/consistent-type-imports": [ "warn", { @@ -13,15 +12,15 @@ // during some autofixes, so easier to just turn it off "prefer": "type-imports", "disallowTypeAnnotations": true, - "fixStyle": "inline-type-imports" - } + "fixStyle": "inline-type-imports", + }, ], - + "import/no-duplicates": ["warn", { "prefer-inline": true }], // lots of undeclared vars, enable this rule if you want to clean them up - "turbo/no-undeclared-env-vars": "off" - } - } + "turbo/no-undeclared-env-vars": "off", + }, + }, ], - "ignorePatterns": [] + "ignorePatterns": ["public/"], } diff --git a/apps/webapp/app/components/dashboard/index.ts b/apps/webapp/app/components/dashboard/index.ts new file mode 100644 index 0000000..6e99c11 --- /dev/null +++ b/apps/webapp/app/components/dashboard/index.ts @@ -0,0 +1 @@ +export * from "./ingest"; diff --git a/apps/webapp/app/components/dashboard/ingest.tsx b/apps/webapp/app/components/dashboard/ingest.tsx new file mode 100644 index 0000000..d2ece62 --- /dev/null +++ b/apps/webapp/app/components/dashboard/ingest.tsx @@ -0,0 +1,47 @@ +import { PlusIcon } from "lucide-react"; +import { Button } from "../ui"; +import { Textarea } from "../ui/textarea"; +import { useState } from "react"; +import { z } from "zod"; +import { EpisodeType } from "@core/types"; + +export const IngestBodyRequest = z.object({ + episodeBody: z.string(), + referenceTime: z.string(), + type: z.enum([EpisodeType.Conversation, EpisodeType.Text]), // Assuming these are the EpisodeType values + source: z.string(), + spaceId: z.string().optional(), + sessionId: z.string().optional(), +}); + +export const Ingest = () => { + const [text, setText] = useState(""); + + return ( +
+
+ + + + +