Remove vuex

This commit is contained in:
2022-02-10 15:49:21 +00:00
parent 8b0e368d58
commit c693625e34
21 changed files with 322 additions and 351 deletions

View File

@ -1,26 +1,28 @@
<script lang="ts">
import { mapState } from "pinia";
import { defineComponent } from "vue";
import { LOGOUT } from "./store/mutation-types";
import { useBudgetsStore } from "./stores/budgets";
import { useBudgetsStore } from "./stores/budget";
import { useAccountStore } from "./stores/budget-account";
import { useSessionStore } from "./stores/session";
import { useSettingsStore } from "./stores/settings";
export default defineComponent({
computed: {
loggedIn() {
return this.$store.state.Session.Token;
}
...mapState(useBudgetsStore, ["CurrentBudgetName"]),
...mapState(useSettingsStore, ["ExpandMenu", "ShowMenu"]),
...mapState(useSessionStore, ["LoggedIn"]),
},
methods: {
logout() {
this.$store.commit(LOGOUT);
useSessionStore().logout();
this.$router.push("/login")
},
toggleMenu() {
this.$store.commit("toggleMenu");
useSettingsStore().toggleMenu();
},
toggleMenuSize() {
this.$store.commit("toggleMenuSize");
useSettingsStore().toggleMenuSize();
}
},
beforeCreate() {
@ -36,12 +38,19 @@ export default defineComponent({
sessionStore.User = restoredState.Session.User;
sessionStore.Token = restoredState.Session.Token;
for (const budget of restoredState.Budgets || []) {
console.log("UIAE", sessionStore.Budgets, budget)
sessionStore.Budgets.set(budget[0], budget[1]);
}
const budgetsStore = useBudgetsStore();
budgetsStore.CurrentBudgetID = restoredState.CurrentBudgetID;
const accountStore = useAccountStore();
accountStore.CurrentAccountID = restoredState.CurrentAccountID;
for (const account of restoredState.Accounts || []) {
accountStore.Accounts.set(account[0], account[1]);
}
const settingsStore = useSettingsStore();
settingsStore.ShowMenu = restoredState.ShowMenu;
settingsStore.ExpandMenu = restoredState.ExpandMenu;
@ -55,18 +64,18 @@ export default defineComponent({
<span class="flex-1 font-bold text-5xl -my-3 hidden md:inline" @click="toggleMenuSize"></span>
<span class="flex-1 font-bold text-5xl -my-3 md:hidden" @click="toggleMenu"></span>
<span class="flex-1">{{ $store.getters.CurrentBudgetName }}</span>
<span class="flex-1">{{ CurrentBudgetName }}</span>
<div class="flex flex-1 flex-row justify-end -mx-4">
<router-link class="mx-4" v-if="loggedIn" to="/dashboard">Dashboard</router-link>
<router-link class="mx-4" v-if="!loggedIn" to="/login">Login</router-link>
<a class="mx-4" v-if="loggedIn" @click="logout">Logout</a>
<router-link class="mx-4" v-if="LoggedIn" to="/dashboard">Dashboard</router-link>
<router-link class="mx-4" v-if="!LoggedIn" to="/login">Login</router-link>
<a class="mx-4" v-if="LoggedIn" @click="logout">Logout</a>
</div>
</div>
<div class="flex flex-col md:flex-row flex-1">
<div
:class="[$store.state.ExpandMenu ? 'md:w-72' : 'md:w-36', $store.state.ShowMenu ? '' : 'hidden']"
:class="[ExpandMenu ? 'md:w-72' : 'md:w-36', ShowMenu ? '' : 'hidden']"
class="md:block flex-shrink-0 w-full"
>
<router-view name="sidebar"></router-view>