From e2e65b1bc0548931982314a8408e9ed7008409eb Mon Sep 17 00:00:00 2001 From: Kailash Nadh Date: Sun, 26 Jul 2020 19:43:43 +0530 Subject: [PATCH] Polish UI elements and fix styling issues. - Change global font to Inter. - Introduce global top nav bar. - Restyle form inputs to have inline labels. - Restyle form inputs to have inline lengt counters. - Override glitchy Buefy animations (sidebar, toast etc.) - Fix tag alignment inside tables in responsive view. - Refactor import page UI. - Miscellaneous styling fixes. - Add missing Fontello icons. --- README.md | 3 +- frontend/fontello/config.json | 84 ++++---- frontend/public/index.html | 2 +- frontend/src/App.vue | 158 ++++++++------- frontend/src/assets/buefy.scss | 1 + frontend/src/assets/icons/fontello.css | 3 + frontend/src/assets/icons/fontello.woff2 | Bin 6456 -> 6604 bytes frontend/src/assets/style.scss | 225 ++++++++++++++++------ frontend/src/components/ListSelector.vue | 8 +- frontend/src/utils.js | 6 +- frontend/src/views/Campaign.vue | 60 +++--- frontend/src/views/Campaigns.vue | 108 ++++++----- frontend/src/views/Import.vue | 47 +++-- frontend/src/views/ListForm.vue | 12 +- frontend/src/views/Lists.vue | 36 ++-- frontend/src/views/Settings.vue | 142 ++++++++------ frontend/src/views/SubscriberBulkList.vue | 3 +- frontend/src/views/SubscriberForm.vue | 9 +- frontend/src/views/Subscribers.vue | 36 ++-- frontend/src/views/TemplateForm.vue | 4 +- frontend/src/views/Templates.vue | 46 ++--- 21 files changed, 580 insertions(+), 413 deletions(-) diff --git a/README.md b/README.md index 6c87eb4..db55e59 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,10 @@ listmonk is a standalone, self-hosted, newsletter and mailing list manager. It i ### Installation and use - Download the [latest release](https://github.com/knadh/listmonk/releases) for your platform and extract the listmonk binary. For example: `tar -C $HOME/listmonk -xzf listmonk_$VERSION_$OS_$ARCH.tar.gz` -- Navigate to the directory containing the binary (`cd $HOME/listmonk`) and run `./listmonk --new-config` to generate a sample `config.toml` and add your configuration (SMTP and Postgres DB credentials primarily). +- Navigate to the directory containing the binary (`cd $HOME/listmonk`) and run `./listmonk --new-config` to generate a sample `config.toml` and add the DB configuration. - `./listmonk --install` to setup the DB. - Run `./listmonk` and visit `http://localhost:9000`. +- Visit the `Settings` page to configure your instance. - Since there is no user auth yet, it's best to put listmonk behind a proxy like Nginx and setup basicauth on all endpoints except for the few endpoints that need to be public. Here is a [sample nginx config](https://github.com/knadh/listmonk/wiki/Production-Nginx-config) for production use. ### Configuration and customization diff --git a/frontend/fontello/config.json b/frontend/fontello/config.json index a3ec408..5c7bb56 100644 --- a/frontend/fontello/config.json +++ b/frontend/fontello/config.json @@ -440,6 +440,48 @@ "content-save-outline" ] }, + { + "uid": "80491c76df0c066833e0f8211903d37c", + "css": "minus", + "code": 59423, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M791 541H209V459H791V541Z", + "width": 1000 + }, + "search": [ + "minus" + ] + }, + { + "uid": "a7a02467d65aabd7cd61903ea3e855b6", + "css": "arrow-up", + "code": 59424, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M541 834H459V334L228.5 562.5 169.9 503.9 500 173.8 830.1 503.9 771.5 562.5 541 334V834Z", + "width": 1000 + }, + "search": [ + "arrow-up" + ] + }, + { + "uid": "a9b97a98d1427ca1c4f90b2f8f4f03c1", + "css": "arrow-down", + "code": 59425, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M459 166H541V666L771.5 437.5 830.1 496.1 500 826.2 169.9 496.1 228.5 437.5 459 666V166Z", + "width": 1000 + }, + "search": [ + "arrow-down" + ] + }, { "uid": "f4ad3f6d071a0bfb3a8452b514ed0892", "css": "vector-square", @@ -1364,20 +1406,6 @@ "arrow-collapse-all" ] }, - { - "uid": "a9b97a98d1427ca1c4f90b2f8f4f03c1", - "css": "arrow-down", - "code": 983109, - "src": "custom_icons", - "selected": false, - "svg": { - "path": "M459 166H541V666L771.5 437.5 830.1 496.1 500 826.2 169.9 496.1 228.5 437.5 459 666V166Z", - "width": 1000 - }, - "search": [ - "arrow-down" - ] - }, { "uid": "578692c5a0b505985bf797ee8ebce545", "css": "arrow-down-thick", @@ -1686,20 +1714,6 @@ "arrow-top-left" ] }, - { - "uid": "a7a02467d65aabd7cd61903ea3e855b6", - "css": "arrow-up", - "code": 983133, - "src": "custom_icons", - "selected": false, - "svg": { - "path": "M541 834H459V334L228.5 562.5 169.9 503.9 500 173.8 830.1 503.9 771.5 562.5 541 334V834Z", - "width": 1000 - }, - "search": [ - "arrow-up" - ] - }, { "uid": "00e74cb9bfa86a1b90b39d2d8132c3b1", "css": "arrow-up-thick", @@ -12774,20 +12788,6 @@ "minecraft" ] }, - { - "uid": "80491c76df0c066833e0f8211903d37c", - "css": "minus", - "code": 983924, - "src": "custom_icons", - "selected": false, - "svg": { - "path": "M791 541H209V459H791V541Z", - "width": 1000 - }, - "search": [ - "minus" - ] - }, { "uid": "4dae8d34e12ee29474c244f25a6cbc1c", "css": "minus-box", diff --git a/frontend/public/index.html b/frontend/public/index.html index 97699fe..6aa1ea1 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -5,7 +5,7 @@ - + <%= htmlWebpackPlugin.options.title %> diff --git a/frontend/src/App.vue b/frontend/src/App.vue index f61a9f4..bf3f308 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,93 +1,103 @@