import type { TransitionSetting } from '/#/config'

import { computed } from 'vue'

import { useAppStore } from '/@/store/modules/app'

export function useTransitionSetting() {
    const appStore = useAppStore()

    const getEnableTransition = computed(() => appStore.getTransitionSetting?.enable)

    const getOpenNProgress = computed(() => appStore.getTransitionSetting?.openNProgress)

    const getOpenPageLoading = computed((): boolean => {
        return !!appStore.getTransitionSetting?.openPageLoading
    })

    const getBasicTransition = computed(() => appStore.getTransitionSetting?.basicTransition)

    function setTransitionSetting(transitionSetting: Partial<TransitionSetting>) {
        appStore.setProjectConfig({ transitionSetting })
    }
    return {
        setTransitionSetting,

        getEnableTransition,
        getOpenNProgress,
        getOpenPageLoading,
        getBasicTransition,
    }
}
