|
import { MODULE_NAME, premiumModuleSelector } from "./consts.js";
|
|
|
|
// Should return true for anything premium
|
|
export function isPremiumApplication(app, html, data, appName) {
|
|
if (app.constructor.name.startsWith("SWPF")) {
|
|
console.debug(`${MODULE_NAME} | ${appName} starts with 'SWPF' => add .premium`);
|
|
html[0].classList.add("premium");
|
|
html.closest(".app").find(".journal-entry-content").addClass(".premium");
|
|
return true;
|
|
}
|
|
for (var key in app.document?.flags) {
|
|
//prettier-ignore
|
|
const sigilPremium = new RegExp(/^pf2e-ap\d{3}-/);
|
|
if (sigilPremium.test(key)) {
|
|
console.debug(`${MODULE_NAME} | ${appName} contains key matching '^pf2e-ap{3}-' => add .premium`);
|
|
html[0].classList.add("premium");
|
|
html.closest(".app").find(".journal-entry-content").addClass("premium");
|
|
|
|
return true;
|
|
}
|
|
}
|
|
for (var key in app.document?.flags) {
|
|
//prettier-ignore
|
|
const fvttPremium = new RegExp(/^pf2e-(beginner-box|abomination-vaults|kingmaker|km|mercenary-marketplace-vol1|pfs)/);
|
|
if (fvttPremium.test(key)) {
|
|
console.debug(
|
|
`${MODULE_NAME} | ${appName} contains key matching '^pf2e-(beginner-box|abomination-vaults|kingmaker|km|mercenary-marketplace-vol1|pfs)' => add .premium`
|
|
);
|
|
html[0].classList.add("premium");
|
|
html.closest(".app").find(".journal-entry-content").addClass("premium");
|
|
return true;
|
|
}
|
|
}
|
|
const isKingmaker = "pf2e-kingmaker.KingmakerJournalSheet" === app.document?.flags?.["core"]?.sheetClass;
|
|
if (isKingmaker) {
|
|
console.debug(`${MODULE_NAME} | ${appName} contains core flags for kingmaker => add .premium`);
|
|
html[0].classList.add("premium");
|
|
html.closest(".app").find(".journal-entry-content").addClass("premium");
|
|
return true;
|
|
}
|
|
if (html[0].matches(premiumModuleSelector)) {
|
|
console.debug(
|
|
`${MODULE_NAME} | render${app.constructor.name} | matches premiumModuleSelector => do not add .dorako-ui`
|
|
);
|
|
html[0].classList.add("premium");
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
Hooks.on("renderKingmakerJournalSheet", (app, html, data) => {
|
|
console.debug(`${MODULE_NAME} | renderKingmakerJournalSheet' => add .premium`);
|
|
html[0].classList.add("premium");
|
|
html.closest(".app").find(".journal-entry-content").addClass(".premium");
|
|
});
|
|
|
|
Hooks.on("renderJournalSheet", (app, html, data) => {
|
|
isPremiumApplication(app, html, data, "JournalSheet");
|
|
});
|
|
|
|
Hooks.on("renderJournalPageSheet", (app, html, data) => {
|
|
isPremiumApplication(app, html, data, "JournalPageSheet");
|
|
});
|
|
|
|
Hooks.on("renderJournalTextPageSheet", (app, html, data) => {
|
|
isPremiumApplication(app, html, data, "JournalTextPageSheet");
|
|
});
|
|
|
|
Hooks.on("renderSWPFCompendiumTOC", (app, html, appName) => {
|
|
console.debug(`${MODULE_NAME} | ${appName} starts with 'SWPF' => add .premium`);
|
|
html[0].classList.add("premium");
|
|
// html.closest(".app").find(".journal-entry-content").addClass(".premium");
|
|
});
|