123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 |
- /* import { defineStore } from 'pinia';
- import i18n from '@/i18n';
- import appSetting from '@/app-setting';
- import app from './modules/app'
- import permission from './modules/permission'
- import tagsView from './modules/tagsView'
- import * as user from './modules/user'
- import getters from './getters'
- export const useAppStore = defineStore('app', {
- state: () => ({
- isDarkMode: false,
- mainLayout: 'app',
- theme: 'light',
- menu: 'horizontal',
- layout: 'full',
- rtlClass: 'ltr',
- animation: '',
- navbar: 'navbar-sticky',
- locale: 'zh',
- sidebar: false,
- languageList: [
- { code: 'zh', name: 'Chinese' },
- { code: 'en', name: 'English' },
- ],
- isShowMainLoader: true,
- semidark: false,
- app,
- permission,
- tagsView,
- user
- }),
- actions: {
- setMainLayout(payload: any = null) {
- this.mainLayout = payload; //app , auth
- },
- toggleTheme(payload: any = null) {
- payload = payload || this.theme; // light|dark|system
- localStorage.setItem('theme', payload);
- this.theme = payload;
- if (payload == 'light') {
- this.isDarkMode = false;
- }
- else if (payload == 'dark') {
- this.isDarkMode = true;
- } else if (payload == 'system') {
- if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
- this.isDarkMode = true;
- } else {
- this.isDarkMode = false;
- }
- }
- if (this.isDarkMode) {
- document.querySelector('body')?.classList.add('dark');
- } else {
- document.querySelector('body')?.classList.remove('dark');
- }
- },
- toggleMenu(payload: any = null) {
- payload = payload || this.menu; // vertical, collapsible-vertical, horizontal
- this.sidebar = false; // reset sidebar state
- localStorage.setItem('menu', payload);
- this.menu = payload;
- },
- toggleLayout(payload: any = null) {
- payload = payload || this.layout; // full, boxed-layout
- localStorage.setItem('layout', payload);
- this.layout = payload;
- },
- toggleRTL(payload: any = null) {
- payload = payload || this.rtlClass; // rtl, ltr
- localStorage.setItem('rtlClass', payload);
- this.rtlClass = payload;
- document.querySelector('html')?.setAttribute('dir', this.rtlClass || 'ltr');
- },
- toggleAnimation(payload: any = null) {
- payload = payload || this.animation; // animate__fadeIn, animate__fadeInDown, animate__fadeInUp, animate__fadeInLeft, animate__fadeInRight, animate__slideInDown, animate__slideInLeft, animate__slideInRight, animate__zoomIn
- payload = payload?.trim();
- localStorage.setItem('animation', payload);
- this.animation = payload;
- appSetting.changeAnimation();
- },
- toggleNavbar(payload: any = null) {
- payload = payload || this.navbar; // navbar-sticky, navbar-floating, navbar-static
- localStorage.setItem('navbar', payload);
- this.navbar = payload;
- },
- toggleSemidark(payload: any = null) {
- payload = payload || false;
- localStorage.setItem('semidark', payload);
- this.semidark = payload;
- },
- toggleLocale(payload: any = null) {
- payload = payload || this.locale;
- i18n.global.locale.value = payload;
- localStorage.setItem('i18n_locale', payload);
- this.locale = payload;
- if (this.locale?.toLowerCase() === 'ae') {
- this.toggleRTL('rtl');
- } else {
- this.toggleRTL('ltr');
- }
- },
- toggleSidebar(state: boolean = false) {
- this.sidebar = !this.sidebar;
- },
- toggleMainLoader(state: boolean = false) {
- this.isShowMainLoader = true;
- setTimeout(() => {
- this.isShowMainLoader = false;
- }, 500);
- },
- },
- getters,
- });
- */
- import { defineStore } from 'pinia';
- import i18n from '@/i18n';
- import appSetting from '@/app-setting';
- import app from './modules/app';
- import permission from './modules/permission';
- import tagsView from './modules/tagsView';
- import * as user from './modules/user';
- import getters from './getters';
- export const useAppStore = defineStore('app', {
- state: () => ({
- isDarkMode: false,
- mainLayout: 'app',
- theme: 'light',
- menu: 'horizontal',
- layout: 'full',
- rtlClass: 'ltr',
- animation: '',
- navbar: 'navbar-sticky',
- locale: 'zh',
- sidebar: false,
- languageList: [
- { code: 'zh', name: 'Chinese' },
- { code: 'en', name: 'English' },
- ],
- isShowMainLoader: true,
- semidark: false,
- app,
- permission,
- tagsView,
- user
- }),
- actions: {
- setMainLayout(payload: any = null) {
- this.mainLayout = payload; // app , auth
- },
- toggleTheme(payload: any = null) {
- payload = payload || this.theme; // light|dark|system
- localStorage.setItem('theme', payload);
- this.theme = payload;
- if (payload == 'light') {
- this.isDarkMode = false;
- } else if (payload == 'dark') {
- this.isDarkMode = true;
- } else if (payload == 'system') {
- if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
- this.isDarkMode = true;
- } else {
- this.isDarkMode = false;
- }
- }
- if (this.isDarkMode) {
- document.querySelector('body')?.classList.add('dark');
- } else {
- document.querySelector('body')?.classList.remove('dark');
- }
- },
- toggleMenu(payload: any = null) {
- payload = payload || this.menu; // vertical, collapsible-vertical, horizontal
- //this.sidebar = false; // reset sidebar state
- localStorage.setItem('menu', payload);
- this.menu = payload;
- },
- toggleLayout(payload: any = null) {
- payload = payload || this.layout; // full, boxed-layout
- localStorage.setItem('layout', payload);
- this.layout = payload;
- },
- toggleRTL(payload: any = null) {
- payload = payload || this.rtlClass; // rtl, ltr
- localStorage.setItem('rtlClass', payload);
- this.rtlClass = payload;
- document.querySelector('html')?.setAttribute('dir', this.rtlClass || 'ltr');
- },
- toggleAnimation(payload: any = null) {
- payload = payload || this.animation; // animate__fadeIn, animate__fadeInDown, animate__fadeInUp, animate__fadeInLeft, animate__fadeInRight, animate__slideInDown, animate__slideInLeft, animate__slideInRight, animate__zoomIn
- payload = payload?.trim();
- localStorage.setItem('animation', payload);
- this.animation = payload;
- appSetting.changeAnimation();
- },
- toggleNavbar(payload: any = null) {
- payload = payload || this.navbar; // navbar-sticky, navbar-floating, navbar-static
- localStorage.setItem('navbar', payload);
- this.navbar = payload;
- },
- toggleSemidark(payload: any = null) {
- payload = payload || false;
- localStorage.setItem('semidark', payload);
- this.semidark = payload;
- },
- toggleLocale(payload: any = null) {
- console.log(payload);
- payload = payload || this.locale;
- i18n.global.locale.value = payload;
- localStorage.setItem('i18n_locale', payload);
- this.locale = payload;
- if (this.locale?.toLowerCase() === 'ae') {
- this.toggleRTL('rtl');
- } else {
- this.toggleRTL('ltr');
- }
- },
- toggleSidebar(state: boolean = false) {
- this.sidebar = !this.sidebar;
- },
- toggleMainLoader(state: boolean = false) {
- this.isShowMainLoader = true;
- setTimeout(() => {
- this.isShowMainLoader = false;
- }, 500);
- },
- },
- getters,
- });
|