useIsLoadingStore.js
953 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { defineStore } from 'pinia';
import { ref } from 'vue';
import { useI18n } from 'vue-i18n';
export const useIsLoadingStore = defineStore('isloading', () => {
const i18n = useI18n();
const isLoading = ref(false);
const setIsLoading = (val) => {
isLoading.value = val;
};
const loadingMessage = ref(i18n.t('modelloading'));
const setLoadingText = (val = 'model') => {
switch (val) {
case 'model':
loadingMessage.value = i18n.t('modelloading');
break;
case 'trimline':
loadingMessage.value = i18n.t('trimlineloading');
break;
case 'aligner':
loadingMessage.value = i18n.t('alignerloading');
break;
default:
break;
}
};
return {
loadingMessage,
isLoading,
setIsLoading,
setLoadingText
};
});