diff --git a/web-app/src/pages/VendorPage.vue b/web-app/src/pages/VendorPage.vue
new file mode 100644
index 0000000..bd13cf6
--- /dev/null
+++ b/web-app/src/pages/VendorPage.vue
@@ -0,0 +1,77 @@
+
+
+
+
+ {{ vendor.description }}
+
+
+
+
Transactions
+
+ Below is a list of all transactions recorded with this vendor.
+
+
fetchPage(pr.page)"
+ class="align-right"
+ />
+
+
+
+
diff --git a/web-app/src/pages/VendorsPage.vue b/web-app/src/pages/VendorsPage.vue
index 73f6de0..73641dc 100644
--- a/web-app/src/pages/VendorsPage.vue
+++ b/web-app/src/pages/VendorsPage.vue
@@ -7,7 +7,7 @@ import ButtonBar from '@/components/common/ButtonBar.vue'
import EditVendorModal from '@/components/EditVendorModal.vue'
import VendorCard from '@/components/VendorCard.vue'
import { showConfirm } from '@/util/alert'
-import { onMounted, ref, useTemplateRef, type Ref } from 'vue'
+import { nextTick, onMounted, ref, useTemplateRef, type Ref } from 'vue'
import { useRoute } from 'vue-router'
const route = useRoute()
@@ -27,6 +27,7 @@ async function loadVendors() {
async function addVendor() {
editedVendor.value = undefined
+ await nextTick()
const result = await editVendorModal.value?.show()
if (result === 'saved') {
await loadVendors()
@@ -35,6 +36,7 @@ async function addVendor() {
async function editVendor(vendor: TransactionVendor) {
editedVendor.value = vendor
+ await nextTick()
const result = await editVendorModal.value?.show()
if (result === 'saved') {
await loadVendors()
diff --git a/web-app/src/pages/home/AnalyticsModule.vue b/web-app/src/pages/home/AnalyticsModule.vue
index 7f17134..d07c2c9 100644
--- a/web-app/src/pages/home/AnalyticsModule.vue
+++ b/web-app/src/pages/home/AnalyticsModule.vue
@@ -1,21 +1,45 @@
-
-
+
+
diff --git a/web-app/src/router/index.ts b/web-app/src/router/index.ts
index 123a6f7..f1caea1 100644
--- a/web-app/src/router/index.ts
+++ b/web-app/src/router/index.ts
@@ -82,6 +82,11 @@ const router = createRouter({
component: () => import('@/pages/VendorsPage.vue'),
meta: { title: 'Vendors' },
},
+ {
+ path: 'vendors/:id',
+ component: () => import('@/pages/VendorPage.vue'),
+ meta: { title: 'Vendor' },
+ },
{
path: 'categories',
component: () => import('@/pages/CategoriesPage.vue'),