Commit graph

438 commits

Author SHA1 Message Date
Kailash Nadh
ef1f84ee7c Add new description field to lists. Closes #925. 2022-11-01 21:04:35 +05:30
Kailash Nadh
95b8df2918 Add tests for new subscription form. 2022-10-29 15:23:28 +05:30
Kailash Nadh
3b0083190e Add ability for subscribers to manage preferences on the unsub form.
- Ability to change name.
- Ability to unsubscribe from individual lists.
- Toggle option to enable this in Admin Settings -> Privacy.

Closes #455.
2022-10-29 15:23:28 +05:30
Kailash Nadh
372a144322 Display template IDs on the list UI and popup editor. Closes #986. 2022-10-22 17:29:31 +05:30
Kailash Nadh
d2e8a9368c Upgrade Cypress to major version 10. 2022-10-18 21:58:57 +05:30
Kailash Nadh
bea1680360 Fix incorrect day-of-week on the UI. Closes #942. 2022-10-01 14:12:07 +05:30
Kailash Nadh
5b8c705f03 Fix headers not being copied in campaign clone. Closes #948. 2022-09-16 23:19:15 +05:30
Kailash Nadh
6d820f4f6e Add maintenance options.
- Add new maintenance UI with options to garbage collect (delete)
  orphan subscriber and analytics records.
2022-09-03 14:58:25 +05:30
Kailash Nadh
cd09c5a59d Remove MailerSend (no config available) from SMTP settings UI. 2022-07-30 21:05:58 +05:30
Kailash Nadh
57dbb9e5db Add explicit warning on empty password to SMTP test UI. 2022-07-30 20:42:17 +05:30
dependabot[bot]
d19a55b08a
Bump terser from 4.7.0 to 4.8.1 in /frontend (#885)
Bumps [terser](https://github.com/terser/terser) from 4.7.0 to 4.8.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-21 10:40:21 +05:30
Kailash Nadh
df31426566 Add button to insert HTML snippets into WYSIWYG editor. 2022-07-13 22:24:27 +05:30
Kailash Nadh
9107edf867 Add SMTP config shortcuts for popular providers in the settings UI. 2022-07-11 21:17:23 +05:30
Kailash Nadh
278d5bf74e Merge branch 'test-smtp' 2022-07-11 19:46:03 +05:30
Kailash Nadh
ee448170ef Add support for testing SMTP connections in the settings UI. 2022-07-11 19:44:44 +05:30
Kailash Nadh
e99c8ed86b Disable template type updation after creation to prevent breaking of campaign relations. 2022-07-09 10:36:12 +05:30
Kailash Nadh
5a5caca256 Refactor campaign/template preview functions and component. 2022-07-09 10:36:12 +05:30
Kailash Nadh
f26f7c60af Refactor template tests. 2022-07-09 10:36:12 +05:30
Kailash Nadh
bc07a459ea Fix clone tx template on the templates UI. 2022-07-09 10:36:12 +05:30
Kailash Nadh
463e92d1e1 Add transactional (tx) messaging capability.
This commit adds a new API `POST /api/tx` that sends an ad-hoc message
to a subscriber based on a pre-defined transactional template. This is
a large commit that adds the following:

- New campaign / tx template types on the UI. tx templates have an
  additional subject field.
- New fields `type` and `subject` to the templates table.
- Refactor template CRUD operations and models.
- Refactor template func assignment in manager.
- Add pre-compiled template caching to manager runtime.
- Pre-compile all tx templates into memory on program boot to avoid
  expensive template compilation on ad-hoc tx messages.
2022-07-09 10:36:12 +05:30
Kailash Nadh
83a0e1057e Add 'test' button to SMTP UI to test connections. 2022-07-09 10:33:50 +05:30
dependabot[bot]
66499acbf7
Bump shell-quote from 1.7.2 to 1.7.3 in /frontend
Bumps [shell-quote](https://github.com/substack/node-shell-quote) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/substack/node-shell-quote/releases)
- [Changelog](https://github.com/substack/node-shell-quote/blob/master/CHANGELOG.md)
- [Commits](https://github.com/substack/node-shell-quote/compare/v1.7.2...1.7.3)

---
updated-dependencies:
- dependency-name: shell-quote
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-23 04:10:01 +00:00
dependabot[bot]
ffffdcf028
Bump eventsource from 1.0.7 to 1.1.1 in /frontend
Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.0.7 to 1.1.1.
- [Release notes](https://github.com/EventSource/eventsource/releases)
- [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md)
- [Commits](https://github.com/EventSource/eventsource/compare/v1.0.7...v1.1.1)

---
updated-dependencies:
- dependency-name: eventsource
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-01 18:33:35 +00:00
Kailash Nadh
e0b01a89ef Fix UI elements not getting locked on finished campaigns. Closes #771 2022-05-11 21:53:34 +05:30
Kailash Nadh
a3fd4616e3 Merge big refactor with the 'core' branch. 2022-05-08 19:23:57 +05:30
Kailash Nadh
b4f0c7ef31 Fix ambiguous route name in frontend route definitions. 2022-05-08 19:23:43 +05:30
Kailash Nadh
fee2ef3cc9 Upgrade axios lib.
The dependabot axios upgrade introduced an unknown bug that broke
axios calls. Upgrading to the latest version seems to fix that.
2022-05-08 19:21:32 +05:30
Kailash Nadh
9aef4f2741 Enable browser spell check in the campaign editor UI. Closes #786. 2022-05-08 14:41:54 +05:30
Kailash Nadh
19c1e51c60 Fix unsub status not showing for non-optin lists on the subscribers UI. 2022-05-08 14:39:08 +05:30
Kailash Nadh
d39816e5eb
Merge pull request #795 from knadh/dependabot/npm_and_yarn/frontend/axios-0.21.2
Bump axios from 0.21.1 to 0.21.2 in /frontend
2022-05-03 10:52:19 +05:30
Kailash Nadh
b5cd9498b1 Refactore all CRUD functions to a new core package.
This is a long pending refactor. All the DB, query, CRUD, and related
logic scattered across HTTP handlers are now moved into a central
`core` package with clean, abstracted methods, decoupling HTTP
handlers from executing direct DB queries and other business logic.

eg: `core.CreateList()`, `core.GetLists()` etc.

- Remove obsolete subscriber methods.
- Move optin hook queries to core.
- Move campaign methods to `core`.
- Move all campaign methods to `core`.
- Move public page functions to `core`.
- Move all template functions to `core`.
- Move media and settings function to `core`.
- Move handler middleware functions to `core`.
- Move all bounce functions to `core`.
- Move all dashboard functions to `core`.
- Fix GetLists() not honouring type
- Fix unwrapped JSON responses.
- Clean up obsolete pre-core util function.
- Replace SQL array null check with cardinality check.
- Fix missing validations in `core` queries.
- Remove superfluous deps on internal `subimporter`.
- Add dashboard functions to `core`.
- Fix broken domain ban check.
- Fix broken subscriber check middleware.
- Remove redundant error handling.
- Remove obsolete functions.
- Remove obsolete structs.
- Remove obsolete queries and DB functions.
- Document the `core` package.
2022-05-03 10:50:29 +05:30
Kailash Nadh
a94f238952 Sanitize HTML in Buefy dialogs. 2022-05-01 12:14:01 +05:30
dependabot[bot]
f489573298
Bump axios from 0.21.1 to 0.21.2 in /frontend
Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.1...v0.21.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-30 05:50:26 +00:00
dependabot[bot]
8794c92a83
Bump async from 2.6.3 to 2.6.4 in /frontend
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-29 17:20:14 +00:00
dependabot[bot]
2b787025a4
Bump minimist from 1.2.5 to 1.2.6 in /frontend
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-27 01:48:03 +00:00
Kailash Nadh
a7145511fd
Merge pull request #726 from knadh/dependabot/npm_and_yarn/frontend/prismjs-1.27.0
Bump prismjs from 1.25.0 to 1.27.0 in /frontend
2022-03-20 11:08:16 +05:30
Kailash Nadh
61e1260144
Merge pull request #728 from knadh/dependabot/npm_and_yarn/frontend/url-parse-1.5.10
Bump url-parse from 1.5.7 to 1.5.10 in /frontend
2022-03-20 11:08:01 +05:30
Kailash Nadh
4e6410ec17 Fix list_ids not being considered in bulk list change on the UI. Fixes #737. 2022-03-20 11:02:43 +05:30
Kailash Nadh
ef643a14a3 Add ability to export select subscriber ids.
- Add `id=[]` query param to `/api/subscribers/export` API.
- Add UI export prompt.
- Add Cypress tests.

Closes #739
2022-03-19 13:44:23 +05:30
Kailash Nadh
8db8ecfccd Upgrade Cypress. 2022-03-19 13:44:06 +05:30
Kailash Nadh
bfce146895 Hide confirmed/unconfirmed from single opt-in lists on the UI. Ref #741 2022-03-19 11:14:02 +05:30
Giovanni Harting
3eca66c81b activated anchor plugin for TinyMCE editor 2022-03-17 11:44:45 +01:00
Kailash Nadh
f9854bc54b Remove redundant status from single opt-in list subscriptions on the UI. Closes #741. 2022-03-10 19:30:28 +05:30
Kailash Nadh
3b0c8b3b15 Fix updated settings/config init routine on settings UI. 2022-03-02 21:31:00 +05:30
Kailash Nadh
b4c716302f Don't show duration on scheduled campaigns that are finished. Closes #701. 2022-03-02 21:22:44 +05:30
Kailash Nadh
8d6e475479 Merge branch 'fix-i18n' 2022-03-02 21:00:07 +05:30
Kailash Nadh
c4f1bed517 Add missing i18n strings to dayjs. Closes #717. 2022-03-02 20:58:12 +05:30
Kailash Nadh
e87c80eee1 Refactor app init routines to load config/i18n before main app mount.
Move config/language loading outside the main Vue() instance mount
as the app dependencies require i18n before they are mounted.

This commit moves config/language loading outside the app routines
to plain API calls, which on success, initialize and mount the main
view App instance.
2022-03-01 22:23:54 +05:30
dependabot[bot]
28a8b9600d
Bump url-parse from 1.5.7 to 1.5.10 in /frontend
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.7 to 1.5.10.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.7...1.5.10)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 04:50:31 +00:00
dependabot[bot]
ac8c568d39
Bump prismjs from 1.25.0 to 1.27.0 in /frontend
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.25.0 to 1.27.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.25.0...v1.27.0)

---
updated-dependencies:
- dependency-name: prismjs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-26 01:59:33 +00:00
Kailash Nadh
76a86fa34a Add i18n translation to document titles in the router. 2022-02-24 08:56:06 +05:30
Kailash Nadh
45878db35f Change list UI status counts to i18n plural. Ref: #717 2022-02-23 20:53:39 +05:30
Kailash Nadh
6fe36db477 Fix incorrect i18n tooltip in dashboard graph. 2022-02-23 20:50:35 +05:30
dependabot[bot]
4835a956ec
Bump url-parse from 1.5.3 to 1.5.7 in /frontend
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.3 to 1.5.7.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.3...1.5.7)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-19 04:38:16 +00:00
Kailash Nadh
3495af7712
Merge pull request #714 from knadh/dependabot/npm_and_yarn/frontend/ajv-6.12.6
Bump ajv from 6.12.2 to 6.12.6 in /frontend
2022-02-16 20:04:25 +05:30
Kailash Nadh
caa27f30cf
Merge pull request #699 from yatish27/fix_typos
Fix typos
2022-02-16 20:04:03 +05:30
dependabot[bot]
0a6f28ae28
Bump ajv from 6.12.2 to 6.12.6 in /frontend
Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.12.2 to 6.12.6.
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.2...v6.12.6)

---
updated-dependencies:
- dependency-name: ajv
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-16 14:33:53 +00:00
dependabot[bot]
afdaf46824
Bump follow-redirects from 1.14.7 to 1.14.8 in /frontend
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-13 17:28:55 +00:00
Yatish Mehta
6c903239dd Fix typos 2022-02-13 08:54:39 -08:00
Kailash Nadh
0ecfb89f19 Remember appearance sub tab in settings UI. 2022-02-12 17:13:45 +05:30
Kailash Nadh
481d6ef0a2 Move bundled fonts to a better location. 2022-02-12 13:24:18 +05:30
Kailash Nadh
93366f4e9e Remember last chosen tab on the settings UI.
This commit adds a UI setting that was accidentally lost from an
earlier PR.

It introduces `$utils.setPref()|getPref()` to save arbitrary key/value
preferences in a JSON blob under the app's namespace in localStorage.
2022-02-06 16:12:08 +05:30
Kailash Nadh
0f6a0376da Add accurate realtime message rate counter.
The `rate` field `/api/campaigns/running/stats` returned was computed
based on the total time spent from the start of the campaign to the
current time. This meant that for large campaigns, if there were
pauses or slowdowns in between, the rate would be skewed heavily
making it useless to figure out the current send rate.

This commit introduces a realtime running rate counter in the campaign
manager that returns accurate (running) send rates for the last minute.

The `rate` field in the API now shows the live running rate and a
new `net_rate` field shows the rate from the beginning of the campaign.
2022-02-06 11:38:02 +05:30
Kailash Nadh
02eaa661aa Fix lists test to accommodate new UI yes/no campaign prompts. 2022-02-05 18:51:22 +05:30
Kailash Nadh
251c1ea64f Fix campaign start throwing error when disabling schedule on the UI.
Closes #690
2022-02-04 22:43:42 +05:30
Kailash Nadh
da30d4688e Add subscriber status counts to the lists UI.
- Change `query-lists` query to aggregate the subscriber count by
  status (confirmed, unsubscribed etc.) and expose them under a new
  `subscriber_statuses: {}` field in the `GET /lists` API.
- Display the statuses and counts in the lists table on the UI.

Closes #616
2022-02-03 00:03:31 +05:30
Kailash Nadh
182795ec10 Refactor table stats field set styles. 2022-02-03 00:00:57 +05:30
Kailash Nadh
2614b072f2 Refactor campaign analytics to show unique / non-unique data.
The analytics page showed non-unique counts for views and clicks which
was misleading and source of confusion: #522, #561, #571, #676, #680
This commit changes this behaviour to pull unique views and clicks when
individual subscriber tracking is turned on in settings, and non-unique
counts when it is turned off (as `subscriber_id` in `campaign_views`
and `link_clicks` will be NULL, rendering unique queries dysfunctional).

This commit changes the stats SQL queries to use string interpolation
to either to SELECT `*` or `DISTINCT subscriber_id` on app boot based
on the setting in the DB. This involves significant changes to how
queries are read and prepared on init.

- Refactor `initQueries()` to `readQueries()` and `prepareQueries()`.
- Read queries first before preparing.
- Load settings from the DB using the read settings query.
- Prepare queries next. Use the privacy setting from the DB to apply
  string interpolation to the analytics queries to pull
  unique/non-unique before preparing the queries.

On the UI:
- Show a note on the analytics page about unique/non-unique counts.
- Hide the % donut charts on the analytics page in non-unique mode.

Closes #676, closes #680
2022-02-01 23:40:03 +05:30
Kailash Nadh
636db204fc Fix editor HTML beautification in incorrectly adding breaks to links.
Closes #655
2022-01-30 21:43:23 +05:30
Kailash Nadh
64d2c5aeb9 Add support for custom public S3 URLs. Closes #505. 2022-01-15 21:20:32 +05:30
Kailash Nadh
c6d5d862e2 Warn of unsaved changes on the campaign editor on navigation. Closes #551. 2022-01-15 17:20:22 +05:30
Kailash Nadh
4c09cc1fc3 Auto-focus TinyMCE editor area on load. 2022-01-15 16:46:38 +05:30
Kailash Nadh
04ea18c87d Refactor opt-in confirmation behaviour in subscriber update API.
- Updating a subscriber no longer triggers an opt-in confirmation mail
  as `POST /api/subscribers/:id/optin` allows that.
- A "Send opt-in confirmation" option is added to the subscriber
  update UI.

Closes #656.
2022-01-15 15:50:13 +05:30
Kailash Nadh
c95427e299 Merge branch 'master' of github.com:knadh/listmonk 2022-01-15 12:59:35 +05:30
dependabot[bot]
a314eb5885
Bump follow-redirects from 1.13.1 to 1.14.7 in /frontend
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.13.1 to 1.14.7.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.13.1...v1.14.7)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-14 14:12:19 +00:00
Kailash Nadh
e62dc24576 Re-order SMTP auth protocols in the settings UI by popularity. 2022-01-06 23:14:36 +05:30
Kailash Nadh
2f56057fc3 Close burger 'menu' when clicking items in mobile view. 2022-01-05 20:20:55 +05:30
Joe Paul
4c48c3240b fix(frontend): Persist messenger selection 2022-01-05 11:41:29 +05:30
Kailash Nadh
583dab4bc6 Add support for per-campaign custom headers.
- Add new `headers[]` column to the campain table.
- Add new headers box to the campaign UI that takes a JSON array of
  custom headers like the headers on the SMTP settings UI.
- Headers are added to e-mails and messenger postback webhooks.
- Add cypress tests.

Closes #514.
2022-01-04 22:27:40 +05:30
Kailash Nadh
9e9ea0ef15 Refactor automatic camel casing of API response fields.
- Remove `humps` lib dependency with a new util function.
- Replace hacky way of excluding certain fields in responses with
  a proper key filtering mechanism.
2022-01-04 22:17:05 +05:30
Kailash Nadh
dd061f56d4 Add support for direct SSL/TLS (non-STARTTLS) SMTP connections.
- Add support for TLS in `smtppool` (v0.4.0) and upgrade the lib.
- Change `tls_enabled: bool` in the settings table to string
  `tls_type: STARTTLS|TLS|none` and on the settings UI.
- Add DB migrations and schema changes to apply the field change.

Closes #504.
2022-01-03 19:28:36 +05:30
Kailash Nadh
b48a15cfa3 Fix incorrect 'nice date' formatting. Closes #635. 2021-12-27 18:55:13 +05:30
Kailash Nadh
e982e6bb25 Don't warn on format change when campaign content is empty. Closes #634. 2021-12-27 18:41:25 +05:30
Kailash Nadh
c1c2b67503 Add a link to more language packs to the language settings UI. 2021-12-18 21:50:17 +05:30
Kailash Nadh
fabe06e339 Add support for custom CSS/JS in settings for admin and public pages.
This feature was originally authored by @sweetppro in PR #438.
However, since the PR ended up in an unclean state with
multiple master merges (instead of rebase) from the upstream, there are
several commits that are out of order and can can no longer be be
squashed for a clean feature merge.

This commit aggregates the changes from the original PR and applies the
following fixes on top of it.

- Add custom admin JS box to appearance UI.
- Refactor i18n language strings.
- Add handlers and migrations for the new `appearance.admin.custom_js`
  field.
- Fix migration version to `v2.1.0`
- Load custom appearance CSS/JS bytes into global constants during boot
  instead of making a DB call on every request.
- Fix and canonicalize URIs from `/api/custom*` to `/public/*.css`
  and `/admin/*.css`. Add proxy paths to yarn proxy config.
- Remove redundant HTTP handlers for different custom appearance files
  and refactor into a single handler `serveCustomApperance()`
- Fix content-type and UTF8 encoding headers for different file types.
- Fix incorrect registration of public facing custom CSS/JS handlers
  in the authenticated admin URI group.
- Fix merge conflicts in `Settings.vue`.
- Minor HTML and style fixes.
- Remove the `AppearanceEditor` component and use the existing
  `HTMLEditor` component instead.
- Add `language` prop to the `HTMLEditor` component.

Co-authored-by: SweetPPro <sweetppro@users.noreply.github.com>
2021-12-18 15:38:42 +05:30
Kailash Nadh
ca128df49a Add support for searching lists + search UI. Closes #618. 2021-12-09 21:34:38 +05:30
Kailash Nadh
e9709e54ee Upgrade labstack/echo webserver to major version v4.
- echo is now on v4 with major changes including a few breaking changes
- bind() behaviour is now strict. JSON / form etc. unmarshalling of
  request data need appropriate `json`, `form` tags. Missing tags for
  the public subscription page is added in this commit.
- This also closes #602.
2021-12-09 20:51:07 +05:30
Kailash Nadh
02c1408f5c Fix broken Cypress UI tests. 2021-12-09 20:47:52 +05:30
Kailash Nadh
4cb5eb782f Fix settings form input validation.
- Fix settings UI form submit button.
- Validate upload URI. Closes #621.
2021-12-09 19:30:15 +05:30
Kailash Nadh
3386de40c7 Fix GET /subscribers calls not accepting multiple list_ids.
Closes #585
2021-11-29 20:38:57 +05:30
SweetPPro
35ac1ccdf5
Embed Inter font files and remove Google font links. Closes #547.
Only Woff2 fonts have been added, from here (utliising all charsets):
https://google-webfonts-helper.herokuapp.com/fonts/inter?subsets=cyrillic,cyrillic-ext,greek,greek-ext,latin,latin-ext,vietnamese
2021-11-10 20:43:42 +05:30
SweetPPro
46f13bf9cd
Fix broken logout link in desktop nav view (#580) 2021-11-10 20:31:34 +05:30
SweetPPro
7b9ba2efbc
improved mobile navbar/sidebar (#574)
* improved mobile navbar/sidebar

Sidebar is hidden and all menu items moved to hamburger menu on mobile devices

* improvements to menu rendering

-removed redundant code
-fixed an issue with emitting data to App.vue

* Update Navigation.vue

fixed linting errors

* Add minor refactors to the mobile menu PR.

- Fix indentation and line lengths.
- Simplify prop definitions in the Navigation component.
- Remove redundant computed methods and use prop variables directly in
  the Navigation compontent.
- Simplify menu rendering logic by:
  removing isSidebar, showLogout and using simpler v-if / else
  in the parent instead of the Navigation component.

* Update App.vue

removed orphaned isSideBar Boolean

Co-authored-by: Kailash Nadh <kailash@nadh.in>
2021-11-10 00:26:34 +05:30
Kailash Nadh
19e0ea5f6c Fix scheduling params being ignored on the create campaign UI. Fixes #516. 2021-11-07 09:17:54 +05:30
dependabot[bot]
2819ca86cb
Bump tinymce from 5.9.2 to 5.10.0 in /frontend
Bumps [tinymce](https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce) from 5.9.2 to 5.10.0.
- [Release notes](https://github.com/tinymce/tinymce/releases)
- [Changelog](https://github.com/tinymce/tinymce/blob/develop/modules/tinymce/CHANGELOG.md)
- [Commits](https://github.com/tinymce/tinymce/commits/5.10.0/modules/tinymce)

---
updated-dependencies:
- dependency-name: tinymce
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-02 15:53:03 +00:00
Kailash Nadh
5bfbe15c24 Fix campaign template preview not working without saving. Closes #553. 2021-10-31 11:49:43 +05:30
Kailash Nadh
f39ee4e783 Fix TinyMce campaign editor toolbar to the top on scroll. Closes #549. 2021-10-28 22:21:44 +05:30
Kailash Nadh
1c8ac0f866 Add 'preconfirm subscription' option to subscriber UI. Closes #526. 2021-10-27 20:46:37 +05:30
Kailash Nadh
ed8d68bd54 Add anti-bot nonce field to generated forms. Closes #541. 2021-10-27 20:10:29 +05:30
Kailash Nadh
bc9252f410 Autogenerate subscriber name from e-mail on the UI if it's empty. Closes #525. 2021-10-20 21:54:22 +05:30