diff --git a/src/components/LogIn.vue b/src/components/LogIn.vue index dc2cb752fdb398217548ff2d465f5d32db15b932..646003df8d44af4bd215e3e92fd175502778ead4 100644 --- a/src/components/LogIn.vue +++ b/src/components/LogIn.vue @@ -113,6 +113,7 @@ export default { if (this.user.username && this.user.password) { this.$store.dispatch('auth/login', this.user).then( () => { + localStorage.setItem('cronJob', 0); this.$router.push('/home'); this.$parent.update(); } diff --git a/src/components/SideMenu.vue b/src/components/SideMenu.vue index 3e2d2b21fd7f0e3a2c9bdc7298aff07962a17562..e8edeec3e294947ae14464a4854bdf2d0263abe1 100644 --- a/src/components/SideMenu.vue +++ b/src/components/SideMenu.vue @@ -39,6 +39,7 @@ export default { logOut: function() { this.$store.dispatch('auth/logout').then( () => { + localStorage.setItem('cronJob', 0); this.$router.push('/login'); this.$parent.update(); }, diff --git a/src/components/Teachers.vue b/src/components/Teachers.vue index 2a325c6f2c0cccf22dd16999370151f9675a3ace..4a3c51a90af0fb61adb1f928d4a04a0263f15988 100644 --- a/src/components/Teachers.vue +++ b/src/components/Teachers.vue @@ -1,5 +1,6 @@ <template> <div class="content col-md-12"> + <h1>{{counter}}</h1> <h1>{{data}}</h1> </div> </template> @@ -9,25 +10,46 @@ export default { name: "Teachers", data(){ return{ - data: "Hello World" + data: "Placeholder", + counter: JSON.parse(localStorage.getItem('cronJob')), + cronJob: this.$crontab.addJob({ + name: 'counter', + interval: { + seconds: '/1', + }, + job: this.countUp + }) } }, created() { - this.get(); + this.getData(); + this.$crontab.execJob('counter'); }, methods:{ - get(){ - this.$store.dispatch('user/getHello').then( - () => { - this.data = this.$store.state.user.response; - }, - error => { - this.message = (error.response && error.response.data) || error.message || error.toString(); - } - ); + countUp () { + this.counter += 1 + if (this.counter >= 60){ + this.$crontab.deleteJob('counter'); + //alert("Geh nachhcause"); } + localStorage.setItem('cronJob', this.counter); + }, + getData () { + this.$store.dispatch('user/getHello').then( + () => { + this.data = this.$store.state.user.response; + }, + error => { + this.message = + (error.response && error.response.data) || + error.message || + error.toString(); + this.successful = false; + } + ); + } } } </script> diff --git a/src/main.js b/src/main.js index 886ba9ac392898ba2a8f6fe1aaec742f40de95c7..608442b014e90f72b33fe607f5dd84c18031bf0e 100644 --- a/src/main.js +++ b/src/main.js @@ -2,22 +2,24 @@ import Vue from 'vue' import App from './App.vue' import router from './router' -import store from './store/index'; +import store from './store/index' import BootstrapVue from "bootstrap-vue" import "bootstrap/dist/css/bootstrap.min.css" import "bootstrap-vue/dist/bootstrap-vue.css" +import VeeValidate from 'vee-validate' +import VueCrontab from 'vue-crontab' -import VeeValidate from 'vee-validate'; -import { library } from '@fortawesome/fontawesome-svg-core'; -import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'; -import { faHome, faUser, faUserPlus, faSignInAlt, faSignOutAlt } from '@fortawesome/free-solid-svg-icons'; +import { library } from '@fortawesome/fontawesome-svg-core' +import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome' +import { faHome, faUser, faUserPlus, faSignInAlt, faSignOutAlt } from '@fortawesome/free-solid-svg-icons' library.add(faHome, faUser, faUserPlus, faSignInAlt, faSignOutAlt); Vue.config.productionTip = false; +Vue.use(VueCrontab) Vue.use(BootstrapVue) -Vue.use(VeeValidate); +Vue.use(VeeValidate) Vue.component('font-awesome-icon', FontAwesomeIcon); new Vue({ diff --git a/src/services/auth.service.js b/src/services/auth.service.js index fe87078f40f1a9f18406d7f43d84ff1413557782..bde984551ea15e3db8e93a059d57f8f44d66df15 100644 --- a/src/services/auth.service.js +++ b/src/services/auth.service.js @@ -14,7 +14,6 @@ class AuthService { .then(response => { if (response.data.idToken) { localStorage.setItem('user', JSON.stringify(response.data)); - localStorage.setItem('cronJob', 0); } return response.data;