mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-11 00:14:50 +03:00
Message whitelist #201:
* sort options based on domain count (highest top) * hide when whitelist not active
This commit is contained in:
parent
e12eeeafc6
commit
85d3a95dec
3 changed files with 20 additions and 6 deletions
|
|
@ -156,12 +156,24 @@ export class MessageModel extends AbstractModel {
|
|||
let options = [];
|
||||
if ('match' === SettingsUserStore.viewImages()) {
|
||||
let from = this.from[0],
|
||||
list = SettingsUserStore.viewImagesWhitelist();
|
||||
from && options.push(from.email);
|
||||
this.html().match(/src=["'][^"']+/g)?.forEach(m => options.push(m.replace(/^.+(:\/\/[^/]+).+$/, '$1')));
|
||||
options = options.filter(txt => !list.includes(txt));
|
||||
list = SettingsUserStore.viewImagesWhitelist(),
|
||||
counts = {};
|
||||
this.html().match(/src=["'][^"']+/g)?.forEach(m => {
|
||||
m = m.replace(/^.+(:\/\/[^/]+).+$/, '$1');
|
||||
if (counts[m]) {
|
||||
++counts[m];
|
||||
} else {
|
||||
counts[m] = 1;
|
||||
options.push(m);
|
||||
}
|
||||
});
|
||||
options = options.filter(txt => !list.includes(txt)).sort((a,b) => (counts[a] < counts[b])
|
||||
? 1
|
||||
: (counts[a] > counts[b] ? -1 : a.localeCompare(b))
|
||||
);
|
||||
from && options.unshift(from.email);
|
||||
}
|
||||
return options.unique();
|
||||
return options;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue