Skip to content
Snippets Groups Projects
authStore.js 980 B
Newer Older
Sondre Malerud's avatar
Sondre Malerud committed
import { defineStore } from "pinia";
export const useAuthStore = defineStore("auth", {
  state: () => {
    return {
      token: "",
Sondre Malerud's avatar
Sondre Malerud committed
      account: {},
Sondre Malerud's avatar
Sondre Malerud committed
      profile: {},
Sondre Malerud's avatar
Sondre Malerud committed
      profiles: [],
      items: {ingredientList: [], suggestionList: []},
      fridgeItems: [],
Sondre Malerud's avatar
Sondre Malerud committed
    };
  },
  persist: {
    storage: localStorage
  },
  getters: {
    isLoggedIn() {
      return this.token.length > 0
    }
  },
  actions: {
    setToken(token) {
      this.token = token;
    },
Sondre Malerud's avatar
Sondre Malerud committed
    setAccount(account) {
      this.account = account;
Sondre Malerud's avatar
Sondre Malerud committed
    },
    logout() {
      this.$reset();
    },
    setProfile(profile) {
      this.profile = profile;
Sondre Malerud's avatar
Sondre Malerud committed
    },
    setProfiles(profiles) {
      this.profiles = profiles;
Sondre Malerud's avatar
Sondre Malerud committed
    },
    setItems(items) {
      this.items = items;
    },
    setItem(item) {
      this.items.push(item);
      this.fridgeItems = fridgeItems;
    },
    addItemToFridge(fridgeItem){
      this.fridgeItems.push(fridgeItem);
Sondre Malerud's avatar
Sondre Malerud committed
    }
  }
});