diff --git a/src/app/_components/App.tsx b/src/app/_components/App.tsx
new file mode 100644
index 0000000..7eca911
--- /dev/null
+++ b/src/app/_components/App.tsx
@@ -0,0 +1,15 @@
+import { Suspense } from "react";
+import CreateWine from "./CreateWine";
+import WineCards from "./WineCards";
+
+export default function App() {
+ return (
+
+
Yes hello
+ Loading....}>
+
+
+
+
+ );
+}
diff --git a/src/app/_components/CreateWine.tsx b/src/app/_components/CreateWine.tsx
index dca23e7..afbb541 100644
--- a/src/app/_components/CreateWine.tsx
+++ b/src/app/_components/CreateWine.tsx
@@ -1,54 +1,36 @@
-"use client";
-import { ChangeEvent, FormEvent, useEffect, useState } from "react";
-import { addWine } from "../../server/actions/addWine";
-import { getProducers } from "../../server/actions/allProducers";
-import { Producer } from "~/types/types";
+import { addWine } from "~/server/actions/addWine";
+import { getProducers } from "~/server/actions/allProducers";
+
+type Wine = {
+ name: string;
+ producer: string;
+};
+
+async function submitWine(formData: FormData): Promise {
+ "use server";
+ const wine: Wine = {
+ name: formData.get("name") as string,
+ producer: formData.get("producer") as string,
+ };
+
+ addWine(wine);
+}
+const producers = await getProducers();
export default function CreateWine() {
- const [name, setName] = useState("");
- const [producer, setProducer] = useState("");
- const [allProducers, setAllProducers] = useState([]);
-
- useEffect(() => {
- const fetchProducers = async () => {
- try {
- const producers = await getProducers();
- setAllProducers(producers);
- } catch (error) {
- console.error("Failed to fetch producers:", error);
- }
- };
- fetchProducers();
- }, []);
-
- const handleName = (event: ChangeEvent) => {
- setName(event.target.value);
- };
- const handleProducer = (event: ChangeEvent) => {
- setProducer(event.target.value);
- };
- const handleAdd = async (event: FormEvent) => {
- event.preventDefault();
- console.log(producer);
- addWine(producer, name);
- setName("");
- };
return (
-
-
-
+
);
}
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 9e52930..1fd1db5 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,19 +1,14 @@
import { Suspense } from "react";
import CreateWine from "./_components/CreateWine";
import WineCards from "./_components/WineCards";
+import App from "./_components/App";
export const dynamic = "force-dynamic";
export default async function HomePage() {
return (
-
-
Yes hello
- Loading....}>
-
-
-
-
+
);
}
diff --git a/src/server/actions/addWine.ts b/src/server/actions/addWine.ts
index 0fa1113..630f139 100644
--- a/src/server/actions/addWine.ts
+++ b/src/server/actions/addWine.ts
@@ -2,7 +2,13 @@
import { db } from '../db/index'
import { wines } from '../db/schema'
-export const addWine = async (producer: string, name: string) => {
+type wine = {
+ name: string;
+ producer: string;
+}
+
+export const addWine = async (wine: wine) => {
+ const { name, producer } = wine;
await db.insert(wines).values({
producer: producer,
name: name,