From f9f03b0e03858761c0b4c5af52cc96830b4e624c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Mon, 18 Nov 2019 12:15:35 +0100 Subject: [PATCH] SOme vuetify things --- config/webpack.config.common.js | 28 ++++- frontend/components/Styleguide.vue | 8 +- frontend/components/chat/ChatInput.vue | 49 ++++---- frontend/components/playlist/ContextMenu.vue | 1 - frontend/components/playlist/Playlist.vue | 41 +------ frontend/components/playlist/Song.vue | 120 +++++++++---------- frontend/index.html | 6 + frontend/main.js | 2 + frontend/plugins/vuetify.js | 8 ++ frontend/store.js | 4 +- package-lock.json | 107 ++++++++--------- package.json | 14 ++- 12 files changed, 201 insertions(+), 187 deletions(-) create mode 100644 frontend/plugins/vuetify.js diff --git a/config/webpack.config.common.js b/config/webpack.config.common.js index df7f6397..bf1ffc1d 100644 --- a/config/webpack.config.common.js +++ b/config/webpack.config.common.js @@ -29,7 +29,7 @@ const webpackConfig = function(isDev) { loader: "babel-loader", include: [helpers.root("frontend")] }, - { + /*{ test: /\.css$/, use: [ isDev ? "vue-style-loader" : MiniCSSExtractPlugin.loader, @@ -51,7 +51,31 @@ const webpackConfig = function(isDev) { { loader: "css-loader", options: { sourceMap: isDev } }, { loader: "sass-loader", options: { sourceMap: isDev } } ] - } + },*/ + { + test: /\.s(c|a)ss$/, + use: [ + 'vue-style-loader', + 'css-loader', + { + loader: 'sass-loader', + // Requires sass-loader@^7.0.0 + options: { + implementation: require('sass'), + fiber: require('fibers'), + indentedSyntax: true // optional + }, + // Requires sass-loader@^8.0.0 + options: { + implementation: require('sass'), + sassOptions: { + fiber: require('fibers'), + indentedSyntax: true // optional + }, + }, + }, + ], + }, ] }, plugins: [new VueLoaderPlugin()] diff --git a/frontend/components/Styleguide.vue b/frontend/components/Styleguide.vue index a84ab13f..2fa02867 100644 --- a/frontend/components/Styleguide.vue +++ b/frontend/components/Styleguide.vue @@ -1,15 +1,15 @@ diff --git a/frontend/components/chat/ChatInput.vue b/frontend/components/chat/ChatInput.vue index 7e460553..9302bbed 100644 --- a/frontend/components/chat/ChatInput.vue +++ b/frontend/components/chat/ChatInput.vue @@ -1,33 +1,38 @@ \ No newline at end of file diff --git a/frontend/components/playlist/ContextMenu.vue b/frontend/components/playlist/ContextMenu.vue index 2a315fb7..4294e524 100644 --- a/frontend/components/playlist/ContextMenu.vue +++ b/frontend/components/playlist/ContextMenu.vue @@ -65,7 +65,6 @@ export default { \ No newline at end of file diff --git a/frontend/index.html b/frontend/index.html index 92bfe820..715c3901 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -1,9 +1,15 @@ + Zoff + + + +
+ \ No newline at end of file diff --git a/frontend/main.js b/frontend/main.js index 3f8c4349..57daea8d 100644 --- a/frontend/main.js +++ b/frontend/main.js @@ -1,5 +1,6 @@ import Vue from 'vue' import VueRouter from 'vue-router' +import vuetify from '@/plugins/vuetify' // path to vuetify export import router from './routes' import store from './store' @@ -8,6 +9,7 @@ import App from './App.vue' Vue.use(VueRouter) new Vue({ + vuetify, el: '#app', router, store, diff --git a/frontend/plugins/vuetify.js b/frontend/plugins/vuetify.js new file mode 100644 index 00000000..3248e068 --- /dev/null +++ b/frontend/plugins/vuetify.js @@ -0,0 +1,8 @@ +import Vue from 'vue' +import Vuetify from 'vuetify' + +Vue.use(Vuetify) + +const opts = {} + +export default new Vuetify(opts) \ No newline at end of file diff --git a/frontend/store.js b/frontend/store.js index 076c50ca..739fa3ad 100644 --- a/frontend/store.js +++ b/frontend/store.js @@ -9,4 +9,6 @@ const store = new Vuex.Store({ modules: { playerModule } -}) \ No newline at end of file +}) + +export default store; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d54bf032..c32b55cf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2481,15 +2481,14 @@ "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" }, "clone-deep": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", - "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { - "for-own": "^1.0.0", "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" } }, "cloneable-readable": { @@ -3932,6 +3931,12 @@ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, "default-compare": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", @@ -4971,6 +4976,15 @@ "resolved": "https://registry.npmjs.org/feature-policy/-/feature-policy-0.2.0.tgz", "integrity": "sha512-2hGrlv6efG4hscYVZeaYjpzpT6I2OZgYqE2yDUzeAcKj2D1SH0AsEzqJNXzdoglEddcIXQQYop3lD97XpG75Jw==" }, + "fibers": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/fibers/-/fibers-4.0.2.tgz", + "integrity": "sha512-FhICi1K4WZh9D6NC18fh2ODF3EWy1z0gzIdV9P7+s2pRjfRBnCkMDJ6x3bV1DkVymKH8HGrQa/FNOBjYvnJ/tQ==", + "dev": true, + "requires": { + "detect-libc": "^1.0.3" + } + }, "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", @@ -7753,12 +7767,6 @@ "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", "dev": true }, - "lodash.tail": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", - "dev": true - }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -8217,24 +8225,6 @@ } } }, - "mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "dev": true, - "requires": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" - }, - "dependencies": { - "for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "dev": true - } - } - }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -11042,6 +11032,15 @@ "sparse-bitfield": "^3.0.3" } }, + "sass": { + "version": "1.23.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.6.tgz", + "integrity": "sha512-awBvj9xrAuiS2TOCcYSUGCmaBV3UW6fVSK4oJ2LHS8IRfnRLc5EJihw90C7ZJ/skcEwFGSf9/XO5NlMiKupBCg==", + "dev": true, + "requires": { + "chokidar": ">=2.0.0 <4.0.0" + } + }, "sass-graph": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", @@ -11055,23 +11054,28 @@ } }, "sass-loader": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", - "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz", + "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==", "dev": true, "requires": { - "clone-deep": "^2.0.1", + "clone-deep": "^4.0.1", "loader-utils": "^1.0.1", - "lodash.tail": "^4.1.1", "neo-async": "^2.5.0", - "pify": "^3.0.0", - "semver": "^5.5.0" + "pify": "^4.0.1", + "semver": "^6.3.0" }, "dependencies": { "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } @@ -11253,22 +11257,12 @@ } }, "shallow-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", - "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "kind-of": "^6.0.2" } }, "shebang-command": { @@ -13385,6 +13379,11 @@ "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", "dev": true }, + "vuetify": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.1.10.tgz", + "integrity": "sha512-hFc6XNYc2YE3HisxCH5VezRFtGQ2RwTvBy7eN+b67UuiGIhvEUR9h3uO4NUuulmvKPKJ4rONN+L9sVszgMBlJQ==" + }, "vuex": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.1.2.tgz", diff --git a/package.json b/package.json index c5c701b2..412a3b2d 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,6 @@ "url": "https://github.com/zoff-music/zoff/issues" }, "devDependencies": { - "cross-env": "~5.2", - "gulp": "^4.0.0", - "gulp-concat": "^2.6.1", - "gulp-uglify": "^3.0.2", "@babel/core": "~7.2", "@babel/plugin-proposal-class-properties": "~7.3", "@babel/plugin-proposal-decorators": "~7.3", @@ -34,13 +30,20 @@ "@babel/preset-env": "~7.3", "babel-loader": "~8.0", "compression-webpack-plugin": "~2.0", + "cross-env": "~5.2", "css-loader": "~0.28", + "deepmerge": "^4.2.2", + "fibers": "^4.0.2", "friendly-errors-webpack-plugin": "~1.7", + "gulp": "^4.0.0", + "gulp-concat": "^2.6.1", + "gulp-uglify": "^3.0.2", "html-webpack-plugin": "~3.2", "mini-css-extract-plugin": "~0.5", "node-sass": "~4.11", "optimize-css-assets-webpack-plugin": "~3.2", - "sass-loader": "~7.1", + "sass": "^1.23.6", + "sass-loader": "^7.3.1", "uglifyjs-webpack-plugin": "~1.2", "vue-loader": "~15.6", "vue-style-loader": "~4.1", @@ -92,6 +95,7 @@ "uniqid": "5.0.3", "vue": "~2.6", "vue-router": "~3.0", + "vuetify": "^2.1.10", "vuex": "^3.1.2" } }