aboutsummaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/invoice-generator.tsx15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/components/invoice-generator.tsx b/src/components/invoice-generator.tsx
index 3389c25..792dfbc 100644
--- a/src/components/invoice-generator.tsx
+++ b/src/components/invoice-generator.tsx
@@ -9,9 +9,11 @@ import {
SubmitHandler,
} from "react-hook-form";
import { Input } from "./ui/input";
-import React from "react";
+import React, { useActionState } from "react";
import { cn } from "@/utils/cn";
import { Button } from "./ui/button";
+import { generateInvoiceAction } from "@/lib/actions";
+import { generateInvoice } from "@/lib/generate";
const defaultItem = {
description: "",
@@ -45,8 +47,17 @@ export const InvoiceGenerator = () => {
const lineItems = useWatch({ control, name: "line_items" });
const currency = watch("currency", "USD");
- const onSubmit: SubmitHandler<Invoice> = (data) => {
+ const onSubmit: SubmitHandler<Invoice> = async (data) => {
console.log(data);
+ const blob = await generateInvoice(data);
+ const a = document.createElement("a");
+ a.href = URL.createObjectURL(blob);
+ a.download = "invoice.pdf";
+ document.body.appendChild(a);
+ a.click();
+
+ document.body.removeChild(a);
+ a.remove();
};
return (