diff --git a/src/app/_components/AllCountries.tsx b/src/app/_components/AllCountries.tsx index 437c0d6..24010ec 100644 --- a/src/app/_components/AllCountries.tsx +++ b/src/app/_components/AllCountries.tsx @@ -1,3 +1,4 @@ +import { deleteCountry } from "~/server/actions/deleteCountry"; import { db } from "~/server/db"; export default async function AllCountries() { @@ -6,7 +7,12 @@ export default async function AllCountries() {
{country.name}
+{country.name}
+ +{name}
; -} diff --git a/src/app/_components/admin/CreateCountryForm.tsx b/src/app/_components/admin/CreateCountryForm.tsx index 1b784ef..f87a4d7 100644 --- a/src/app/_components/admin/CreateCountryForm.tsx +++ b/src/app/_components/admin/CreateCountryForm.tsx @@ -1,7 +1,8 @@ +"use client"; import { Input } from "~/components/ui/input"; import { addCountry } from "~/server/actions/createCountry"; import SubmitButton from "../SubmitButton"; -import { useActionState, useRef } from "react"; +import { useRef } from "react"; const initialState = { name: "" as string, diff --git a/src/server/actions/createCountry.ts b/src/server/actions/createCountry.ts index 5e38297..ba19122 100644 --- a/src/server/actions/createCountry.ts +++ b/src/server/actions/createCountry.ts @@ -9,7 +9,6 @@ type NewCountry = { }; export const addCountry = async (formData: FormData) => { - "use server"; const newCountry: NewCountry = { name: (formData.get("name") as string).toLowerCase(), }; diff --git a/src/server/actions/deleteCountry.ts b/src/server/actions/deleteCountry.ts new file mode 100644 index 0000000..1e5d7fe --- /dev/null +++ b/src/server/actions/deleteCountry.ts @@ -0,0 +1,11 @@ +"use server"; + +import { eq } from "drizzle-orm"; +import { db } from "../db"; +import { countries } from "../db/schema"; +import { revalidatePath } from "next/cache"; + +export async function deleteCountry(id: string) { + await db.delete(countries).where(eq(countries.id, id)); + revalidatePath("/"); +}