-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpatch.message.js
More file actions
39 lines (38 loc) · 1.41 KB
/
patch.message.js
File metadata and controls
39 lines (38 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import eventManager from 'src/utils/eventManager.js';
import * as settings from 'src/utils/settings/index.js';
import { global } from 'src/utils/global.js';
import { dismissable } from 'src/utils/2.toasts.js';
import onPage from 'src/utils/onPage.js';
import cleanData from 'src/utils/cleanData.js';
import Translation from 'src/structures/constants/translation';
const setting = settings.register({
name: Translation.Setting('game.season'),
key: 'underscript.season.disable',
refresh: () => onPage(''),
category: Translation.CATEGORY_HOME,
});
eventManager.on(':preload:', () => {
if (setting.value()) return;
document.querySelectorAll('.infoIndex').forEach((el) => {
const patch = el.querySelector('[data-i18n-custom="home-patch-message"]');
if (!patch) return;
const element = $(el);
const version = patch.dataset.i18nArgs;
el.remove();
const prefix = 'underscript.season.dismissed.';
const key = `${prefix}${version}`;
cleanData(prefix, key);
eventManager.on('underscript:ready', () => {
const translateElement = global('translateElement');
element.find('[data-i18n-custom],[data-i18n]').each((i, e) => translateElement($(e)));
const value = element.text();
if (localStorage.getItem(key) === value) return;
dismissable({
key,
text: element.html(),
title: Translation.Toast('game.update'),
value,
});
});
});
});