├── pages ├── workshop │ ├── done.vue │ └── index.vue ├── reward │ ├── done.vue │ └── index.vue ├── README.md ├── inspire.vue ├── survey │ ├── done.vue │ ├── step2.vue │ ├── index.vue │ └── step3.vue ├── register │ ├── done.vue │ ├── index.vue │ └── step2.vue ├── index.vue └── agenda │ └── index.vue ├── .vscode └── settings.json ├── assets ├── qr.png ├── gift.png ├── profile.png ├── reward.png ├── survey.png ├── welcome.png ├── richmenu.png ├── workshop.png ├── plus.svg ├── README.md └── variables.scss ├── static ├── v.png ├── favicon.ico ├── README.md └── vuetify-logo.svg ├── components ├── README.md ├── VuetifyLogo.vue ├── Dialog.vue ├── Logo.vue └── Card.vue ├── jsconfig.json ├── .editorconfig ├── layouts ├── README.md ├── error.vue └── default.vue ├── plugins └── README.md ├── middleware └── README.md ├── store ├── README.md └── index.js ├── README.md ├── package.json ├── .gitignore └── nuxt.config.js /pages/workshop/done.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "deno.enable": false 3 | } -------------------------------------------------------------------------------- /pages/reward/done.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itoon/nuxt-tutor/HEAD/assets/qr.png -------------------------------------------------------------------------------- /static/v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itoon/nuxt-tutor/HEAD/static/v.png -------------------------------------------------------------------------------- /assets/gift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itoon/nuxt-tutor/HEAD/assets/gift.png -------------------------------------------------------------------------------- /assets/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itoon/nuxt-tutor/HEAD/assets/profile.png -------------------------------------------------------------------------------- /assets/reward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itoon/nuxt-tutor/HEAD/assets/reward.png -------------------------------------------------------------------------------- /assets/survey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itoon/nuxt-tutor/HEAD/assets/survey.png -------------------------------------------------------------------------------- /assets/welcome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itoon/nuxt-tutor/HEAD/assets/welcome.png -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itoon/nuxt-tutor/HEAD/static/favicon.ico -------------------------------------------------------------------------------- /assets/richmenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itoon/nuxt-tutor/HEAD/assets/richmenu.png -------------------------------------------------------------------------------- /assets/workshop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/itoon/nuxt-tutor/HEAD/assets/workshop.png -------------------------------------------------------------------------------- /components/README.md: -------------------------------------------------------------------------------- 1 | # COMPONENTS 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | The components directory contains your Vue.js Components. 6 | 7 | _Nuxt.js doesn't supercharge these components._ 8 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "paths": { 5 | "~/*": ["./*"], 6 | "@/*": ["./*"], 7 | "~~/*": ["./*"], 8 | "@@/*": ["./*"] 9 | } 10 | }, 11 | "exclude": ["node_modules", ".nuxt", "dist"] 12 | } 13 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /assets/plus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/README.md: -------------------------------------------------------------------------------- 1 | # LAYOUTS 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your Application Layouts. 6 | 7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts). 8 | -------------------------------------------------------------------------------- /pages/README.md: -------------------------------------------------------------------------------- 1 | # PAGES 2 | 3 | This directory contains your Application Views and Routes. 4 | The framework reads all the `*.vue` files inside this directory and creates the router of your application. 5 | 6 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing). 7 | -------------------------------------------------------------------------------- /assets/README.md: -------------------------------------------------------------------------------- 1 | # ASSETS 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your un-compiled assets such as LESS, SASS, or JavaScript. 6 | 7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked). 8 | -------------------------------------------------------------------------------- /plugins/README.md: -------------------------------------------------------------------------------- 1 | # PLUGINS 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains Javascript plugins that you want to run before mounting the root Vue.js application. 6 | 7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins). 8 | -------------------------------------------------------------------------------- /middleware/README.md: -------------------------------------------------------------------------------- 1 | # MIDDLEWARE 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your application middleware. 6 | Middleware let you define custom functions that can be run before rendering either a page or a group of pages. 7 | 8 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware). 9 | -------------------------------------------------------------------------------- /components/VuetifyLogo.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 23 | -------------------------------------------------------------------------------- /store/README.md: -------------------------------------------------------------------------------- 1 | # STORE 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your Vuex Store files. 6 | Vuex Store option is implemented in the Nuxt.js framework. 7 | 8 | Creating a file in this directory automatically activates the option in the framework. 9 | 10 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store). 11 | -------------------------------------------------------------------------------- /assets/variables.scss: -------------------------------------------------------------------------------- 1 | // Ref: https://github.com/nuxt-community/vuetify-module#customvariables 2 | // 3 | // The variables you want to modify 4 | // $font-size-root: 20px; 5 | // .v-application{ 6 | // .headline, .title, .caption, .overline{ 7 | // font-family: 'Quicksand', sans-serif !important; 8 | // } 9 | // [class*="display-"],[class*="subtitle-"],[class*="body-"]{ 10 | // font-family: 'Quicksand', sans-serif !important; 11 | // } 12 | // } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # tutor-nuxt 2 | 3 | > My praiseworthy Nuxt.js project 4 | 5 | ## Build Setup 6 | 7 | ```bash 8 | # install dependencies 9 | $ yarn install 10 | 11 | # serve with hot reload at localhost:3000 12 | $ yarn dev 13 | 14 | # build for production and launch server 15 | $ yarn build 16 | $ yarn start 17 | 18 | # generate static project 19 | $ yarn generate 20 | ``` 21 | 22 | For detailed explanation on how things work, check out [Nuxt.js docs](https://nuxtjs.org). 23 | -------------------------------------------------------------------------------- /static/README.md: -------------------------------------------------------------------------------- 1 | # STATIC 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your static files. 6 | Each file inside this directory is mapped to `/`. 7 | Thus you'd want to delete this README.md before deploying to production. 8 | 9 | Example: `/static/robots.txt` is mapped as `/robots.txt`. 10 | 11 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static). 12 | -------------------------------------------------------------------------------- /pages/inspire.vue: -------------------------------------------------------------------------------- 1 | 20 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tutor-nuxt", 3 | "version": "1.0.0", 4 | "description": "My praiseworthy Nuxt.js project", 5 | "author": "Songklod Saengvoratip", 6 | "private": true, 7 | "scripts": { 8 | "dev": "nuxt", 9 | "build": "nuxt build", 10 | "start": "nuxt start", 11 | "generate": "nuxt generate" 12 | }, 13 | "dependencies": { 14 | "nuxt": "^2.0.0", 15 | "@nuxtjs/axios": "^5.3.6", 16 | "@nuxtjs/dotenv": "^1.4.0" 17 | }, 18 | "devDependencies": { 19 | "@nuxtjs/vuetify": "^1.0.0" 20 | } 21 | } -------------------------------------------------------------------------------- /static/vuetify-logo.svg: -------------------------------------------------------------------------------- 1 | Artboard 46 2 | -------------------------------------------------------------------------------- /layouts/error.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 39 | 40 | 45 | -------------------------------------------------------------------------------- /components/Dialog.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | -------------------------------------------------------------------------------- /pages/survey/done.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | -------------------------------------------------------------------------------- /layouts/default.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 17 | 18 | -------------------------------------------------------------------------------- /pages/register/done.vue: -------------------------------------------------------------------------------- 1 | 30 | 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### Node template 3 | # Logs 4 | /logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # Runtime data 11 | pids 12 | *.pid 13 | *.seed 14 | *.pid.lock 15 | 16 | # Directory for instrumented libs generated by jscoverage/JSCover 17 | lib-cov 18 | 19 | # Coverage directory used by tools like istanbul 20 | coverage 21 | 22 | # nyc test coverage 23 | .nyc_output 24 | 25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 26 | .grunt 27 | 28 | # Bower dependency directory (https://bower.io/) 29 | bower_components 30 | 31 | # node-waf configuration 32 | .lock-wscript 33 | 34 | # Compiled binary addons (https://nodejs.org/api/addons.html) 35 | build/Release 36 | 37 | # Dependency directories 38 | node_modules/ 39 | jspm_packages/ 40 | 41 | # TypeScript v1 declaration files 42 | typings/ 43 | 44 | # Optional npm cache directory 45 | .npm 46 | 47 | # Optional eslint cache 48 | .eslintcache 49 | 50 | # Optional REPL history 51 | .node_repl_history 52 | 53 | # Output of 'npm pack' 54 | *.tgz 55 | 56 | # Yarn Integrity file 57 | .yarn-integrity 58 | 59 | # dotenv environment variables file 60 | .env 61 | 62 | # parcel-bundler cache (https://parceljs.org/) 63 | .cache 64 | 65 | # next.js build output 66 | .next 67 | 68 | # nuxt.js build output 69 | .nuxt 70 | 71 | # Nuxt generate 72 | dist 73 | 74 | # vuepress build output 75 | .vuepress/dist 76 | 77 | # Serverless directories 78 | .serverless 79 | 80 | # IDE / Editor 81 | .idea 82 | 83 | # Service worker 84 | sw.* 85 | 86 | # macOS 87 | .DS_Store 88 | 89 | # Vim swap files 90 | *.swp 91 | -------------------------------------------------------------------------------- /components/Logo.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 80 | -------------------------------------------------------------------------------- /pages/survey/step2.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 61 | 62 | -------------------------------------------------------------------------------- /components/Card.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 29 | 30 | -------------------------------------------------------------------------------- /pages/survey/index.vue: -------------------------------------------------------------------------------- 1 | 37 | 38 | 57 | 58 | -------------------------------------------------------------------------------- /nuxt.config.js: -------------------------------------------------------------------------------- 1 | import colors from 'vuetify/es5/util/colors' 2 | 3 | export default { 4 | mode: 'universal', 5 | /* 6 | ** Headers of the page 7 | */ 8 | head: { 9 | titleTemplate: '%s - ' + process.env.npm_package_name, 10 | title: process.env.npm_package_name || '', 11 | meta: [ 12 | { charset: 'utf-8' }, 13 | { name: 'viewport', content: 'width=device-width, initial-scale=1' }, 14 | { hid: 'description', name: 'description', content: process.env.npm_package_description || '' } 15 | ], 16 | link: [ 17 | { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }, 18 | { rel: 'stylesheet', href:'https://fonts.googleapis.com/css2?family=Quicksand:wght@400;700&display=swap'}, 19 | { rel: 'stylesheet', href:'https://fonts.googleapis.com/icon?family=Material+Icons'} 20 | ], 21 | script: [ 22 | { src: 'https://static.line-scdn.net/liff/edge/2.1/sdk.js' } 23 | ] 24 | }, 25 | /* 26 | ** Customize the progress-bar color 27 | */ 28 | loading: { color: '#fff' }, 29 | /* 30 | ** Global CSS 31 | */ 32 | css: [ 33 | ], 34 | /* 35 | ** Plugins to load before mounting the App 36 | */ 37 | plugins: [ 38 | ], 39 | /* 40 | ** Nuxt.js dev-modules 41 | */ 42 | buildModules: [ 43 | '@nuxtjs/vuetify', 44 | ], 45 | /* 46 | ** Nuxt.js modules 47 | */ 48 | modules: [ 49 | // Doc: https://axios.nuxtjs.org/usage 50 | '@nuxtjs/axios', 51 | // Doc: https://github.com/nuxt-community/dotenv-module 52 | '@nuxtjs/dotenv', 53 | ], 54 | /* 55 | ** Axios module configuration 56 | ** See https://axios.nuxtjs.org/options 57 | */ 58 | axios: { 59 | }, 60 | /* 61 | ** vuetify module configuration 62 | ** https://github.com/nuxt-community/vuetify-module 63 | */ 64 | vuetify: { 65 | customVariables: ['~/assets/variables.scss'], 66 | // treeShake: true, 67 | theme: { 68 | dark: false, 69 | themes: { 70 | dark: { 71 | primary: colors.blue.darken2, 72 | accent: colors.grey.darken3, 73 | secondary: colors.amber.darken3, 74 | info: colors.teal.lighten1, 75 | warning: colors.amber.base, 76 | error: colors.deepOrange.accent4, 77 | success: colors.green.accent3 78 | } 79 | } 80 | } 81 | }, 82 | /* 83 | ** Build configuration 84 | */ 85 | build: { 86 | /* 87 | ** You can extend webpack config here 88 | */ 89 | extend (config, ctx) { 90 | } 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /pages/index.vue: -------------------------------------------------------------------------------- 1 | 81 | 82 | 93 | -------------------------------------------------------------------------------- /pages/survey/step3.vue: -------------------------------------------------------------------------------- 1 | 50 | 51 | 73 | 74 | -------------------------------------------------------------------------------- /pages/agenda/index.vue: -------------------------------------------------------------------------------- 1 | 65 | 66 | 67 | 82 | 83 | -------------------------------------------------------------------------------- /pages/workshop/index.vue: -------------------------------------------------------------------------------- 1 | 67 | 68 | 123 | 124 | 140 | -------------------------------------------------------------------------------- /pages/register/index.vue: -------------------------------------------------------------------------------- 1 | 55 | 127 | -------------------------------------------------------------------------------- /pages/register/step2.vue: -------------------------------------------------------------------------------- 1 | 76 | 77 | 178 | 179 | -------------------------------------------------------------------------------- /pages/reward/index.vue: -------------------------------------------------------------------------------- 1 | 52 | 53 | 154 | 155 | -------------------------------------------------------------------------------- /store/index.js: -------------------------------------------------------------------------------- 1 | export const state = () => ({ 2 | dialog: { 3 | isShow: false, 4 | title: '', 5 | message: '' 6 | }, 7 | line: { 8 | pictureUrl: null, 9 | displayName: null, 10 | userId: null 11 | }, 12 | survey: { 13 | survey1: 5, 14 | survey2: '', 15 | survey3: '', 16 | }, 17 | user: { 18 | firstname: '', 19 | lastname: '', 20 | gender: 1, 21 | email: '', 22 | phone: '', 23 | birthday: '', 24 | company: '', 25 | position: '' 26 | }, 27 | register: { 28 | firstname: '', 29 | lastname: '', 30 | gender: 1, 31 | email: '', 32 | phone: '', 33 | birthday: new Date().toISOString().substr(0, 10), 34 | company: '', 35 | position: '' 36 | }, 37 | data: { 38 | agenda: [ 39 | { 40 | date: "20 March 2020", 41 | sessions: [ 42 | { 43 | time: "10:00 AM", 44 | title: "INTRODUCTIONS-1", 45 | spaker: "Marvelous Team", 46 | image: "https://cdn.vuetifyjs.com/images/cards/docks.jpg", 47 | duringTime: "100 min" 48 | }, 49 | { 50 | type: "set", 51 | time: "12:00 AM", 52 | sessionSet: [ 53 | { 54 | title: "INTRODUCTIONS-2", 55 | spaker: "Marvelous Team", 56 | image: "https://cdn.vuetifyjs.com/images/cards/docks.jpg", 57 | duringTime: "100 min" 58 | }, 59 | { 60 | title: "INTRODUCTIONS-3", 61 | spaker: "Marvelous Team", 62 | image: "https://cdn.vuetifyjs.com/images/cards/docks.jpg", 63 | duringTime: "100 min" 64 | } 65 | ] 66 | } 67 | ] 68 | }, 69 | { 70 | date: "21 March 2020", 71 | sessions: [ 72 | { 73 | time: "10:00 AM", 74 | title: "INTRODUCTIONS-4", 75 | spaker: "Marvelous Team", 76 | image: "https://cdn.vuetifyjs.com/images/cards/docks.jpg", 77 | duringTime: "100 min" 78 | }, 79 | { 80 | time: "10:00 AM", 81 | title: "INTRODUCTIONS-5", 82 | spaker: "Marvelous Team", 83 | image: "https://cdn.vuetifyjs.com/images/cards/docks.jpg", 84 | duringTime: "100 min" 85 | } 86 | ] 87 | } 88 | ], 89 | workshops: [ 90 | { 91 | date: "20 March 2020", 92 | sessions: [ 93 | { 94 | id: 1, 95 | title: "My journey with Vue1", 96 | topic: "Design Thinking", 97 | spaker: "Mr. John David and Team", 98 | image: "https://cdn.vuetifyjs.com/images/cards/docks.jpg", 99 | detail: 100 | "Design Thinking is a design methodology that provides a solution-based approach to solving problems. We will focus on the five-stage Design Thinking model. Empathise, Define (the problem), Ideate, Prototype, and Test.", 101 | time: "Time : 13: 30 - 16: 30", 102 | spakers: "- Mr. John David
- Mr. David Round", 103 | place: "Room 101" 104 | }, 105 | { 106 | id: 2, 107 | title: "My journey with Vue2", 108 | topic: "Design Thinking", 109 | spaker: "Mr. John David and Team", 110 | image: "https://cdn.vuetifyjs.com/images/cards/docks.jpg", 111 | detail: 112 | "Design Thinking is a design methodology that provides a solution-based approach to solving problems. We will focus on the five-stage Design Thinking model. Empathise, Define (the problem), Ideate, Prototype, and Test.", 113 | time: "Time : 13: 30 - 16: 30", 114 | spakers: "- Mr. John David
- Mr. David Round", 115 | place: "Room 102" 116 | }, 117 | { 118 | id: 3, 119 | title: "My journey with Vue3", 120 | topic: "Design Thinking", 121 | spaker: "Mr. John David and Team", 122 | image: "https://cdn.vuetifyjs.com/images/cards/docks.jpg", 123 | detail: 124 | "Design Thinking is a design methodology that provides a solution-based approach to solving problems. We will focus on the five-stage Design Thinking model. Empathise, Define (the problem), Ideate, Prototype, and Test.", 125 | time: "Time : 13: 30 - 16: 30", 126 | spakers: "- Mr. John David
- Mr. David Round", 127 | place: "Room 103" 128 | } 129 | ] 130 | }, 131 | { 132 | date: "21 March 2020", 133 | sessions: [ 134 | { 135 | id: 4, 136 | title: "My journey with Vue4", 137 | topic: "Design Thinking", 138 | spaker: "Mr. John David and Team", 139 | image: "https://cdn.vuetifyjs.com/images/cards/docks.jpg", 140 | detail: 141 | "Design Thinking is a design methodology that provides a solution-based approach to solving problems. We will focus on the five-stage Design Thinking model. Empathise, Define (the problem), Ideate, Prototype, and Test.", 142 | time: "Time : 1: 30 PM - 4: 30 PM", 143 | spakers: "- Mr. John David
- Mr. David Round", 144 | place: "Room 101" 145 | }, 146 | { 147 | id: 5, 148 | title: "My journey with Vue5", 149 | topic: "Design Thinking", 150 | spaker: "Mr. John David and Team", 151 | image: "https://cdn.vuetifyjs.com/images/cards/docks.jpg", 152 | detail: 153 | "Design Thinking is a design methodology that provides a solution-based approach to solving problems. We will focus on the five-stage Design Thinking model. Empathise, Define (the problem), Ideate, Prototype, and Test.", 154 | time: "Time : 1: 30 PM - 4: 30 PM", 155 | spakers: "- Mr. John David
- Mr. David Round", 156 | place: "Room 102" 157 | }, 158 | { 159 | id: 6, 160 | title: "My journey with Vue6", 161 | topic: "Design Thinking", 162 | spaker: "Mr. John David and Team", 163 | image: "https://cdn.vuetifyjs.com/images/cards/docks.jpg", 164 | detail: 165 | "Design Thinking is a design methodology that provides a solution-based approach to solving problems. We will focus on the five-stage Design Thinking model. Empathise, Define (the problem), Ideate, Prototype, and Test.", 166 | time: "Time : 1: 30 PM - 4: 30 PM", 167 | spakers: "- Mr. John David
- Mr. David Round", 168 | place: "Room 103" 169 | } 170 | ] 171 | } 172 | ] 173 | } 174 | }) 175 | 176 | export const getters = { 177 | getUser(state){ 178 | return state.user 179 | }, 180 | getRegister(state){ 181 | return state.register 182 | }, 183 | getDialog(state){ 184 | return state.dialog 185 | }, 186 | getWorkshop(state){ 187 | return state.data.workshops 188 | }, 189 | getAgenda(state){ 190 | return state.data.agenda 191 | }, 192 | getSurvey(state){ 193 | return state.survey 194 | }, 195 | getLine(state){ 196 | return state.line 197 | } 198 | } 199 | 200 | export const mutations = { 201 | SET_REGISTER(state, data){ 202 | state.register = { 203 | ...state.register, 204 | ...data 205 | } 206 | }, 207 | SET_USER(state, data){ 208 | state.user = { 209 | ...state.user, 210 | ...data 211 | } 212 | }, 213 | SET_DIALOG(state, data){ 214 | state.dialog = { 215 | ...state.dialog, 216 | ...data 217 | } 218 | }, 219 | SET_SURVEY(state, data){ 220 | state.survey = { 221 | ...state.survey, 222 | ...data 223 | } 224 | }, 225 | SET_LINE(state, data){ 226 | state.line = { 227 | ...state.line, 228 | ...data 229 | } 230 | } 231 | } 232 | 233 | export const actions = { 234 | setUser({ commit }, data){ 235 | commit('SET_USER', data) 236 | }, 237 | setRegister({ commit }, data){ 238 | commit('SET_REGISTER', data) 239 | }, 240 | setDialog({ commit }, data){ 241 | commit('SET_DIALOG', data) 242 | }, 243 | setSurvey({ commit }, data){ 244 | commit('SET_SURVEY', data) 245 | }, 246 | setLine({ commit }, data){ 247 | commit('SET_LINE', data) 248 | } 249 | } --------------------------------------------------------------------------------