diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js index cc0f424ac..28251fb6f 100644 --- a/frontend/.eslintrc.js +++ b/frontend/.eslintrc.js @@ -23,8 +23,8 @@ module.exports = { 'generator-star-spacing': 'off', // allow debugger during development 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - indent: ['error', 2], - 'space-before-function-paren': ['error', 'never'] + indent: ['error', 4] + // 'space-before-function-paren': ['error', 'never'] } } diff --git a/frontend/build/vue-loader.conf.js b/frontend/build/vue-loader.conf.js index 33ed58bc0..c3c09ab85 100644 --- a/frontend/build/vue-loader.conf.js +++ b/frontend/build/vue-loader.conf.js @@ -9,7 +9,8 @@ const sourceMapEnabled = isProduction module.exports = { loaders: utils.cssLoaders({ sourceMap: sourceMapEnabled, - extract: isProduction + extract: isProduction, + scss: 'style!css!sass' }), cssSourceMap: sourceMapEnabled, cacheBusting: config.dev.cacheBusting, diff --git a/frontend/build/webpack.base.conf.js b/frontend/build/webpack.base.conf.js index ce5e72587..1d7ee0832 100644 --- a/frontend/build/webpack.base.conf.js +++ b/frontend/build/webpack.base.conf.js @@ -53,6 +53,10 @@ module.exports = { loader: 'vue-loader', options: vueLoaderConfig }, + { + test: /\.s[a|c]ss$/, + loader: 'style!css!sass' + }, { test: /\.js$/, loader: 'babel-loader', diff --git a/frontend/package.json b/frontend/package.json index 4727e87d1..0955aa347 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -14,11 +14,12 @@ }, "dependencies": { "@mdi/font": "^2.2.43", - "buefy": "^0.6.5", "js-cookie": "^2.2.0", + "material-design-icons-iconfont": "^3.0.3", "vue": "^2.5.2", "vue-resource": "^1.5.0", "vue-router": "^3.0.1", + "vuetify": "^1.2.0", "vuex": "^3.0.1" }, "devDependencies": { @@ -54,6 +55,7 @@ "jest": "^22.0.4", "jest-serializer-vue": "^0.3.0", "node-notifier": "^5.1.2", + "node-sass": "^4.9.0", "optimize-css-assets-webpack-plugin": "^3.2.0", "ora": "^1.2.0", "portfinder": "^1.0.13", @@ -61,8 +63,10 @@ "postcss-loader": "^2.0.8", "postcss-url": "^7.2.1", "rimraf": "^2.6.0", + "sass-loader": "^7.0.3", "semver": "^5.3.0", "shelljs": "^0.7.6", + "style-loader": "^0.21.0", "uglifyjs-webpack-plugin": "^1.1.1", "url-loader": "^0.5.8", "vue-jest": "^1.0.2", diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 02572d15f..ff609ba94 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,15 +1,31 @@ - - - - + + + + + + + Modoboa + + + + + + + + diff --git a/frontend/src/api.js b/frontend/src/api.js index e113a8109..173ddd351 100644 --- a/frontend/src/api.js +++ b/frontend/src/api.js @@ -6,15 +6,15 @@ Vue.use(VueResource) var domainResource = Vue.resource('/api/v1/domains{/pk}/') export const getDomains = () => { - return domainResource.get() + return domainResource.get() } export const createDomain = data => { - return domainResource.save(data) + return domainResource.save(data) } export const updateDomain = data => { - return domainResource.update({ pk: data.pk }, data) + return domainResource.update({ pk: data.pk }, data) } var customParametersActions = { diff --git a/frontend/src/components/domains/DomainForm.vue b/frontend/src/components/domains/DomainForm.vue index e8f63c380..1f3186751 100644 --- a/frontend/src/components/domains/DomainForm.vue +++ b/frontend/src/components/domains/DomainForm.vue @@ -1,114 +1,120 @@ - - Add domain - - - - - - - - MB - - - - - - MB - - - - - - - - - - - - - - - - - - - - Save - - - Cancel - - - - + + + + + Add domain + Edit domain + + + + + + + + + + + + + + + + + + + + + + + Cancel + + + Save + + + + + - - diff --git a/frontend/src/components/domains/DomainList.vue b/frontend/src/components/domains/DomainList.vue index ec43ed4b5..9666cfb89 100644 --- a/frontend/src/components/domains/DomainList.vue +++ b/frontend/src/components/domains/DomainList.vue @@ -1,89 +1,157 @@ - - - - Domains - - - Add - - - Actions - - - Import - Export - - - - - - - - - - - - - - - - - - - - {{ props.row.name }} - - - Disabled - Pending - - MX - DNSBL - - - - - {{ props.row.allocated_quota_in_percent }}% - - - - - + + + + Domains + + + + + + add + + + + + + + edit + + + delete + + + + + {{ props.item.name }} + + + + Disabled + Pending + + + MX + + + DNSBL + + + + + + + + + + + diff --git a/frontend/src/components/navigation/Navbar.vue b/frontend/src/components/navigation/Navbar.vue index 5ccf79e2e..b2b9ec57b 100644 --- a/frontend/src/components/navigation/Navbar.vue +++ b/frontend/src/components/navigation/Navbar.vue @@ -1,70 +1,101 @@ - + + + + + + + {{ item.heading }} + + + + EDIT + + + + + + + {{ item.text }} + + + + + + {{ child.icon }} + + + + {{ child.text }} + + + + + + + {{ item.icon }} + + + + {{ item.text }} + + + + + + - - diff --git a/frontend/src/components/parameters/ParametersForm.vue b/frontend/src/components/parameters/ParametersForm.vue index dd0d2f3e3..3ac4a4315 100644 --- a/frontend/src/components/parameters/ParametersForm.vue +++ b/frontend/src/components/parameters/ParametersForm.vue @@ -1,27 +1,38 @@ - - Parameters - - - {{ element.label }} - - - - - - - - {{ choice[1] }} - - - - - + + + Parameters + + + {{ element.label }} + + + + + + + + + + + + + +
- MB -
- Save -
- Cancel -