Browse Source

Fix IconLoader to properly set title. No more duplicate icons (rambox bug).

Fixes #225 again.
pull/3202/head
TheGoddessInari 4 years ago
parent
commit
3bad65cbe5
No known key found for this signature in database
GPG Key ID: 1209B1B7632D69A
  1. 9
      app/util/IconLoader.js

9
app/util/IconLoader.js

@ -18,7 +18,8 @@ Ext.define('Hamsket.util.IconLoader', {
this.loadServiceIconUrl = function (service, webview) { this.loadServiceIconUrl = function (service, webview) {
switch (service.type) { switch (service.type) {
case 'slack': case 'slack':
setTimeout( () => setTimeout( () => {
const service_name = Ext.String.htmlEncode(service.record.get('name'));
webview.executeJavaScript( webview.executeJavaScript(
`(() => { `(() => {
let icon = document.querySelector('.c-team_icon'); let icon = document.querySelector('.c-team_icon');
@ -39,12 +40,14 @@ Ext.define('Hamsket.util.IconLoader', {
return bg.slice(5, -2); return bg.slice(5, -2);
})();`).then(function (backgroundImage) { })();`).then(function (backgroundImage) {
if (backgroundImage) { if (backgroundImage) {
service.setTitle(`<img src="${backgroundImage}" width="" style="background-color: white;border-radius: 50%;position: absolute;left: 18px;top: 17px;width: 12px;">${Ext.String.htmlEncode(service.title)}`); service.setTitle(`<img src="${backgroundImage}" width="" style="background-color: white;border-radius: 50%;position: absolute;left: 18px;top: 17px;width: 12px;">${service_name}`);
service.fireEvent('iconchange', service, backgroundImage, service.icon); service.fireEvent('iconchange', service, backgroundImage, service.icon);
} }
return true; return true;
} }
).finally({}), 1000); ).catch(err => {
console.error(`Slack IconLoader - ${service_name}: ${err}`);
});}, 1000);
break; break;
default: default:
break; break;

Loading…
Cancel
Save