UNPKG

v-dashkit

Version:

This template should help get you started developing with Vue 3 in Vite.

51 lines (50 loc) 1.79 kB
import { ref as s, computed as v } from "vue"; import { defineStore as g } from "pinia"; import { useI18n as d } from "vue-i18n"; import { changeLocale as b } from "@formkit/vue"; const y = g("auth", () => { const a = s(null), l = s(), o = s([]), r = s([]), c = (e) => { e && (a.value = e, o.value = e.sideBar, localStorage.setItem("user", JSON.stringify(e.user)), localStorage.setItem("roles", JSON.stringify(e.roles)), localStorage.setItem("sidebar", JSON.stringify(e.sideBar)), localStorage.setItem("token", e.loginInfo.accessToken)); }, n = (e) => e.map((t) => (t.items && (t.items.length ? t.items = n(t.items) : delete t.items), t)); return { loginHandler: a, sidebarRef: o, userRef: l, userRolesRef: r, saveLoginData: c, init: () => { const e = localStorage.getItem("user"), t = localStorage.getItem("sidebar"), u = localStorage.getItem("roles"); if (!e || !t || !u) return; const m = JSON.parse(e), S = JSON.parse(t), f = JSON.parse(u); o.value = n(S), l.value = m, r.value = f; } }; }), J = g("language", () => { const a = s(), l = s(!1), o = d(), r = { en: { label: "label" }, ar: { label: "labelAr" } }, c = v(() => r[o.locale.value]), n = () => { localStorage.getItem("isRtl") == "true" && i(); }, i = () => { var e; (e = document.querySelector("body")) == null || e.classList.toggle("rtl"), l.value = !l.value, o.locale.value = l.value ? "ar" : "en", localStorage.setItem("isRtl", l.value.toString()), b(o.locale.value), setTimeout(() => { a.value && a.value.setFormkitLocale(o.locale.value); }, 100); }; return { isRtl: l, localeSetterComponentRef: a, keyHelpers: c, toggleRtl: i, init: n }; }); export { y as a, J as u };