25 lines
845 B
JavaScript
25 lines
845 B
JavaScript
import { ArtBrowser } from "../apps/ArtBrowser.mjs";
|
|
|
|
/*
|
|
This hook handles adding the button for selecting an image using this module
|
|
into the prototype token config and the token-specific config. Handling both
|
|
apps with a single hook.
|
|
*/
|
|
Hooks.on(`renderTokenApplication`, (app, form) => {
|
|
// Locate where we want to inject the button
|
|
/** @type {HTMLElement | undefined} */
|
|
const picker = form.querySelector(`file-picker[name="texture.src"]`);
|
|
if (!picker) { return };
|
|
|
|
// Create the button and listener
|
|
const button = document.createElement(`button`);
|
|
button.type = `button`;
|
|
button.classList = `icon fa-solid fa-paintbrush`;
|
|
button.addEventListener(`click`, async () => {
|
|
const src = await ArtBrowser.select(1);
|
|
picker.value = src;
|
|
});
|
|
|
|
// Inject the element into the DOM
|
|
picker.insertAdjacentElement(`afterend`, button);
|
|
});
|