1
0
mirror of https://github.com/koloml/furbooru-tagging-assistant.git synced 2025-12-23 23:02:58 +00:00

Derpibooru: Added icon to the tag dropdown option

This commit is contained in:
2025-08-13 17:24:36 +04:00
parent 50238d8ef4
commit c330aa303a

View File

@@ -148,7 +148,13 @@ export class TagDropdownWrapper extends BaseComponent {
profileSpecificButtonText = `Remove from profile "${profileName}"`;
}
this.#toggleOnExistingButton.innerText = profileSpecificButtonText;
// Derpibooru has icons in dropdown. Make sure to only edit text and keep the icon untouched. Also, add the space
// before the text to make space between text and icon.
if (__CURRENT_SITE__ === 'derpibooru' && this.#toggleOnExistingButton.lastChild instanceof Text) {
this.#toggleOnExistingButton.lastChild.textContent = ` ${profileSpecificButtonText}`;
} else {
this.#toggleOnExistingButton.textContent = profileSpecificButtonText;
}
if (!this.#toggleOnExistingButton.isConnected) {
this.#dropdownContainer?.append(this.#toggleOnExistingButton);
@@ -243,9 +249,19 @@ export class TagDropdownWrapper extends BaseComponent {
static #createDropdownLink(text: string, onClickHandler: (event: MouseEvent) => void): HTMLAnchorElement {
const dropdownLink = document.createElement('a');
dropdownLink.href = '#';
dropdownLink.innerText = text;
dropdownLink.className = 'tag__dropdown__link';
// Derpibooru has an icon in dropdown item. Create the icon and place the text with additional space in front of it.
if (__CURRENT_SITE__ === 'derpibooru') {
const dropdownLinkIcon = document.createElement('i');
dropdownLinkIcon.classList.add('fa', 'fa-tags');
dropdownLink.textContent = ` ${text}`;
dropdownLink.insertAdjacentElement('afterbegin', dropdownLinkIcon);
} else {
dropdownLink.textContent = text;
}
dropdownLink.addEventListener('click', event => {
event.preventDefault();
onClickHandler(event);