From b9c0f237f7e3318719954d2b8af32e203ead39e6 Mon Sep 17 00:00:00 2001 From: Corban-Lee Jones Date: Sat, 14 Sep 2024 00:59:08 +0100 Subject: [PATCH] unique content rule frontend (incomplete) not finished for saving, editing existing subscriptions. Only appears as option under 'advanced' at the minute, choices have no affect. --- apps/static/js/api.js | 11 ++++++++ apps/static/js/home/index.js | 4 +-- apps/static/js/home/subscriptions.js | 30 ++++++++++++++++++++-- apps/templates/home/includes/submodal.html | 11 ++++++-- 4 files changed, 50 insertions(+), 6 deletions(-) diff --git a/apps/static/js/api.js b/apps/static/js/api.js index 2c0c8ba..e7e9a33 100644 --- a/apps/static/js/api.js +++ b/apps/static/js/api.js @@ -172,3 +172,14 @@ async function getGuildSettings(guildId) { async function editGuildSettings(id, formData) { return await ajaxRequest(`/api/guild-settings/${id}/`, "PUT", formData); } + +// Unique Content Rules + +async function getUniqueContentRules() { + return await ajaxRequest("/api/unique-content-rule/", "GET"); +} + +async function getUniqueContentRule(ruleId) { + return await ajaxRequest(`/api/unique-content-rule/${ruleId}/`, "GET"); +} + diff --git a/apps/static/js/home/index.js b/apps/static/js/home/index.js index 4a6f07f..e150dac 100644 --- a/apps/static/js/home/index.js +++ b/apps/static/js/home/index.js @@ -122,12 +122,12 @@ $(document).ready(function() { $(this).replaceWith(`
- + -
diff --git a/apps/static/js/home/subscriptions.js b/apps/static/js/home/subscriptions.js index 72a0aa4..4403912 100644 --- a/apps/static/js/home/subscriptions.js +++ b/apps/static/js/home/subscriptions.js @@ -416,6 +416,7 @@ $(document).on("selectedServerChange", async function() { await loadChannelOptions(guildId); await loadFilterOptions(guildId); await loadMutatorOptions(); + await loadUniqueContentRuleOptions(); }) async function updateDefaultSubEmbedColour(settings=null) { @@ -568,6 +569,33 @@ async function loadChannelOptions(guildId) { } } +async function loadUniqueContentRuleOptions() { + $("#subUniqueRules").prop("disabled", true); + + $("#subUniqueRules option").each(function() { + if ($(this).val()) { $(this).remove() } + }); + + $("#subUniqueRules").val("").change(); + + try { + const rules = await getUniqueContentRules(); + rules.results.forEach(rule => { + $("#subUniqueRules").append($("