From 37ef1ab2f544a05b5878c5bdaafd37155a054289 Mon Sep 17 00:00:00 2001
From: Vidhu Kant Sharma <vidhukant@vidhukant.com>
Date: Sun, 3 Dec 2023 22:16:22 +0530
Subject: added invoice edit page

---
 src/views/EditInvoice.vue | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 src/views/EditInvoice.vue

(limited to 'src/views/EditInvoice.vue')

diff --git a/src/views/EditInvoice.vue b/src/views/EditInvoice.vue
new file mode 100644
index 0000000..983e9ef
--- /dev/null
+++ b/src/views/EditInvoice.vue
@@ -0,0 +1,47 @@
+<script setup lang="ts">
+import { ref, toRaw, onMounted } from 'vue'
+import { useRoute } from "vue-router"
+import { useToast } from 'vue-toast-notification'
+import axios from 'axios'
+
+import Invoice from "./../classes/invoice"
+
+import invoiceHeader from './../components/invoice_header.vue'
+import itemSelector from './../components/item_selector.vue'
+
+const toast = useToast({
+  position: 'top-right'
+})
+
+const route = useRoute()
+
+const invoice = ref(new Invoice())
+const isLoading = ref(true)
+
+const getInvoice = async () => {
+  isLoading.value = true
+
+  try {
+    const r = await axios.get(`/invoice/${route.params.id}`)
+    invoice.value = r.data.data
+  } catch (err) {
+    toast.error('An unhandled exception occoured. Please check logs')
+    console.error(err)
+  }
+
+  isLoading.value = false
+}
+
+const refreshItems = () => {
+   toast.success("Item was added but what happens after that hasn't been implemented yet!")
+}
+
+onMounted(() => {
+  getInvoice()
+})
+</script>
+
+<template>
+  <invoiceHeader :invoice="invoice" />
+  <itemSelector :invoiceId="invoice.ID" @added="refreshItems()"/>
+</template>
-- 
cgit v1.2.3

