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

View 이동시 Loading 추가

parent 3559c954
No related branches found
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