diff --git a/package-lock.json b/package-lock.json index a4139ab..be92287 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3134,6 +3134,11 @@ } } }, + "classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" + }, "clean-css": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", @@ -4091,6 +4096,11 @@ "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", "dev": true }, + "debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + }, "debug": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", @@ -4566,6 +4576,11 @@ "stream-shift": "^1.0.0" } }, + "easy-bem": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/easy-bem/-/easy-bem-1.1.1.tgz", + "integrity": "sha512-GJRqdiy2h+EXy6a8E6R+ubmqUM08BK0FWNq41k24fup6045biQ8NXxoXimiwegMQvFFV3t1emADdGNL1TlS61A==" + }, "easy-stack": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", @@ -5361,6 +5376,11 @@ "schema-utils": "^2.5.0" } }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -11857,6 +11877,16 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" }, + "vue-advanced-cropper": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/vue-advanced-cropper/-/vue-advanced-cropper-1.10.1.tgz", + "integrity": "sha512-obEcM5DvDE4VfX32p21X3Kk5gGo9nbEttm+SEgk4X380SSS5JNWkzjSfWLBYQnZ+9pI2BKsuISbymeH1P68dbg==", + "requires": { + "classnames": "^2.2.6", + "debounce": "^1.2.0", + "easy-bem": "^1.0.2" + } + }, "vue-cli-plugin-vuetify": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/vue-cli-plugin-vuetify/-/vue-cli-plugin-vuetify-2.4.2.tgz", diff --git a/package.json b/package.json index db7c80a..fd3fdd0 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,9 @@ }, "dependencies": { "core-js": "^3.6.5", + "file-saver": "^2.0.5", "vue": "^2.6.11", + "vue-advanced-cropper": "^1.10.1", "vuetify": "^2.4.0" }, "devDependencies": { diff --git a/src/App.vue b/src/App.vue index 51adc05..4e27936 100644 --- a/src/App.vue +++ b/src/App.vue @@ -33,9 +33,24 @@ - + + + + + Profile Designer + + + Custom Card Designer + + + + + + + + - import Designer from './components/Designer'; +import CardDesigner from './components/CardDesigner'; export default { name: 'App', components: { - Designer, + Designer, CardDesigner }, data: () => ({ diff --git a/src/assets/cards/akashi_placeholder.jpg b/src/assets/cards/akashi_placeholder.jpg new file mode 100644 index 0000000..da072d8 Binary files /dev/null and b/src/assets/cards/akashi_placeholder.jpg differ diff --git a/src/assets/cards/overlay.png b/src/assets/cards/overlay.png new file mode 100644 index 0000000..b9fed74 Binary files /dev/null and b/src/assets/cards/overlay.png differ diff --git a/src/components/CardDesigner.vue b/src/components/CardDesigner.vue new file mode 100644 index 0000000..002010e --- /dev/null +++ b/src/components/CardDesigner.vue @@ -0,0 +1,184 @@ + + + + + \ No newline at end of file