-- Inserir tipos textuais
INSERT INTO public.essay_types (slug, title, description, icon) VALUES
    ('narrative', 'Narrativo', 'Textos que narram acontecimentos reais ou fictícios, com personagens, tempo e espaço definidos', '📖'),
    ('descriptive', 'Descrição', 'Textos que descrevem detalhadamente características de algo ou alguém', '🎨'),
    ('expository', 'Expositivo', 'Textos que explicam e informam sobre um determinado assunto', '📚'),
    ('argumentative', 'Argumentativo', 'Textos que defendem uma ideia ou ponto de vista com argumentos', '⚖️'),
    ('injunctive', 'Injuntivo', 'Textos que orientam ou instruem sobre como realizar algo', '📝');

-- Inserir gêneros textuais para tipo Narrativo
INSERT INTO public.essay_genres (type_id, slug, title, description, icon, requirements) VALUES
    ((SELECT id FROM public.essay_types WHERE slug = 'narrative'), 
     'short-story', 
     'Conto', 
     'História curta com poucos personagens e um único conflito', 
     '📚',
     '{"min_words": 200, "max_words": 1000, "required_elements": ["personagens", "tempo", "espaço", "conflito", "resolução"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'narrative'), 
     'chronicle', 
     'Crônica', 
     'Narrativa curta que retrata situações do cotidiano', 
     '📰',
     '{"min_words": 150, "max_words": 800, "required_elements": ["situação_cotidiana", "reflexão", "linguagem_informal"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'narrative'), 
     'novel', 
     'Romance', 
     'História longa com desenvolvimento aprofundado de personagens e tramas', 
     '📖',
     '{"min_words": 1000, "max_words": 3000, "required_elements": ["personagens_principais", "personagens_secundários", "múltiplos_conflitos", "desenvolvimento_completo"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'narrative'), 
     'news', 
     'Notícia', 
     'Relato de fatos reais de forma objetiva', 
     '📰',
     '{"min_words": 150, "max_words": 500, "required_elements": ["lead", "corpo_da_notícia", "objetividade"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'narrative'), 
     'biography', 
     'Biografia/Autobiografia', 
     'Relato da vida de uma pessoa', 
     '👤',
     '{"min_words": 300, "max_words": 1000, "required_elements": ["dados_pessoais", "acontecimentos_importantes", "ordem_cronológica"]}'
    );

-- Inserir gêneros textuais para tipo Descritivo
INSERT INTO public.essay_genres (type_id, slug, title, description, icon, requirements) VALUES
    ((SELECT id FROM public.essay_types WHERE slug = 'descriptive'), 
     'menu', 
     'Cardápio', 
     'Descrição detalhada de pratos e bebidas', 
     '🍽️',
     '{"min_words": 50, "max_words": 200, "required_elements": ["nome_do_prato", "ingredientes", "preço"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'descriptive'), 
     'descriptive-report', 
     'Relato descritivo', 
     'Descrição detalhada de um objeto, pessoa ou ambiente', 
     '🔍',
     '{"min_words": 200, "max_words": 600, "required_elements": ["características_físicas", "sensações", "detalhes_específicos"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'descriptive'), 
     'reportage', 
     'Reportagem', 
     'Descrição aprofundada de um fato ou tema', 
     '📰',
     '{"min_words": 400, "max_words": 1000, "required_elements": ["contextualização", "detalhamento", "fontes"]}'
    );

-- Inserir gêneros textuais para tipo Expositivo
INSERT INTO public.essay_genres (type_id, slug, title, description, icon, requirements) VALUES
    ((SELECT id FROM public.essay_types WHERE slug = 'expository'), 
     'didactic-text', 
     'Texto didático', 
     'Explicação clara de um conteúdo para fins educacionais', 
     '📚',
     '{"min_words": 200, "max_words": 800, "required_elements": ["definição", "exemplos", "explicação"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'expository'), 
     'lecture', 
     'Palestra', 
     'Apresentação expositiva sobre um tema específico', 
     '🎤',
     '{"min_words": 500, "max_words": 1500, "required_elements": ["introdução", "desenvolvimento", "conclusão", "exemplos_práticos"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'expository'), 
     'reportage-exp', 
     'Reportagem', 
     'Texto informativo sobre um tema ou acontecimento', 
     '📰',
     '{"min_words": 400, "max_words": 1000, "required_elements": ["contextualização", "dados", "fontes"]}'
    );

-- Inserir gêneros textuais para tipo Argumentativo
INSERT INTO public.essay_genres (type_id, slug, title, description, icon, requirements) VALUES
    ((SELECT id FROM public.essay_types WHERE slug = 'argumentative'), 
     'open-letter', 
     'Carta aberta', 
     'Texto que expõe publicamente argumentos sobre uma questão', 
     '✉️',
     '{"min_words": 300, "max_words": 800, "required_elements": ["destinatário", "argumentos", "pedido_ou_reivindicação"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'argumentative'), 
     'thesis', 
     'Tese', 
     'Texto que defende uma ideia central com argumentos', 
     '📑',
     '{"min_words": 500, "max_words": 1500, "required_elements": ["hipótese", "argumentos", "comprovação"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'argumentative'), 
     'scientific-article', 
     'Artigo científico', 
     'Texto que apresenta resultados de uma pesquisa', 
     '🔬',
     '{"min_words": 1000, "max_words": 3000, "required_elements": ["introdução", "metodologia", "resultados", "conclusão"]}'
    );

-- Inserir gêneros textuais para tipo Injuntivo
INSERT INTO public.essay_genres (type_id, slug, title, description, icon, requirements) VALUES
    ((SELECT id FROM public.essay_types WHERE slug = 'injunctive'), 
     'instruction-manual', 
     'Manual de instrução', 
     'Texto que orienta sobre o uso de um produto', 
     '📖',
     '{"min_words": 100, "max_words": 500, "required_elements": ["passo_a_passo", "advertências", "ilustrações"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'injunctive'), 
     'advertisement', 
     'Propaganda', 
     'Texto que persuade o leitor a uma ação', 
     '📢',
     '{"min_words": 50, "max_words": 200, "required_elements": ["slogan", "argumentos_persuasivos", "chamada_para_ação"]}'
    ),
    ((SELECT id FROM public.essay_types WHERE slug = 'injunctive'), 
     'recipe', 
     'Receita', 
     'Texto que instrui o preparo de um prato', 
     '👩‍🍳',
     '{"min_words": 100, "max_words": 400, "required_elements": ["ingredientes", "modo_de_preparo", "tempo_de_preparo", "rendimento"]}'
    ); 