useIsLoadingStore.js 953 Bytes
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
    };
});