diff --git a/frontend/package.json b/frontend/package.json index 9cb668116..a5e58f6a6 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,42 +10,39 @@ }, "dependencies": { "axios": "^0.21.1", - "buefy": "^0.8.20", - "c3": "^0.7.18", + "buefy": "^0.9.7", + "c3": "^0.7.20", "codeflask": "^1.4.1", - "core-js": "^3.6.5", - "dayjs": "^1.8.28", - "elliptic": "^6.5.4", + "core-js": "^3.12.1", + "dayjs": "^1.10.4", "humps": "^2.0.1", - "lodash": "^4.17.21", - "node-forge": "^0.10.0", - "node-sass": "^4.14.1", - "qs": "^6.9.4", + "qs": "^6.10.1", "quill": "^1.3.7", "quill-delta": "^4.2.2", - "sass-loader": "^8.0.2", "textversionjs": "^1.1.3", "turndown": "^7.0.0", - "vue": "^2.6.11", + "vue": "^2.6.12", "vue-c3": "^1.2.11", "vue-i18n": "^8.22.2", "vue-quill-editor": "^3.0.6", "vue-router": "^3.2.0", - "vuex": "^3.4.0" + "vuex": "^3.6.2" }, "devDependencies": { - "@vue/cli-plugin-babel": "~4.4.0", - "@vue/cli-plugin-eslint": "~4.4.0", - "@vue/cli-plugin-router": "~4.4.0", - "@vue/cli-plugin-vuex": "~4.4.0", - "@vue/cli-service": "~4.4.0", - "@vue/eslint-config-airbnb": "^5.0.2", + "@vue/cli-plugin-babel": "~4.5.13", + "@vue/cli-plugin-eslint": "~4.5.13", + "@vue/cli-plugin-router": "~4.5.13", + "@vue/cli-plugin-vuex": "~4.5.13", + "@vue/cli-service": "~4.5.13", + "@vue/eslint-config-airbnb": "^5.3.0", "babel-eslint": "^10.1.0", "cypress": "^6.4.0", "cypress-file-upload": "^5.0.2", - "eslint": "^6.7.2", - "eslint-plugin-import": "^2.20.2", - "eslint-plugin-vue": "^6.2.2", - "vue-template-compiler": "^2.6.11" + "eslint": "^7.27.0", + "eslint-plugin-import": "^2.23.3", + "eslint-plugin-vue": "^7.9.0", + "sass": "^1.34.0", + "sass-loader": "^10.2.0", + "vue-template-compiler": "^2.6.12" } } diff --git a/frontend/src/assets/buefy.scss b/frontend/src/assets/buefy.scss deleted file mode 100644 index 375b7f7eb..000000000 --- a/frontend/src/assets/buefy.scss +++ /dev/null @@ -1,44 +0,0 @@ -@import "~bulma/sass/base/_all"; -@import "~bulma/sass/elements/_all"; -@import "~bulma/sass/components/card"; -@import "~bulma/sass/components/dropdown"; -@import "~bulma/sass/components/level"; -@import "~bulma/sass/components/menu"; -@import "~bulma/sass/components/message"; -@import "~bulma/sass/components/modal"; -@import "~bulma/sass/components/navbar"; -@import "~bulma/sass/components/pagination"; -@import "~bulma/sass/components/tabs"; -@import "~bulma/sass/form/_all"; -@import "~bulma/sass/grid/columns"; -@import "~bulma/sass/grid/tiles"; -@import "~bulma/sass/layout/section"; -@import "~bulma/sass/layout/footer"; - -@import "~buefy/src/scss/utils/_all"; -@import "~buefy/src/scss/components/_autocomplete"; -@import "~buefy/src/scss/components/_carousel"; -@import "~buefy/src/scss/components/_checkbox"; -@import "~buefy/src/scss/components/_datepicker"; -@import "~buefy/src/scss/components/_dialog"; -@import "~buefy/src/scss/components/_dropdown"; -@import "~buefy/src/scss/components/_form"; -@import "~buefy/src/scss/components/_icon"; -@import "~buefy/src/scss/components/_loading"; -@import "~buefy/src/scss/components/_menu"; -@import "~buefy/src/scss/components/_message"; -@import "~buefy/src/scss/components/_modal"; -@import "~buefy/src/scss/components/_pagination"; -@import "~buefy/src/scss/components/_notices"; -@import "~buefy/src/scss/components/_progress"; -@import "~buefy/src/scss/components/_radio"; -@import "~buefy/src/scss/components/_select"; -@import "~buefy/src/scss/components/_sidebar"; -@import "~buefy/src/scss/components/_switch"; -@import "~buefy/src/scss/components/_table"; -@import "~buefy/src/scss/components/_tabs"; -@import "~buefy/src/scss/components/_tag"; -@import "~buefy/src/scss/components/_taginput"; -@import "~buefy/src/scss/components/_timepicker"; -@import "~buefy/src/scss/components/_tooltip"; -@import "~buefy/src/scss/components/_upload"; diff --git a/frontend/src/assets/style.scss b/frontend/src/assets/style.scss index b9ec9164e..55242e6b2 100644 --- a/frontend/src/assets/style.scss +++ b/frontend/src/assets/style.scss @@ -30,10 +30,11 @@ $modal-background-background-color: rgba(0, 0, 0, .30); $speed-slow: 25ms !default; $speed-slower: 50ms !default; -/* Import full Bulma and Buefy to override styles. */ -// @import "~bulma"; -@import "./buefy"; +/* Import full Bulma and Buefy */ +@import "~bulma"; +@import "~buefy/src/scss/buefy"; +/* Custom style overrides */ html, body { height: 100%; } @@ -752,6 +753,7 @@ section.campaign { /* Hide sidebar menu captions on mobile */ .b-sidebar .sidebar-content.is-mini-mobile { + max-width: 90px; .menu-list { li { margin-bottom: 30px; @@ -773,7 +775,6 @@ section.campaign { td .tags { display: block; - text-align: right; .tag:not(:last-child) { margin-right: 0; diff --git a/frontend/src/utils.js b/frontend/src/utils.js index 74ea9135b..47e6b0f98 100644 --- a/frontend/src/utils.js +++ b/frontend/src/utils.js @@ -118,4 +118,8 @@ export default class Utils { duration: duration || 2000, }); }; + + // Takes a props.row from a Buefy b-column template and + // returns a `data-id` attribute which Buefy then applies to the td. + tdID = (row) => ({ 'data-id': row.id.toString() }); } diff --git a/frontend/src/views/Campaigns.vue b/frontend/src/views/Campaigns.vue index 3b7db7677..52cdec2bf 100644 --- a/frontend/src/views/Campaigns.vue +++ b/frontend/src/views/Campaigns.vue @@ -29,175 +29,173 @@ paginated backend-pagination pagination-position="both" @page-change="onPageChange" :current-page="queryParams.page" :per-page="campaigns.perPage" :total="campaigns.total" hoverable backend-sorting @sort="onSort"> - - + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + - - - + +
+ + {{ props.row.name }} + + + {{ t }} + +
+
+ + +
+ + {{ $t('lists.types.' + props.row.type) }} + + {{ ' ' }} + + + {{ ' ' }} + {{ $t('lists.optins.' + props.row.optin) }} + {{ ' ' }} + + + + {{ $t('lists.sendOptinCampaign') }} + + +
+
+ + + + {{ props.row.subscriberCount }} + + + + + {{ $utils.niceDate(props.row.createdAt) }} + + + {{ $utils.niceDate(props.row.updatedAt) }} + + + +
+ + + + + + + + + + + + + + + +
+
+ + diff --git a/frontend/src/views/Subscribers.vue b/frontend/src/views/Subscribers.vue index cd643aa65..cdcdc08c1 100644 --- a/frontend/src/views/Subscribers.vue +++ b/frontend/src/views/Subscribers.vue @@ -108,86 +108,85 @@ paginated backend-pagination pagination-position="both" @page-change="onPageChange" :current-page="queryParams.page" :per-page="subscribers.perPage" :total="subscribers.total" hoverable checkable backend-sorting @sort="onSort"> -