function checkDiscordHtmlWarning() { var urls = $('textarea.notification-urls').val() || ''; var format = $('select.notification-format').val() || ''; var isDiscord = /discord:\/\/|https:\/\/discord(?:app)?\.com\/api/i.test(urls); var isHtml = format === 'html' || format === 'htmlcolor'; if (isDiscord && isHtml) { $('#discord-html-format-warning').show(); } else { $('#discord-html-format-warning').hide(); } } $(document).ready(function () { $('textarea.notification-urls, select.notification-format').on('change input', checkDiscordHtmlWarning); checkDiscordHtmlWarning(); $('#add-email-helper').click(function (e) { e.preventDefault(); email = prompt("Destination email"); if (email) { var n = $(".notification-urls"); var p = email_notification_prefix; $(n).val($.trim($(n).val()) + "\n" + email_notification_prefix + email); } }); $('#send-test-notification').click(function (e) { e.preventDefault(); data = { notification_urls: $('textarea.notification-urls').val(), notification_title: $('input.notification-title').val(), notification_body: $('textarea.notification-body').val(), notification_format: $('select.notification-format').val(), tags: $('#tags').val(), window_url: window.location.href, } $('.notifications-wrapper .spinner').fadeIn(); $('#notification-test-log').show(); $.ajax({ type: "POST", url: notification_base_url, data: data, statusCode: { 400: function (data) { $("#notification-test-log>span").text(data.responseText); }, } }).done(function (data) { $("#notification-test-log>span").text(data); }).fail(function (jqXHR, textStatus, errorThrown) { // Handle connection refused or other errors if (textStatus === "error" && errorThrown === "") { console.error("Connection refused or server unreachable"); $("#notification-test-log>span").text("Error: Connection refused or server is unreachable."); } else { console.error("Error:", textStatus, errorThrown); $("#notification-test-log>span").text("An error occurred: " + textStatus); } }).always(function () { $('.notifications-wrapper .spinner').hide(); }) }); });