Skip to content
Snippets Groups Projects
Commit 41f82804 authored by JunGu Kang's avatar JunGu Kang
Browse files

View 이동시 Loading 추가

parent 3559c954
Branches #5
No related tags found
2 merge requests!37Deploy,!7#5 View 이동시 Loading 추가
Pipeline #4113 passed
...@@ -9,11 +9,19 @@ ...@@ -9,11 +9,19 @@
<router-view></router-view> <router-view></router-view>
</v-container> </v-container>
</v-content> </v-content>
<v-overlay
:value="isPageLoading"
>
<v-progress-circular
indeterminate
size="64"
></v-progress-circular>
</v-overlay>
</v-app> </v-app>
</template> </template>
<script> <script>
import { mapGetters, mapActions } from 'vuex'; import { mapState, mapGetters, mapActions } from 'vuex';
import NavigationBar from '@/components/NavigationBar.vue'; import NavigationBar from '@/components/NavigationBar.vue';
import NavigationDrawer from '@/components/NavigationDrawer.vue'; import NavigationDrawer from '@/components/NavigationDrawer.vue';
...@@ -27,6 +35,9 @@ export default { ...@@ -27,6 +35,9 @@ export default {
}, },
computed: { computed: {
...mapState([
'isPageLoading',
]),
...mapGetters([ ...mapGetters([
'isLogin', 'isLogin',
]), ]),
......
...@@ -27,6 +27,8 @@ const router = new VueRouter({ ...@@ -27,6 +27,8 @@ const router = new VueRouter({
}); });
router.beforeEach(async (to, from, next) => { router.beforeEach(async (to, from, next) => {
Store.commit('setPageStartLoading');
const res = await fetch(APISetting.endpoints.auth.check, APISetting.settings.get); const res = await fetch(APISetting.endpoints.auth.check, APISetting.settings.get);
if (res.status === 200) { if (res.status === 200) {
const json = await res.json(); const json = await res.json();
...@@ -38,4 +40,8 @@ router.beforeEach(async (to, from, next) => { ...@@ -38,4 +40,8 @@ router.beforeEach(async (to, from, next) => {
next(); next();
}); });
router.afterEach(() => {
Store.commit('setPageFinishLoading');
});
export default router; export default router;
...@@ -5,6 +5,7 @@ Vue.use(Vuex); ...@@ -5,6 +5,7 @@ Vue.use(Vuex);
export default new Vuex.Store({ export default new Vuex.Store({
state: { state: {
isPageLoading: false,
isNavDrawerVisible: true, isNavDrawerVisible: true,
loginUser: null, loginUser: null,
}, },
...@@ -12,6 +13,12 @@ export default new Vuex.Store({ ...@@ -12,6 +13,12 @@ export default new Vuex.Store({
isLogin: state => (state.loginUser !== null), isLogin: state => (state.loginUser !== null),
}, },
mutations: { mutations: {
setPageStartLoading(state) {
state.isPageLoading = true;
},
setPageFinishLoading(state) {
state.isPageLoading = false;
},
toggleNavDrawer(state) { toggleNavDrawer(state) {
state.isNavDrawerVisible = !state.isNavDrawerVisible; state.isNavDrawerVisible = !state.isNavDrawerVisible;
}, },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment