export const generateThemedEmotePrompt = (prompt: string, theme: string) => {
    let styleDescription = '';
    let additionalDetails = '';
  
    switch (theme.toLowerCase()) {
        case 'pixel':
            styleDescription = 'in a pixel art style';
            additionalDetails = 'The design should use a limited color palette and visible pixels, reminiscent of early video game graphics.';
            break;
        case 'kawaii':
            styleDescription = 'in a kawaii style';
            additionalDetails = 'The design should be ultra-cute with soft colors, simple shapes, and possibly blush marks on the cheeks.';
            break;
        case 'object':
            styleDescription = 'as an object';
            additionalDetails = 'The emote should represent a physical object with clear, simple lines and vibrant colors.';
            break;
        case 'cute-bold-line':
            styleDescription = 'with cute bold lines';
            additionalDetails = 'The design should feature bold, rounded lines that enhance the cuteness of the emote.';
            break;
        case 'text-based':
            styleDescription = 'as text-based';
            additionalDetails = 'The emote should primarily use stylized text or calligraphy to convey an expression or sentiment.';
            break;
        case '3d-based':
            styleDescription = 'in a 3D style';
            additionalDetails = 'The emote should have a three-dimensional appearance, with detailed shading and lighting to enhance depth.';
            break;
        case 'pepe-based':
            styleDescription = 'in a Pepe style';
            additionalDetails = 'The emote should mimic the distinctive, somewhat crude art style of Pepe the Frog memes.';
            break;
        case 'sticker-based':
            styleDescription = 'as a sticker';
            additionalDetails = 'The emote should look like a sticker, possibly with a white border and shadow to give it a lifted effect.';
            break;
        case 'chibi':
            styleDescription = 'in a chibi style';
            additionalDetails = 'The character should have large, expressive eyes and a cute, simplified design with an oversized head and small body.';
            break;
        case 'meme':
            styleDescription = 'as a meme';
            additionalDetails = 'The emote should incorporate elements of popular memes, using humor and recognizable themes.';
            break;
        case 'ghibli':
            styleDescription = 'inspired by Studio Ghibli\\'s art style';
            additionalDetails = 'The emote should have a whimsical, hand-drawn quality with soft edges and a slightly muted color palette.';
            break;
        default:
            // Provide a generic description if the theme is not recognized
            styleDescription = 'with a unique style';
            additionalDetails = 'The design should be visually appealing and recognizable at a small scale.';
    }

    return `Design a single, expressive digital emote ${styleDescription}, suitable for use on a Twitch streamer's channel. The emote should depict ${prompt}, ensuring visibility and impact at a small scale. It should feature exaggerated characteristics appropriate for ${prompt}, conveying a specific emotion or reaction. ${additionalDetails} The background should be transparent for seamless integration into various Twitch chat backgrounds, or have a solid white background if transparency is not available. The emote should be part of a cohesive set that could be expanded with additional designs.`;
}