diff --git a/web/src/dialogs/CreateCategory.vue b/web/src/dialogs/CreateCategory.vue
index d8b309e..6909dc7 100644
--- a/web/src/dialogs/CreateCategory.vue
+++ b/web/src/dialogs/CreateCategory.vue
@@ -3,21 +3,22 @@ import { computed, ref } from 'vue';
import Modal from '../components/Modal.vue';
import { useAccountStore } from '../stores/budget-account';
import Input from '../components/Input.vue';
-import Checkbox from '../components/Checkbox.vue';
-import { useRouter } from 'vue-router';
-import { useBudgetsStore } from '../stores/budget';
+import { useCategoryStore } from '../stores/category';
-const router = useRouter();
-const categoryStore = null;
+const categoryStore = useCategoryStore();
+
+const props = defineProps<{
+ categoryGroup: string
+}>();
const categoryName = ref("");
const error = ref("");
function createCategory(e : {cancel:boolean}) : boolean {
- error.value = "";
-// categoryStore.CreateCategory(CurrentAccount.value?.ID ?? "", accountName.value, accountOnBudget.value, accountOpen.value);
+ error.value = "";
+ categoryStore.CreateCategory(props.categoryGroup, categoryName.value);
- return true;
+ return true;
}
@@ -30,6 +31,9 @@ function createCategory(e : {cancel:boolean}) : boolean {
+
+
+ Parent: {{ categoryGroup }}
+
{{ (getGroupState(group) ? "−" : "+") + " " + group.Name }}
-
+
;
CurrentAccountID: string | null;
- Categories: Map;
Months: Map>>;
Available: number,
OverspentLastMonth: number,
@@ -31,15 +31,6 @@ interface NullDate {
Time: Date;
}
-export interface Category {
- ID: string;
- Group: string;
- Name: string;
- AvailableLastMonth: number;
- Assigned: number;
- Activity: number;
-}
-
interface BudgetedAmounts {
Assigned: number,
Deassigned: number,
@@ -54,7 +45,6 @@ export const useAccountStore = defineStore("budget/account", {
Months: new Map>>(),
Available: 0,
OverspentLastMonth: 0,
- Categories: new Map(),
Assignments: [],
}),
getters: {
diff --git a/web/src/stores/budget.ts b/web/src/stores/budget.ts
index fe94d29..a1b9019 100644
--- a/web/src/stores/budget.ts
+++ b/web/src/stores/budget.ts
@@ -1,6 +1,7 @@
import { defineStore } from "pinia";
import { GET, POST } from "../api";
import { useAccountStore } from "./budget-account";
+import { useCategoryStore } from "./category";
import { Budget, useSessionStore } from "./session";
interface State {
@@ -62,8 +63,10 @@ export const useBudgetsStore = defineStore("budget", {
);
accounts.Accounts.set(account.ID, account);
}
+
+ const categories = useCategoryStore();
for (const category of response.Categories || []) {
- accounts.Categories.set(category.ID, category);
+ categories.Categories.set(category.ID, category);
}
},
},