@@ -19,6 +19,10 @@
+
+
Powered by Perseo
@@ -31,8 +35,8 @@
import Vue from 'vue'
import { Component, Watch, Prop } from 'vue-property-decorator'
- import {Store} from 'vuex'
- import { UserStore } from '@modules';
+ import { Store } from 'vuex'
+ import { UserStore } from '@modules'
import { GlobalStore } from '@modules'
@@ -43,9 +47,9 @@
})
export default class Drawer extends Vue {
public $q
- $t: any;
+ $t: any
- created () {
+ created() {
console.log('Drawer created...')
}
@@ -54,34 +58,36 @@
links = {
Dashboard: {
routes: [
- {route: '/', faIcon: 'fa fa-home', materialIcon: 'home', name: 'pages.home'},
- {route: '/signup', faIcon: 'fa fa-signup', materialIcon: 'login', name: 'pages.SignUp'},
- {route: '/signin', faIcon: 'fa fa-login', materialIcon: 'login', name: 'pages.SignIn'},
+ { route: '/', faIcon: 'fa fa-home', materialIcon: 'home', name: 'pages.home' },
+ { route: '/category', faIcon: 'fa fa-list-alt', materialIcon: 'category', name: 'pages.Category' },
+ { route: '/signup', faIcon: 'fa fa-registered', materialIcon: 'home', name: 'pages.SignUp' },
+ { route: '/signin', faIcon: 'fa fa-anchor', materialIcon: 'home', name: 'pages.SignIn' },
/* {route: '/vreg?idlink=aaa', faIcon: 'fa fa-login', materialIcon: 'login', name: 'pages.vreg'},*/
- ],
+ ],
show: true
},
Forms: {
routes: [
- {route: '/prec', faIcon: 'fa fa-search', materialIcon: 'search', name: 'pages.Test'},
- ],
+ { route: '/prec', faIcon: 'fa fa-search', materialIcon: 'search', name: 'pages.Test' },
+ ],
show: false
},
}
- get MenuCollapse () {
+ get MenuCollapse() {
return GlobalStore.state.menuCollapse
// return true
}
- get Username () {
+
+ get Username() {
return UserStore.state.username
}
- get Verificato () {
+ get Verificato() {
return UserStore.state.verifiedEmail
}
- get Email () {
+ get Email() {
return UserStore.state.email
}
@@ -91,7 +97,12 @@
}
}
-
diff --git a/src/layouts/drawer/menuOne.vue b/src/layouts/drawer/menuOne.vue
index 9f5d6d9..5c56e30 100644
--- a/src/layouts/drawer/menuOne.vue
+++ b/src/layouts/drawer/menuOne.vue
@@ -1,23 +1,24 @@
+
@@ -60,6 +61,11 @@
diff --git a/src/model/GlobalStore.ts b/src/model/GlobalStore.ts
index 1494f3d..c1e0f0d 100644
--- a/src/model/GlobalStore.ts
+++ b/src/model/GlobalStore.ts
@@ -8,6 +8,7 @@ export interface IGlobalState {
layoutNeeded: boolean
mobileMode: boolean
menuCollapse: boolean
+ leftDrawerOpen: boolean
posts: IPost[]
}
diff --git a/src/pages/dashboard/home.vue b/src/pages/dashboard/home.vue
deleted file mode 100644
index 69a226c..0000000
--- a/src/pages/dashboard/home.vue
+++ /dev/null
@@ -1,10 +0,0 @@
-
- Prova pagina
-
-
-
diff --git a/src/plugins/indexdb.js b/src/plugins/indexdb.js
new file mode 100644
index 0000000..9f322d5
--- /dev/null
+++ b/src/plugins/indexdb.js
@@ -0,0 +1,5 @@
+import VueIdb from 'vue-idb'
+
+export default ({ Vue }) => {
+ Vue.use(VueIdb)
+}
diff --git a/src/plugins/vue-idb.js b/src/plugins/vue-idb.js
new file mode 100644
index 0000000..f6584f2
--- /dev/null
+++ b/src/plugins/vue-idb.js
@@ -0,0 +1,28 @@
+import Vue from 'vue'
+import VueIdb from 'vue-idb'
+
+export default ({ Vue }) => {
+ Vue.use(VueIdb)
+
+ // Insert here the database for IndexDB
+ new VueIdb({
+ version: 1,
+ database: 'test',
+ schemas: [
+ { categories: '++id, sub_categ_id, descr_it' }
+ ]
+ })
+}
+
+
+/*
+
+
+export default new VueIdb({
+ version: 1,
+ database: 'test',
+ schemas: [
+ { categories: '++id, sub_categ_id, descr_it' }
+ ]
+})
+*/
diff --git a/src/router/route-config.ts b/src/router/route-config.ts
index 18d9383..2c91947 100644
--- a/src/router/route-config.ts
+++ b/src/router/route-config.ts
@@ -28,6 +28,11 @@ export const RouteConfig: VueRouteConfig[] = [
path: '/vreg',
component: () => import('@/views/login/vreg/vreg.vue'),
meta: { name: 'Verify Reg' }
+ },
+ {
+ path: '/category',
+ component: () => import('@/components/categories/category/category.vue'),
+ meta: { name: 'Categories' }
}
/*
{
diff --git a/src/store/Modules/GlobalStore.ts b/src/store/Modules/GlobalStore.ts
index 0e67340..0633489 100644
--- a/src/store/Modules/GlobalStore.ts
+++ b/src/store/Modules/GlobalStore.ts
@@ -8,6 +8,7 @@ const state: IGlobalState = {
layoutNeeded: true,
mobileMode: false,
menuCollapse: true,
+ leftDrawerOpen: true,
posts: []
}
@@ -31,8 +32,13 @@ namespace Mutations {
state.conta = num
}
+ function setleftDrawerOpen(state: IGlobalState, bool: boolean) {
+ state.leftDrawerOpen = bool
+ }
+
export const mutations = {
- setConta: b.commit(setConta)
+ setConta: b.commit(setConta),
+ setleftDrawerOpen: b.commit(setleftDrawerOpen)
}
}
diff --git a/src/store/Modules/UserStore.ts b/src/store/Modules/UserStore.ts
index 2c035b6..a57d7a1 100644
--- a/src/store/Modules/UserStore.ts
+++ b/src/store/Modules/UserStore.ts
@@ -6,7 +6,7 @@ import router from '@router'
import { serv_constants } from '../Modules/serv_constants'
import { rescodes } from '../Modules/rescodes'
-import { UserStore } from "@store"
+import { GlobalStore, UserStore } from '@store'
const bcrypt = require('bcryptjs')
@@ -109,37 +109,6 @@ namespace Mutations {
state.verifiedEmail = false
}
- function autologin (state: IUserState) {
- // INIT
- UserStore.mutations.setlang(process.env.LANG_DEFAULT)
- // ++Todo: Estrai la Lang dal Localstorage
- const lang = localStorage.getItem('lang')
- if (lang) {
- UserStore.mutations.setlang(lang)
- }
-
- const token = localStorage.getItem('token')
- if (!token) {
- return
- }
- const expirationDateStr = localStorage.getItem('expirationDate')
- let expirationDate = new Date(String(expirationDateStr))
- const now = new Date()
- if (now >= expirationDate) {
- return
- }
- const userId = Number(localStorage.getItem('userId'))
- const username = String(localStorage.getItem('username'))
- const verifiedEmail = localStorage.getItem('verificato') === '1'
-
- mutations.authUser({
- username: username,
- userId: userId,
- idToken: token,
- verifiedEmail: verifiedEmail
- })
- }
-
export const mutations = {
authUser: b.commit(authUser),
setpassword: b.commit(setpassword),
@@ -147,8 +116,7 @@ namespace Mutations {
setlang: b.commit(setlang),
UpdatePwd: b.commit(UpdatePwd),
setServerCode: b.commit(setServerCode),
- clearAuthData: b.commit(clearAuthData),
- autologin: b.commit(autologin)
+ clearAuthData: b.commit(clearAuthData)
}
}
@@ -200,7 +168,7 @@ namespace Actions {
})
.then((body) => {
Mutations.mutations.UpdatePwd({ idToken: x_auth_token })
- localStorage.setItem('token', x_auth_token)
+ localStorage.setItem(rescodes.localStorage.token, x_auth_token)
return { code: body.code, msg: body.msg }
}).catch((err) => {
@@ -278,7 +246,10 @@ namespace Actions {
// console.log("RITORNO 2 ");
// mutations.setServerCode(myres);
if (body.code === serv_constants.RIS_CODE_EMAIL_VERIFIED) {
- localStorage.setItem('verificato', '1')
+ console.log('VERIFICATO !!')
+ localStorage.setItem(rescodes.localStorage.verifiedEmail, '1')
+ } else {
+ console.log('Risultato di vreg: ', body.code)
}
return { code: body.code, msg: body.msg }
}).catch((err) => {
@@ -353,12 +324,12 @@ namespace Actions {
const now = new Date()
// const expirationDate = new Date(now.getTime() + myres.data.expiresIn * 1000);
- const expirationDate = new Date(now.getTime() + 1000)
- localStorage.setItem('username', username)
- localStorage.setItem('token', x_auth_token)
- localStorage.setItem('userId', iduser)
- localStorage.setItem('expirationDate', expirationDate.toString())
- localStorage.setItem('verificato', '0')
+ const expirationDate = new Date(now.getTime() * 1000)
+ localStorage.setItem(rescodes.localStorage.username, username)
+ localStorage.setItem(rescodes.localStorage.token, x_auth_token)
+ localStorage.setItem(rescodes.localStorage.userId, iduser)
+ localStorage.setItem(rescodes.localStorage.expirationDate, expirationDate.toString())
+ localStorage.setItem(rescodes.localStorage.verifiedEmail, '0')
// dispatch('storeUser', authData);
// dispatch('setLogoutTimer', myres.data.expiresIn);
@@ -438,7 +409,7 @@ namespace Actions {
if (myres.status === 200) {
let iduser = body._id
let username = authData.username
- let verifiedEmail = body.verifiedEmail === 'true' || body.verifiedEmail === true
+ let verifiedEmail = body.verified_email === 'true' || body.verified_email === true
if (process.env.DEV) {
console.log('USERNAME = ' + username)
console.log('IDUSER= ' + iduser)
@@ -452,13 +423,13 @@ namespace Actions {
const now = new Date()
// const expirationDate = new Date(now.getTime() + myres.data.expiresIn * 1000);
- const expirationDate = new Date(now.getTime() + 1000)
- localStorage.setItem('username', username)
- localStorage.setItem('token', x_auth_token)
- localStorage.setItem('userId', iduser)
- localStorage.setItem('expirationDate', expirationDate.toString())
- localStorage.setItem('isLoggedin', String(true))
- localStorage.setItem('verificato', String(verifiedEmail))
+ const expirationDate = new Date(now.getTime() * 1000)
+ localStorage.setItem(rescodes.localStorage.username, username)
+ localStorage.setItem(rescodes.localStorage.token, x_auth_token)
+ localStorage.setItem(rescodes.localStorage.userId, iduser)
+ localStorage.setItem(rescodes.localStorage.expirationDate, expirationDate.toString())
+ localStorage.setItem(rescodes.localStorage.isLogged, String(true))
+ localStorage.setItem(rescodes.localStorage.verifiedEmail, Number(verifiedEmail).toString())
// dispatch('storeUser', authData);
// dispatch('setLogoutTimer', myres.data.expiresIn);
@@ -507,16 +478,60 @@ namespace Actions {
Mutations.mutations.clearAuthData()
})
- localStorage.removeItem('expirationDate')
- localStorage.removeItem('token')
- localStorage.removeItem('userId')
- localStorage.removeItem('username')
- localStorage.removeItem('isLoggedin')
- localStorage.removeItem('verifiedEmail')
+ localStorage.removeItem(rescodes.localStorage.expirationDate)
+ localStorage.removeItem(rescodes.localStorage.token)
+ localStorage.removeItem(rescodes.localStorage.userId)
+ localStorage.removeItem(rescodes.localStorage.username)
+ localStorage.removeItem(rescodes.localStorage.isLogged)
+ // localStorage.removeItem(rescodes.localStorage.leftDrawerOpen)
+ localStorage.removeItem(rescodes.localStorage.verifiedEmail)
router.push('/signin')
}
+ function setGlobal() {
+ GlobalStore.mutations.setleftDrawerOpen(localStorage.getItem(rescodes.localStorage.leftDrawerOpen) === 'true')
+ }
+
+ async function autologin (context) {
+ try {
+ // INIT
+ UserStore.mutations.setlang(process.env.LANG_DEFAULT)
+ // ++Todo: Estrai la Lang dal Localstorage
+ const lang = localStorage.getItem('lang')
+ if (lang) {
+ UserStore.mutations.setlang(lang)
+ }
+
+ const token = localStorage.getItem(rescodes.localStorage.token)
+ if (!token) {
+ return false
+ }
+ const expirationDateStr = localStorage.getItem(rescodes.localStorage.expirationDate)
+ let expirationDate = new Date(String(expirationDateStr))
+ const now = new Date()
+ if (now >= expirationDate) {
+ return false
+ }
+ const userId = Number(localStorage.getItem(rescodes.localStorage.userId))
+ const username = String(localStorage.getItem(rescodes.localStorage.username))
+ const verifiedEmail = localStorage.getItem(rescodes.localStorage.verifiedEmail) === '1'
+
+ setGlobal()
+
+ Mutations.mutations.authUser({
+ username: username,
+ userId: userId,
+ idToken: token,
+ verifiedEmail: verifiedEmail
+ })
+ return true
+ } catch (e) {
+ console.error('ERR autologin ', e.message)
+ return false
+ }
+ }
+
export const actions = {
resetpwd: b.dispatch(resetpwd),
@@ -524,7 +539,8 @@ namespace Actions {
vreg: b.dispatch(vreg),
signup: b.dispatch(signup),
signin: b.dispatch(signin),
- logout: b.dispatch(logout)
+ logout: b.dispatch(logout),
+ autologin: b.dispatch(autologin)
}
}
diff --git a/src/store/Modules/rescodes.ts b/src/store/Modules/rescodes.ts
index 930ca9b..8b0afe2 100644
--- a/src/store/Modules/rescodes.ts
+++ b/src/store/Modules/rescodes.ts
@@ -3,5 +3,15 @@ export const rescodes = {
OK: 20,
ERR_GENERICO: -1,
DUPLICATE_EMAIL_ID: 11000,
- DUPLICATE_USERNAME_ID: 11100
+ DUPLICATE_USERNAME_ID: 11100,
+
+ localStorage: {
+ verifiedEmail: 'vf',
+ isLogged: 'ilog',
+ expirationDate: 'expdate',
+ leftDrawerOpen: 'ldo',
+ userId: 'uid',
+ token: 'tk',
+ username: 'uname'
+ }
}
diff --git a/src/typings/libs/vue-idb.d.ts b/src/typings/libs/vue-idb.d.ts
new file mode 100644
index 0000000..c6ffec7
--- /dev/null
+++ b/src/typings/libs/vue-idb.d.ts
@@ -0,0 +1,7 @@
+import { VueIdb } from 'vue-idb'
+
+declare module 'vue/types/vue' {
+ interface Vue {
+ $db: VueIdb
+ }
+}
diff --git a/src/views/form/simpleForm/simpleForm.vue b/src/views/form/simpleForm/simpleForm.vue
index 438e412..72665e6 100644
--- a/src/views/form/simpleForm/simpleForm.vue
+++ b/src/views/form/simpleForm/simpleForm.vue
@@ -85,7 +85,7 @@
}
}
-