Add CreateCategory
This commit is contained in:
parent
77de2a833e
commit
b2542fa6d1
49
web/src/dialogs/CreateCategory.vue
Normal file
49
web/src/dialogs/CreateCategory.vue
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<script lang="ts" setup>
|
||||||
|
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';
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
|
const categoryStore = null;
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<Modal
|
||||||
|
button-text="Create Category"
|
||||||
|
@submit="createCategory"
|
||||||
|
>
|
||||||
|
<template #placeholder>
|
||||||
|
<span class="ml-2">+</span>
|
||||||
|
</template>
|
||||||
|
<div class="mt-2 px-7 py-3">
|
||||||
|
<Input
|
||||||
|
v-model="categoryName"
|
||||||
|
class="border-2 dark:border-gray-700"
|
||||||
|
type="text"
|
||||||
|
placeholder="Category name"
|
||||||
|
required
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
v-if="error != ''"
|
||||||
|
class="dark:text-red-300 text-red-700"
|
||||||
|
>
|
||||||
|
{{ error }}
|
||||||
|
</div>
|
||||||
|
</Modal>
|
||||||
|
</template>
|
@ -6,6 +6,7 @@ import { Category, useAccountStore } from "../stores/budget-account";
|
|||||||
import { useSessionStore } from "../stores/session";
|
import { useSessionStore } from "../stores/session";
|
||||||
import Input from "../components/Input.vue";
|
import Input from "../components/Input.vue";
|
||||||
import { POST } from "../api";
|
import { POST } from "../api";
|
||||||
|
import CreateCategory from "../dialogs/CreateCategory.vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
budgetid: string,
|
budgetid: string,
|
||||||
@ -158,7 +159,9 @@ const budgeted = computed(() => accountStore.GetBudgeted(selected.value.Year, se
|
|||||||
<span
|
<span
|
||||||
class="text-lg font-bold mt-2"
|
class="text-lg font-bold mt-2"
|
||||||
@click="toggleGroup(group)"
|
@click="toggleGroup(group)"
|
||||||
>{{ (getGroupState(group) ? "−" : "+") + " " + group.Name }}</span>
|
>{{ (getGroupState(group) ? "−" : "+") + " " + group.Name }}
|
||||||
|
<CreateCategory />
|
||||||
|
</span>
|
||||||
<Currency
|
<Currency
|
||||||
:value="group.AvailableLastMonth"
|
:value="group.AvailableLastMonth"
|
||||||
class="hidden lg:block mt-2"
|
class="hidden lg:block mt-2"
|
||||||
@ -214,5 +217,6 @@ const budgeted = computed(() => accountStore.GetBudgeted(selected.value.Year, se
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
|
<button class="px-2 py-0 w-full bg-slate-400 rounded-md mt-4">Add Group</button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user