diff --git a/CHANGELOG.md b/CHANGELOG.md index e650f8f6..c98348d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ All notable changes to this project will be documented in this file. ## Bug Fixes - Fix unwanted HTML escaping in SMS and WhatsApp notifications - Fix a crash when adding an integration for an empty Trello account +- Change icon CSS class prefix to 'ic-' to work around Fanboy's filter list ## v1.18.0 - 2020-12-09 diff --git a/hc/api/admin.py b/hc/api/admin.py index bcc766f1..a95fa850 100644 --- a/hc/api/admin.py +++ b/hc/api/admin.py @@ -199,7 +199,7 @@ class ChannelsAdmin(admin.ModelAdmin): if obj.kind == "email" and not obj.email_verified: note = " (not verified)" - return f' {obj.kind}{note}' + return f' {obj.kind}{note}' def ok(self, obj): return False if obj.last_error else True diff --git a/hc/front/tests/test_channels.py b/hc/front/tests/test_channels.py index c0613df3..84db5671 100644 --- a/hc/front/tests/test_channels.py +++ b/hc/front/tests/test_channels.py @@ -119,5 +119,5 @@ class ChannelsTestCase(BaseTestCase): r = self.client.get(self.channels_url) self.assertNotContains(r, "Add Integration", status_code=200) - self.assertNotContains(r, "icon-delete") + self.assertNotContains(r, "ic-delete") self.assertNotContains(r, "edit_webhook") diff --git a/hc/front/tests/test_my_checks.py b/hc/front/tests/test_my_checks.py index 83f1dbfb..3b17312f 100644 --- a/hc/front/tests/test_my_checks.py +++ b/hc/front/tests/test_my_checks.py @@ -55,7 +55,7 @@ class MyChecksTestCase(BaseTestCase): self.client.login(username="alice@example.org", password="password") r = self.client.get(self.url) - self.assertContains(r, "icon-up") + self.assertContains(r, "ic-up") def test_it_shows_red_check(self): self.check.last_ping = timezone.now() - td(days=3) @@ -64,7 +64,7 @@ class MyChecksTestCase(BaseTestCase): self.client.login(username="alice@example.org", password="password") r = self.client.get(self.url) - self.assertContains(r, "icon-down") + self.assertContains(r, "ic-down") def test_it_shows_amber_check(self): self.check.last_ping = timezone.now() - td(days=1, minutes=30) @@ -73,7 +73,7 @@ class MyChecksTestCase(BaseTestCase): self.client.login(username="alice@example.org", password="password") r = self.client.get(self.url) - self.assertContains(r, "icon-grace") + self.assertContains(r, "ic-grace") def test_it_hides_add_check_button(self): self.profile.check_limit = 0 diff --git a/static/css/base.css b/static/css/base.css index 435713c2..e9af141f 100644 --- a/static/css/base.css +++ b/static/css/base.css @@ -99,10 +99,10 @@ body { width: 24px; } -.status.icon-up, .status.icon-started { color: #5cb85c; } -.status.icon-new, .status.icon-paused { color: #CCC; } -.status.icon-grace { color: #f0ad4e; } -.status.icon-down { color: #d9534f; } +.status.ic-up, .status.ic-started { color: #5cb85c; } +.status.ic-new, .status.ic-paused { color: #CCC; } +.status.ic-grace { color: #f0ad4e; } +.status.ic-down { color: #d9534f; } .label.label-start { background-color: #FFF; diff --git a/static/css/channels.css b/static/css/channels.css index 9142a094..7218e447 100644 --- a/static/css/channels.css +++ b/static/css/channels.css @@ -228,7 +228,7 @@ table.channels-table > tbody > tr > th { margin-bottom: 0; } -.page-channels .icon-delete { +.page-channels .ic-delete { font-size: 16px; } diff --git a/static/css/icomoon.css b/static/css/icomoon.css index 5e1e896b..a92052df 100644 --- a/static/css/icomoon.css +++ b/static/css/icomoon.css @@ -1,15 +1,14 @@ @font-face { font-family: 'icomoon'; - src: url('../fonts/icomoon.eot?y9u69e'); - src: url('../fonts/icomoon.eot?y9u69e#iefix') format('embedded-opentype'), - url('../fonts/icomoon.ttf?y9u69e') format('truetype'), - url('../fonts/icomoon.woff?y9u69e') format('woff'), - url('../fonts/icomoon.svg?y9u69e#icomoon') format('svg'); + src: + url('../fonts/icomoon.ttf?ed2ba') format('truetype'), + url('../fonts/icomoon.woff?ed2ba') format('woff'), + url('../fonts/icomoon.svg?ed2ba#icomoon') format('svg'); font-weight: normal; font-style: normal; } -[class^="icon-"], [class*=" icon-"] { +[class^="ic-"], [class*=" ic-"] { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'icomoon' !important; speak: never; @@ -24,147 +23,147 @@ -moz-osx-font-smoothing: grayscale; } -.icon-signal:before { +.ic-signal:before { content: "\e91c"; color: #2592e9; } -.icon-linenotify:before { +.ic-linenotify:before { content: "\e91b"; color: #00c300; } -.icon-call:before { +.ic-call:before { content: "\e91a"; color: #e81a34; } -.icon-spike:before { +.ic-spike:before { content: "\e919"; color: #007bff; } -.icon-zulip:before { +.ic-zulip:before { content: "\e918"; color: #1e9459; } -.icon-pd:before { +.ic-pd:before { content: "\e90b"; color: #04ac38; } -.icon-shell:before { +.ic-shell:before { content: "\e917"; } -.icon-msteams:before { +.ic-msteams:before { content: "\e916"; color: #4e56be; } -.icon-opsgenie:before { +.ic-opsgenie:before { content: "\e910"; color: #2684ff; } -.icon-mattermost:before { +.ic-mattermost:before { content: "\e907"; color: #045acc; } -.icon-pagerteam:before { +.ic-pagerteam:before { content: "\e914"; color: #cd2a00; } -.icon-apprise:before { +.ic-apprise:before { content: "\e915"; color: #236b6b; } -.icon-matrix:before { +.ic-matrix:before { content: "\e900"; } -.icon-started:before { +.ic-started:before { content: "\e038"; } -.icon-pagertree:before { +.ic-pagertree:before { content: "\e90d"; color: #33ade2; } -.icon-po:before { +.ic-po:before { content: "\e90e"; color: #249df1; } -.icon-victorops:before { +.ic-victorops:before { content: "\e90f"; color: #f9af4a; } -.icon-email:before { +.ic-email:before { content: "\e90a"; color: #4f5d73; } -.icon-webhook:before { +.ic-webhook:before { content: "\e908"; color: #c73a63; } -.icon-sms:before { +.ic-sms:before { content: "\e904"; color: #95c144; } -.icon-pushbullet:before { +.ic-pushbullet:before { content: "\e909"; color: #67bf79; } -.icon-discord:before { +.ic-discord:before { content: "\e90c"; color: #7289da; } -.icon-hipchat:before { +.ic-hipchat:before { content: "\e901"; color: #0052cc; } -.icon-slack:before { +.ic-slack:before { content: "\e905"; color: #56b68b; } -.icon-telegram:before { +.ic-telegram:before { content: "\e906"; color: #2ca5e0; } -.icon-trello:before { +.ic-trello:before { content: "\e911"; color: #0079bf; } -.icon-whatsapp:before { +.ic-whatsapp:before { content: "\e902"; color: #25d366; } -.icon-clippy:before { +.ic-clippy:before { content: "\e903"; } -.icon-cancel:before { +.ic-cancel:before { content: "\e5c9"; } -.icon-up:before, .icon-new:before, .icon-ok:before { +.ic-up:before, .ic-new:before, .ic-ok:before { content: "\e86c"; } -.icon-grace:before { +.ic-grace:before { content: "\e000"; } -.icon-missing:before { +.ic-missing:before { content: "\e001"; } -.icon-desc:before { +.ic-desc:before { content: "\e313"; } -.icon-asc:before { +.ic-asc:before { content: "\e316"; } -.icon-dots:before { +.ic-dots:before { content: "\e5d3"; } -.icon-down:before { +.ic-down:before { content: "\e7f7"; } -.icon-paused:before { +.ic-paused:before { content: "\e7f6"; } -.icon-settings:before { +.ic-settings:before { content: "\e912"; } -.icon-delete:before { +.ic-delete:before { content: "\e913"; } -.icon-timer:before { +.ic-timer:before { content: "\e425"; } diff --git a/static/css/settings.css b/static/css/settings.css index 7bc0ccc1..410d0fbc 100644 --- a/static/css/settings.css +++ b/static/css/settings.css @@ -11,7 +11,7 @@ padding-bottom: 24px; } -.page-project .icon-ok { +.page-project .ic-ok { color: #5cb85c; } diff --git a/static/fonts/icomoon.ttf b/static/fonts/icomoon.ttf index 06389143..f783366a 100644 Binary files a/static/fonts/icomoon.ttf and b/static/fonts/icomoon.ttf differ diff --git a/static/fonts/icomoon.woff b/static/fonts/icomoon.woff index 6b419e8f..d87da2e2 100644 Binary files a/static/fonts/icomoon.woff and b/static/fonts/icomoon.woff differ diff --git a/static/js/checks.js b/static/js/checks.js index ff378dbd..e6f055f7 100644 --- a/static/js/checks.js +++ b/static/js/checks.js @@ -165,7 +165,7 @@ $(function () { // Second click: update UI and pause the check btn.removeClass("confirm").tooltip("hide"); var code = btn.closest("tr.checks-row").attr("id"); - $("#" + code + " span.status").attr("class", "status icon-paused"); + $("#" + code + " span.status").attr("class", "status ic-paused"); var url = base + "/checks/" + code + "/pause/"; var token = $('input[name=csrfmiddlewaretoken]').val(); @@ -187,9 +187,9 @@ $(function () { container: "body", title: function() { var cssClasses = this.getAttribute("class"); - if (cssClasses.indexOf("icon-new") > -1) + if (cssClasses.indexOf("ic-new") > -1) return "New. Has never received a ping."; - if (cssClasses.indexOf("icon-paused") > -1) + if (cssClasses.indexOf("ic-paused") > -1) return "Monitoring paused. Ping to resume."; if (cssClasses.indexOf("sort-name") > -1) @@ -215,7 +215,7 @@ $(function () { for(var i=0, el; el=data.details[i]; i++) { if (lastStatus[el.code] != el.status) { lastStatus[el.code] = el.status; - $("#" + el.code + " span.status").attr("class", "status icon-" + el.status); + $("#" + el.code + " span.status").attr("class", "status ic-" + el.status); } if (lastStarted[el.code] != el.started) { diff --git a/static/js/details.js b/static/js/details.js index ae87a06f..611d82e7 100644 --- a/static/js/details.js +++ b/static/js/details.js @@ -85,7 +85,7 @@ $(function () { success: function(data) { if (data.status_text != lastStatusText) { lastStatusText = data.status_text; - $("#log-status-icon").attr("class", "status icon-" + data.status); + $("#log-status-icon").attr("class", "status ic-" + data.status); $("#log-status-text").html(data.status_text); $('#pause-btn').prop('disabled', data.status == "paused"); diff --git a/static/js/snippet-copy.js b/static/js/snippet-copy.js index 7f5efb9c..285a6c3a 100644 --- a/static/js/snippet-copy.js +++ b/static/js/snippet-copy.js @@ -5,7 +5,7 @@ $(function() { } var markup = ''; diff --git a/templates/accounts/project.html b/templates/accounts/project.html index b4318cbe..d5dcad86 100644 --- a/templates/accounts/project.html +++ b/templates/accounts/project.html @@ -110,7 +110,7 @@ {% else %}
{% endif %} {% else %} - + API access is disabled.