// Emoji zoom-in functionality. import { addSpell } from "treehouse/spells.js"; import { attachTooltip, Tooltip } from "treehouse/overlay.js"; function createEmojiTooltip(emoji, element) { let tooltip = new Tooltip(element, "bottom"); tooltip.classList.add("tooltip-emoji"); let img = tooltip.appendChild(new Image()); img.src = element.src; let description = tooltip.appendChild(document.createElement("p")); description.textContent = emoji.emojiName; return tooltip; } class Emoji { constructor(element) { this.emojiName = element.title; // title makes the browser add a tooltip. We replace browser tooltips with our own, // so remove the title. element.title = ""; attachTooltip(element, () => createEmojiTooltip(this, element)).showOnHover(); } } addSpell("emoji", Emoji);