export type EmojiCategory = {
    id: string;
    label: string;
    emojis: string[];
};

function uniqueEmojis(emojis: string[]): string[] {
    return [...new Set(emojis.filter(Boolean))];
}

/**
 * Curated emoji sets for teachers — no external picker dependency.
 * Shared by every EmojiPickerField in the admin (Grade Hero, competitions, growth plan, etc.).
 * Category ids/labels are fixed; only the emoji lists are expanded here.
 *
 * Generated by scripts/generate-emoji-catalog.mjs — do not hand-edit large lists.
 */
export const EMOJI_CATEGORIES: EmojiCategory[] = [
    {
        id: "smileys",
        label: "Smileys",
        emojis: uniqueEmojis([
            "😀", "😁", "😂", "😃", "😄", "😅", "😆", "😇", "😈", "😉",
            "😊", "😋", "😌", "😍", "😎", "😏", "😐", "😑", "😒", "😓",
            "😔", "😕", "😖", "😗", "😘", "😙", "😚", "😛", "😜", "😝",
            "😞", "😟", "😠", "😡", "😢", "😣", "😤", "😥", "😦", "😧",
            "😨", "😩", "😪", "😫", "😬", "😭", "😮", "😯", "😰", "😱",
            "😲", "😳", "😴", "😵", "😶", "😷", "😸", "😹", "😺", "😻",
            "😼", "😽", "😾", "😿", "🙀", "🙁", "🙂", "🙃", "🙄", "🙅",
            "🙆", "🙇", "🙈", "🙉", "🙊", "🙋", "🙌", "🙍", "🙎", "🙏",
            "🤐", "🤑", "🤒", "🤓", "🤔", "🤕", "🤖", "🤗", "🤘", "🤙",
            "🤚", "🤛", "🤜", "🤝", "🤞", "🤟", "🤠", "🤡", "🤢", "🤣",
            "🤤", "🤥", "🤦", "🤧", "🤨", "🤩", "🤪", "🤫", "🤬", "🤭",
            "🤮", "🤯", "🥰", "🥱", "🥲", "🥳", "🥴", "🥵", "🥶", "🥷",
            "🥸", "🥹", "🥺", "🥼", "🥽", "🥾", "🥿", "🦰", "🦱", "🦲",
            "🦳", "🦴", "🦵", "🦶", "🦷", "🦸", "🦹", "🧐", "🧑", "🧒",
            "🧓", "🧔", "🧕", "🧖", "🧗", "🧘", "🧙", "🧚", "🧛", "🧜",
            "🧝", "🧞", "🧟", "👊", "👋", "👌", "👍", "👎", "👏", "🖐",
            "🖑", "🖒", "🖓", "🖔", "🖕", "🖖", "💪", "❤️", "🧡", "💛",
            "💚", "💙", "💜", "🤎", "🖤", "🤍", "💯", "🎉", "🎊", "🎈",
            "🎁", "✨", "⭐", "🌟", "⚡", "🔥", "🏆", "🥇", "🥈", "🥉",
            "🏅", "✅", "❌", "⭕", "❗", "❓", "🫶",
        ]),
    },
    {
        id: "education",
        label: "Education",
        emojis: uniqueEmojis([
            "📕", "📖", "📗", "📘", "📙", "📚", "📑", "📒", "📓", "📔",
            "📃", "📄", "📁", "📂", "🗂", "🗃", "🗄", "📋", "📌", "📍",
            "📎", "🖇", "📐", "📏", "✂️", "🖊", "🖋", "✒️", "🖌", "🖍",
            "📝", "✏️", "🔍", "🔎", "🎓", "🎒", "🏫", "🧑‍🏫", "👩‍🏫", "👨‍🏫",
            "🧑‍🎓", "👩‍🎓", "👨‍🎓", "🧑‍💻", "👩‍💻", "👨‍💻", "🧑‍🔬", "👩‍🔬", "👨‍🔬", "🧑‍🎨",
            "👩‍🎨", "👨‍🎨", "📊", "📈", "📉", "📅", "📆", "🗓", "📇", "📢",
            "📣", "🔔", "🔕", "🎤", "🎧", "🎵", "🎶", "🎼", "🎙", "🎚",
            "🎛", "🎨", "🖼", "🎭", "🎯", "🧩", "🧸", "💻", "🖥", "⌨️",
            "🖱", "🖨", "📱", "📲", "☎️", "📞", "📟", "📠", "💡", "🔦",
            "💤", "💭", "💬", "🧠", "🏆", "🥇", "🥈", "🥉", "🏅", "🎖",
            "💯", "💰", "💳", "💸", "💼", "📦", "✉️", "📧", "📨", "📩",
            "📤", "📥", "📫", "📪", "📬", "📭", "📮", "🗳", "🔏", "🔐",
            "🔑", "🗝", "🔒", "🔓", "📜", "📀", "💾", "💿", "💽", "🧮",
            "🧾", "🧿", "🩴", "🧰", "🧲", "🪜", "⚖️", "🔗", "⚙️", "🔧",
            "🪛", "🪚", "🔨", "🪓", "⛏️", "🛠", "🗡", "🗒", "🔬", "🔭",
            "🧪", "🧫", "🧬", "⚗️", "🌡", "📰", "🗞", "📷", "📸", "📹",
            "🎥", "📽", "🎞", "📺", "📻", "📼", "📡", "🛰", "🚀",
        ]),
    },
    {
        id: "science",
        label: "Science",
        emojis: uniqueEmojis([
            "🔬", "🔭", "🧪", "⚗️", "🧫", "🧬", "💉", "🩸", "💊", "🩹",
            "🩺", "🩻", "🌡", "🧯", "🔋", "🪫", "🔌", "💡", "🔦", "🕯",
            "📡", "🛰", "🚀", "🛸", "🪐", "🌍", "🌎", "🌏", "🌐", "🗺",
            "🧭", "⛰️", "🏔", "🌋", "🗻", "🏕", "⛺", "🏞", "🏜", "🏝",
            "🏖", "🌊", "💧", "💦", "☔", "☂️", "🌀", "🌈", "☀️", "🌤",
            "⛅", "🌥", "☁️", "🌦", "🌧", "⛈", "🌩", "🌨", "❄️", "☃️",
            "⛄", "🌬", "💨", "🌪", "🌫", "☄️", "🔥", "💥", "✨", "⭐",
            "🌟", "💫", "⚡", "🌙", "🌛", "🌜", "🌚", "🌕", "🌖", "🌗",
            "🌘", "🌑", "🌒", "🌓", "🌔", "🌝", "🌞", "🌱", "🌿", "☘️",
            "🍀", "🎋", "🍃", "🍂", "🍁", "🍄", "🌾", "🌵", "🌴", "🌳",
            "🌲", "🪵", "🪴", "🌷", "🌹", "🥀", "🌺", "🌸", "🌼", "🌻",
            "🐀", "🐁", "🐂", "🐃", "🐄", "🐅", "🐆", "🐇", "🐈", "🐉",
            "🐊", "🐋", "🐌", "🐍", "🐎", "🐏", "🐐", "🐑", "🐒", "🐓",
            "🐔", "🐕", "🐖", "🐗", "🐘", "🐙", "🐚", "🐛", "🐜", "🐝",
            "🐞", "🐟", "🐠", "🐡", "🐢", "🐣", "🐤", "🐥", "🐦", "🐧",
            "🐨", "🐩", "🐪", "🐫", "🐬", "🐭", "🐮", "🐯", "🐰", "🐱",
            "🐲", "🐳", "🐴", "🐵", "🐶", "🐷", "🐸", "🐹", "🐺", "🐻",
            "🐼", "🐽", "🐾", "🦋", "🪲", "🦗", "🪳", "🕷", "🕸", "🦂",
            "🦟", "🪰", "🪱", "🦠", "🧑‍⚕️", "👩‍⚕️", "👨‍⚕️", "🧑‍🔬", "👩‍🔬", "👨‍🔬",
            "🧑‍🚀", "👩‍🚀", "👨‍🚀", "♻️", "⚛️", "☢️", "☣️", "⚠️", "🚫", "🚭",
            "🚯", "🚱", "🚳", "🚷", "📵", "🔞", "💻", "🖥", "💾", "💿",
            "💽", "📀", "🧮", "🧲", "🧰", "🪜", "⚖️", "🔧", "🪛", "🪚",
            "⚙️", "🔗", "⛓️", "🪝", "🧱", "🪨",
        ]),
    },
    {
        id: "math",
        label: "Math",
        emojis: uniqueEmojis([
            "➕", "➖", "✖️", "➗", "🟰", "♾️", "🔢", "🔣", "🔠", "🔡",
            "🔤", "#️⃣", "*️⃣", "0️⃣", "1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣",
            "7️⃣", "8️⃣", "9️⃣", "🔟", "💯", "🧮", "📐", "📏", "✏️", "📝",
            "📊", "📈", "📉", "💹", "💰", "💵", "💴", "💶", "💷", "🪙",
            "💸", "💳", "🧾", "💎", "⚖️", "🎲", "🎯", "🧩", "♟️", "🃏",
            "🀄", "🎴", "♠️", "♥️", "♦️", "♣️", "🔺", "🔻", "🔶", "🔷",
            "🔸", "🔹", "💠", "🔘", "🔳", "🔲", "⬛", "⬜", "◼️", "◻️",
            "◾", "◽", "▪️", "▫️", "🟥", "🟧", "🟨", "🟩", "🟦", "🟪",
            "🟫", "🔴", "🟠", "🟡", "🟢", "🔵", "🟣", "🟤", "⚫", "⚪",
            "📶", "💻", "🖥", "⌨️", "🖱", "🖨", "💾", "💿", "💽", "📀",
            "📱", "💡", "🔋", "🔌", "🧭", "⏱️", "⏲️", "⏰", "🕰", "⌛",
            "⏳", "⌚", "📡", "🔭", "🔬", "🧪", "⚗️", "🧫", "🧬", "💉",
            "🩸", "💊", "🩹", "🩺", "🌡", "🧲", "🧰", "🪜", "🔧", "🪛",
            "🪚", "⚙️", "🧱", "⛓️", "🔗", "🪝", "‼️", "⁉️", "❓", "❔",
            "❕", "❗", "〰️", "💱", "💲", "⚕️", "♻️", "⚜️", "🔱", "📛",
            "🔰", "⭕", "✅", "☑️", "✔️", "❌", "❎", "➰", "➿", "〽️",
            "✳️", "✴️", "❇️", "©️", "®️", "™️", "ℹ️", "🔞", "🏁", "🚩",
            "🎌", "🏴", "🏳️",
        ]),
    },
    {
        id: "nature",
        label: "Nature",
        emojis: uniqueEmojis([
            "🌱", "🌿", "☘️", "🍀", "🎋", "🍃", "🍂", "🍁", "🍄", "🌾",
            "🌵", "🌴", "🌳", "🌲", "🪵", "🪴", "🌷", "🌹", "🥀", "🌺",
            "🌸", "🌼", "🌻", "💐", "💮", "🏵", "🌍", "🌎", "🌏", "🌐",
            "🗺", "🗾", "🧭", "⛰️", "🏔", "🌋", "🗻", "🏕", "⛺", "🏞",
            "🏜", "🏝", "🏖", "🌊", "🌄", "🌅", "🌆", "🌇", "🌃", "🌉",
            "🌁", "🏙", "☀️", "🌤", "⛅", "🌥", "☁️", "🌦", "🌧", "⛈",
            "🌩", "🌨", "❄️", "☃️", "⛄", "🌬", "💨", "🌪", "🌫", "🌈",
            "🌀", "⚡", "🔥", "☄️", "💥", "✨", "⭐", "🌟", "💫", "🌙",
            "🌛", "🌜", "🌚", "🌕", "🌖", "🌗", "🌘", "🌑", "🌒", "🌓",
            "🌔", "🌝", "🌞", "🪐", "🐀", "🐁", "🐂", "🐃", "🐄", "🐅",
            "🐆", "🐇", "🐈", "🐉", "🐊", "🐋", "🐌", "🐍", "🐎", "🐏",
            "🐐", "🐑", "🐒", "🐓", "🐔", "🐕", "🐖", "🐗", "🐘", "🐙",
            "🐚", "🐛", "🐜", "🐝", "🐞", "🐟", "🐠", "🐡", "🐢", "🐣",
            "🐤", "🐥", "🐦", "🐧", "🐨", "🐩", "🐪", "🐫", "🐬", "🐭",
            "🐮", "🐯", "🐰", "🐱", "🐲", "🐳", "🐴", "🐵", "🐶", "🐷",
            "🐸", "🐹", "🐺", "🐻", "🐼", "🐽", "🐾", "🦀", "🦁", "🦂",
            "🦃", "🦄", "🦅", "🦆", "🦇", "🦈", "🦉", "🦊", "🦋", "🦌",
            "🦍", "🦎", "🦏", "🦐", "🦑", "🦒", "🦓", "🦔", "🦕", "🦖",
            "🦗", "🦘", "🦙", "🦚", "🦛", "🦜", "🦝", "🦞", "🦟", "🦠",
            "🦡", "🦢", "🦣", "🦤", "🦥", "🦦", "🦧", "🦨", "🦩", "🦪",
            "🦫", "🦬", "🦭", "🦮", "🪲", "🪳", "🕷", "🕸", "🪰", "🪱",
            "🍎", "🍏", "🍐", "🍊", "🍋", "🍌", "🍉", "🍇", "🍓", "🫐",
            "🍈", "🍒", "🍑", "🥭", "🍍", "🥥", "🍅", "🍆", "🥑", "🥦",
            "🥬", "🥒", "🌶", "🫑", "🌽", "🥕", "🫒", "🧄", "🧅", "🥔",
            "🍠", "🥐", "🥖", "🥨", "🥯", "🥞", "🧇", "🧀", "🥚", "🍳",
            "🧈", "🥓", "🥩", "🍗", "🍖", "🦴", "🌭", "🍔", "🍟", "🍕",
            "🥪", "🥙", "🌮", "🌯", "🫔", "🥗", "🥘", "🫕", "🥫", "🍝",
            "🍜", "🍲", "🍛", "🍣", "🍱", "🥟", "🍤", "🍙", "🍚", "🍘",
            "🍥", "🥠", "🥮", "🍢", "🍡", "🍧", "🍨", "🍦", "🍰", "🧁",
            "🎂", "🍮", "🍭", "🍬", "🍫", "🍿", "🍩", "🍪", "🌰", "🥜",
            "🍯", "🥛", "🍼", "🫖", "☕", "🍵", "🧃", "🥤", "🧋", "🍶",
            "🍺", "🍻", "🥂", "🍷", "🥃", "🍸", "🍹", "🧉", "🍾", "🧊",
            "🥄", "🍴", "🍽", "🥣", "🥡", "🥢", "🧂",
        ]),
    },
    {
        id: "symbols",
        label: "Symbols",
        emojis: uniqueEmojis([
            "✅", "☑️", "✔️", "❌", "❎", "⭕", "🚫", "⛔", "📛", "💯",
            "💢", "💥", "💫", "💦", "💨", "🕳", "💣", "💬", "👁‍🗨", "🗨",
            "🗯", "💭", "💤", "⚠️", "🚸", "🚳", "🚭", "🚯", "🚱", "🚷",
            "📵", "🔞", "☢️", "☣️", "⬆️", "↗️", "➡️", "↘️", "⬇️", "↙️",
            "⬅️", "↖️", "↕️", "↔️", "↩️", "↪️", "⤴️", "⤵️", "🔃", "🔄",
            "🔙", "🔚", "🔛", "🔜", "🔝", "🛐", "⚛️", "🕉", "✡️", "☸️",
            "☯️", "✝️", "☦️", "☪️", "☮️", "🕎", "🔯", "♈", "♉", "♊",
            "♋", "♌", "♍", "♎", "♏", "♐", "♑", "♒", "♓", "⛎",
            "🔀", "🔁", "🔂", "▶️", "⏩", "⏭", "⏯", "◀️", "⏪", "⏮",
            "🔼", "⏫", "🔽", "⏬", "⏸️", "⏹️", "⏺️", "⏏️", "🎦", "🔅",
            "🔆", "📶", "📳", "📴", "♀️", "♂️", "⚧️", "✖️", "➕", "➖",
            "➗", "♾️", "‼️", "⁉️", "❓", "❔", "❕", "❗", "〰️", "💱",
            "💲", "⚕️", "♻️", "⚜️", "🔱", "🔰", "➰", "➿", "〽️", "✳️",
            "✴️", "❇️", "©️", "®️", "™️", "#️⃣", "*️⃣", "0️⃣", "1️⃣", "2️⃣",
            "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣", "🔟", "🔠", "🔡",
            "🔢", "🔣", "🔤", "🅰️", "🆎", "🅱️", "🆑", "🆒", "🆓", "ℹ️",
            "🆔", "Ⓜ️", "🆕", "🆖", "🅾️", "🆗", "🅿️", "🆘", "🆙", "🆚",
            "🔴", "🟠", "🟡", "🟢", "🔵", "🟣", "🟤", "⚫", "⚪", "🟥",
            "🟧", "🟨", "🟩", "🟦", "🟪", "🟫", "⬛", "⬜", "◼️", "◻️",
            "◾", "◽", "▪️", "▫️", "🔶", "🔷", "🔸", "🔹", "🔺", "🔻",
            "💠", "🔘", "🔳", "🔲", "🏁", "🚩", "🎌", "🏴", "🏳️", "🏳️‍🌈",
            "🏳️‍⚧️", "🏴‍☠️", "❤️", "🧡", "💛", "💚", "💙", "💜", "🤎", "🖤",
            "🤍", "💔", "❤️‍🔥", "❤️‍🩹", "💕", "💖", "💗", "💘", "💝", "💞",
            "💟", "❣️", "💋",
        ]),
    },
];

export const ALL_CURATED_EMOJIS = uniqueEmojis(
    EMOJI_CATEGORIES.flatMap((category) => category.emojis),
);
