Skip to content

Commit 8ded50f

Browse files
committed
tweak patch apply conditions
1 parent 2b437f5 commit 8ded50f

File tree

5 files changed

+20
-6
lines changed

5 files changed

+20
-6
lines changed

lib/patches/abslveLink.js

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ const abslveLink = {
3737
contains: '.Team-Header',
3838
path: /^\/team\//,
3939
urlSelector: '.ModalItem',
40+
applied: elem => elem.querySelector('.Team-Abslve'),
4041
apply: patch
4142
};
4243

lib/patches/colorEmoji.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ async function patch(elem) {
3232
const colorEmoji = {
3333
name: 'colorEmoji',
3434
selector: '.GameWidget-ScoreTeamColorBar, .Team-Logo, .Widget-PlayerLineName, .Standings-Team-Emoji, .Leaderboard-Team-Emoji, .Bulletin-Widget-ScoreTeamColorBar, .Navigation-FavoriteTeamEmoji, .BossFightWidget-ScoreTeamColorBar, .PlayoffSetup-MatchupTeam-Icon, div.Events-List-Row.Events-List-Minor, .Reorder-Spread-Card-Icon, .Account-Section-Item-Icon, .Recap-Earlsiesta-Card-Icon, .Recap-Blessing-Team, .TeamLogo, .Account-Spread-Card-Icon',
35-
repatch: true,
35+
applied: () => false,
3636
apply: patch
3737
};
3838

lib/patches/playerStats.js

+1
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ const playerStats = {
265265
name: 'playerStats',
266266
selector: '.Player-Info-Stats',
267267
contains: '.ModalItem-Ratings',
268+
applied: elem => elem.querySelector('.Player-Info-Line-Button'),
268269
apply: patch
269270
};
270271

lib/scanElement.js

+9-3
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,22 @@ export default async function scanElement(elem) {
1919
}
2020

2121
for (const match of matches) {
22-
if (!patch.repatch && match.patched?.[match.name]) continue;
2322
if (patch.contains && !match.querySelector(patch.contains)) continue;
24-
markPatched(match, patch.name);
23+
24+
if (!patch.applied) {
25+
if (match.patched?.[match.name]) continue;
26+
markPatched(match, patch.name);
27+
} else {
28+
if (patch.applied(match)) continue;
29+
}
30+
2531
applications.push(patch.apply(match));
2632
}
2733
}
2834

2935
await Promise.all(applications);
3036

31-
if (elem.classList.contains('Main-Body')) {
37+
if (elem.classList.contains('Header-Logo-Era')) {
3238
await scanURL(location.pathname);
3339
}
3440
}

lib/scanURL.js

+8-2
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,15 @@ export default async function scanURL(path) {
1010
const urlSelector = patch.urlSelector ? document.querySelectorAll(patch.urlSelector) : [];
1111

1212
for (const match of [...selector, ...urlSelector]) {
13-
if (match.patched?.[match.name]) continue;
1413
if (patch.contains && !match.querySelector(patch.contains)) continue;
15-
markPatched(match, patch.name);
14+
15+
if (!patch.applied) {
16+
if (match.patched?.[match.name]) continue;
17+
markPatched(match, patch.name);
18+
} else {
19+
if (patch.applied(match)) continue;
20+
}
21+
1622
applications.push(patch.apply(match));
1723
}
1824
}

0 commit comments

Comments
 (0)