akkoma-fe/src/components/settings_modal/settings_modal.js

43 lines
1.2 KiB
JavaScript
Raw Normal View History

import Modal from 'src/components/modal/modal.vue'
import PanelLoading from 'src/components/panel_loading/panel_loading.vue'
import AsyncComponentError from 'src/components/async_component_error/async_component_error.vue'
import getResettableAsyncComponent from 'src/services/resettable_async_component.js'
2020-05-03 14:36:12 +00:00
const SettingsModal = {
components: {
Modal,
SettingsModalContent: getResettableAsyncComponent(
() => import('./settings_modal_content.vue'),
{
loading: PanelLoading,
error: AsyncComponentError,
2020-05-25 13:32:32 +00:00
delay: 0
}
)
2020-05-03 14:36:12 +00:00
},
methods: {
closeModal () {
this.$store.dispatch('closeSettingsModal')
},
peekModal () {
this.$store.dispatch('togglePeekSettingsModal')
}
},
2020-05-03 14:36:12 +00:00
computed: {
currentSaveStateNotice () {
return this.$store.state.interface.settings.currentSaveStateNotice
},
2020-05-03 14:36:12 +00:00
modalActivated () {
return this.$store.state.interface.settingsModalState !== 'hidden'
},
modalOpenedOnce () {
return this.$store.state.interface.settingsModalLoaded
},
modalPeeked () {
return this.$store.state.interface.settingsModalState === 'minimized'
2020-05-03 14:36:12 +00:00
}
2020-05-25 00:43:55 +00:00
}
2020-05-03 14:36:12 +00:00
}
export default SettingsModal