From bfc2d71ca04cb6fe63c855d85955a462224f517c Mon Sep 17 00:00:00 2001 From: jude Date: Sat, 14 May 2022 12:02:46 +0100 Subject: [PATCH] patreon --- postman/src/sender.rs | 1 + web/src/lib.rs | 3 + web/src/routes/mod.rs | 18 +++++ .../img/support/delete_reminder/cancel-1.png | Bin 0 -> 17827 bytes .../img/support/delete_reminder/cancel-2.png | Bin 0 -> 13874 bytes web/static/js/main.js | 22 ++++++ web/templates/help.html.tera | 59 +++++++++++++++ .../guild_reminder.html.tera | 9 +-- web/templates/support/dashboard.tera | 22 ++++++ .../support/delete_reminder.html.tera | 18 +++++ web/templates/support/iemanager.tera | 26 +++++++ web/templates/support/intervals.html.tera | 70 ++++++++++++++++++ web/templates/support/timezone.html.tera | 6 +- web/templates/terms.html.tera | 7 +- 14 files changed, 248 insertions(+), 13 deletions(-) create mode 100644 web/static/img/support/delete_reminder/cancel-1.png create mode 100644 web/static/img/support/delete_reminder/cancel-2.png create mode 100644 web/templates/support/dashboard.tera create mode 100644 web/templates/support/iemanager.tera create mode 100644 web/templates/support/intervals.html.tera diff --git a/postman/src/sender.rs b/postman/src/sender.rs index 2007519..138d3c7 100644 --- a/postman/src/sender.rs +++ b/postman/src/sender.rs @@ -294,6 +294,7 @@ ON reminders.channel_id = channels.id WHERE reminders.`utc_time` < NOW() +LIMIT 25 "#, ) .fetch_all(pool) diff --git a/web/src/lib.rs b/web/src/lib.rs index dbce207..10fdb41 100644 --- a/web/src/lib.rs +++ b/web/src/lib.rs @@ -126,6 +126,9 @@ pub async fn initialize( routes::help_timers, routes::help_todo_lists, routes::help_macros, + routes::help_intervals, + routes::help_dashboard, + routes::help_iemanager, ], ) .mount("/login", routes![routes::login::discord_login, routes::login::discord_callback]) diff --git a/web/src/routes/mod.rs b/web/src/routes/mod.rs index d60fab1..29c9352 100644 --- a/web/src/routes/mod.rs +++ b/web/src/routes/mod.rs @@ -86,3 +86,21 @@ pub async fn help_macros() -> Template { let map: HashMap<&str, String> = HashMap::new(); Template::render("support/macros", &map) } + +#[get("/intervals")] +pub async fn help_intervals() -> Template { + let map: HashMap<&str, String> = HashMap::new(); + Template::render("support/intervals", &map) +} + +#[get("/dashboard")] +pub async fn help_dashboard() -> Template { + let map: HashMap<&str, String> = HashMap::new(); + Template::render("support/dashboard", &map) +} + +#[get("/iemanager")] +pub async fn help_iemanager() -> Template { + let map: HashMap<&str, String> = HashMap::new(); + Template::render("support/iemanager", &map) +} diff --git a/web/static/img/support/delete_reminder/cancel-1.png b/web/static/img/support/delete_reminder/cancel-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0075f314889aae215c2cf4f1506ecb0afacdb126 GIT binary patch literal 17827 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 C`GxoZ literal 0 HcmV?d00001 diff --git a/web/static/img/support/delete_reminder/cancel-2.png b/web/static/img/support/delete_reminder/cancel-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9c0757b5d4769a25527f5ca5608c2dfdd1ffff01 GIT binary patch literal 13874 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 V4o8s3RtW%m$V)3rRZ18K{%?rUMR@=K literal 0 HcmV?d00001 diff --git a/web/static/js/main.js b/web/static/js/main.js index 43b2d8d..3da6c63 100644 --- a/web/static/js/main.js +++ b/web/static/js/main.js @@ -18,6 +18,7 @@ let roles = []; let templates = {}; let globalPatreon = false; +let guildPatreon = false; function guildId() { return document.querySelector(".guildList a.is-active").dataset["guild"]; @@ -78,6 +79,18 @@ function reset_guild_pane() { .forEach((opt) => opt.remove()); } +async function fetch_patreon(guild_id) { + fetch(`/dashboard/api/guild/${guild_id}/patreon`) + .then((response) => response.json()) + .then((data) => { + if (data.error) { + show_error(data.error); + } else { + return data.patreon; + } + }); +} + function fetch_roles(guild_id) { fetch(`/dashboard/api/guild/${guild_id}/roles`) .then((response) => response.json()) @@ -370,6 +383,10 @@ function deserialize_reminder(reminder, frame, mode) { document.addEventListener("guildSwitched", async (e) => { $loader.classList.remove("is-hidden"); + document + .querySelectorAll(".patreon-only") + .forEach((el) => el.classList.add("is-locked")); + let $anchor = document.querySelector( `.switch-pane[data-guild="${e.detail.guild_id}"]` ); @@ -378,6 +395,11 @@ document.addEventListener("guildSwitched", async (e) => { reset_guild_pane(); $anchor.classList.add("is-active"); + if (globalPatreon || (await fetch_patreon(e.detail.guild_id))) { + document + .querySelectorAll(".patreon-only") + .forEach((el) => el.classList.remove("is-locked")); + } fetch_roles(e.detail.guild_id); fetch_templates(e.detail.guild_id); await fetch_channels(e.detail.guild_id); diff --git a/web/templates/help.html.tera b/web/templates/help.html.tera index 72f20d0..b65b40d 100644 --- a/web/templates/help.html.tera +++ b/web/templates/help.html.tera @@ -93,6 +93,65 @@ +
+
+ +
+
+
+

Dashboard

+

Learn to use the interactive web dashboard

+ +
+
+
+
+

Import/Export

+

Learn how to import and export data from the dashboard

+ +
+
+
+
+
+
+

Need more help?

+

+ Feel free to come and ask us! +

+
+
+ +
+ {% endblock %} diff --git a/web/templates/reminder_dashboard/guild_reminder.html.tera b/web/templates/reminder_dashboard/guild_reminder.html.tera index 8449750..5918800 100644 --- a/web/templates/reminder_dashboard/guild_reminder.html.tera +++ b/web/templates/reminder_dashboard/guild_reminder.html.tera @@ -158,9 +158,9 @@
-
+
- +
@@ -206,11 +206,6 @@
-
-
- -
-
+
+
+
+

Deleting reminders you've just created

+

+ If you made a mistake, you can quickly delete a reminder you made by pressing "Cancel" +
+

+
+ Cancel button +
+
+ Reminder deleted +
+
+
+
+
diff --git a/web/templates/support/iemanager.tera b/web/templates/support/iemanager.tera new file mode 100644 index 0000000..007daa1 --- /dev/null +++ b/web/templates/support/iemanager.tera @@ -0,0 +1,26 @@ +{% extends "base" %} + +{% block init %} + {% set title = "Support" %} + + {% set page_title = "Import/Export" %} + {% set page_subtitle = "" %} +{% endblock %} + +{% block content %} + +
+
+
+

Export your data

+

+ You can create reminders with the /remind command. +
+ Fill out the "time" and "content" fields. If you wish, press on "Optional" to view other options + for the reminder. +

+
+
+
+ +{% endblock %} diff --git a/web/templates/support/intervals.html.tera b/web/templates/support/intervals.html.tera new file mode 100644 index 0000000..fc8889e --- /dev/null +++ b/web/templates/support/intervals.html.tera @@ -0,0 +1,70 @@ +{% extends "base" %} + +{% block init %} + {% set title = "Support" %} + + {% set page_title = "Intervals" %} + {% set page_subtitle = "Interval reminders, or repeating reminders, are available to our Patreon supporters" %} +{% endblock %} + +{% block content %} + +
+
+
+

Fixed intervals

+

+ The main type of interval is the fixed interval. Fixed intervals are ideal for hourly, daily, or + reminders repeating at any other fixed amount of time. +
+ You can create fixed interval reminders via the dashboard or via the /remind command. + When you have filled out the "time" and "content" on the command, press tab. Select the + "interval" option. Then, write the interval you wish to use: for example, "1 day" for daily (starting + at the time specified in "time"). +

+
+
+
+ +
+
+
+

Daylight savings

+

+ If you live in a region that uses daylight savings (DST), then your interval reminders may become + offset by an hour due to clock changes. +
+ Reminder Bot offers a quick solution to this via the /offset command. This command + moves all existing reminders on a server by a certain amount of time. You can use offset to move + your reminders forward or backward by an hour when daylight savings happens. +

+
+
+
+ +
+
+
+

Monthly/yearly intervals

+

+ Monthly or yearly intervals are configured the same as fixed intervals. Instead of a fixed time + interval, these reminders repeat on a certain day each month or each year. This makes them ideal + for marking certain dates. +

+
+
+
+ +
+
+
+

Interval expiration

+

+ An expiration time can also be specified, both via commands and dashboard, for repeating reminders. + This is optional, and if omitted, the reminder will repeat indefinitely. +

+
+
+
+ +{% endblock %} diff --git a/web/templates/support/timezone.html.tera b/web/templates/support/timezone.html.tera index 4992525..16e8f32 100644 --- a/web/templates/support/timezone.html.tera +++ b/web/templates/support/timezone.html.tera @@ -3,8 +3,8 @@ {% block init %} {% set title = "Support" %} - {% set page_title = "Timezone Help" %} - {% set page_subtitle = "Timezones are tricky. Read on for help" %} + {% set page_title = "Timezones" %} + {% set page_subtitle = "" %} {% set show_invite = false %} {% endblock %} @@ -31,7 +31,7 @@

Selecting your timezone automatically

- A new feature we offer is the ability to configure Reminder Bot's timezone from your browser. To do + You can also configure Reminder Bot's timezone from your browser. To do this, go to our dashboard, press 'Timezone' in the bottom left (desktop) or at the bottom of the navigation menu (mobile). Then, choose 'Set Bot Timezone' to set Reminder Bot to use your browser's timezone. diff --git a/web/templates/terms.html.tera b/web/templates/terms.html.tera index 9847d8f..9eee18f 100644 --- a/web/templates/terms.html.tera +++ b/web/templates/terms.html.tera @@ -23,8 +23,8 @@ Reminder Bot or the Discord server.

- The Terms of Service may be updated at any time, and should be considered a guideline for appropriate - behaviour. + The Terms of Service may be updated at any time. Notice will be provided via the Discord server. You + should consider the Terms of Service to be a guideline for appropriate behaviour.

@@ -35,7 +35,8 @@
  • Reasonably disclose potential exploits or bugs to me by email or by Discord private message
  • Do not use the bot to harass other Discord users
  • -
  • Do not use the bot to send more than 30 messages during a 60 second period
  • +
  • Do not use the bot to transmit malware or other illegal content
  • +
  • Do not use the bot to send more than 15 messages during a 60 second period