Spaces:
Build error
Build error
File size: 8,598 Bytes
cceb8c6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
import { useState, useMemo } from 'react'
import Head from 'next/head'
import { FiSearch, FiCopy, FiCheck, FiFilter } from 'react-icons/fi'
import { HiSparkles, HiBookOpen, HiDocumentText, HiAcademicCap } from 'react-icons/hi'
import toast from 'react-hot-toast'
const promptsData = [
// Jurídicos
{
id: 1,
title: 'Peticionamento Automático',
description: 'Gera petições iniciais com base nos fatos narrados',
category: 'juridico',
tags: ['petição', 'direito civil', 'inicial'],
prompt: 'Com base nos seguintes fatos: [inserir fatos], elabore uma petição inicial completa, seguindo o Código de Processo Civil brasileiro. Inclua: 1) qualificação das partes, 2) narração dos fatos, 3) fundamentação jurídica com citação de jurisprudência, 4) pedidos claros e objetivamente formulados. Use linguagem jurídica formal e técnica.',
difficulty: 'Intermediário'
},
{
id: 2,
title: 'Análise de Contratos',
description: 'Identifica cláusulas problemáticas em contratos',
category: 'juridico',
tags: ['contratos', 'análise', 'risco'],
prompt: 'Analise o contrato apresentado e identifique: 1) cláusulas abusivas ou desequilibradas, 2) pontos de risco para o cliente, 3) sugestões de adequação, 4) conformidade com o Código Civil e CDC. Apresente análise crítica com fundamentação legal e sugestões práticas de negociação.',
difficulty: 'Avançado'
},
{
id: 3,
title: 'Contestação Estruturada',
description: 'Elabora contestações bem fundamentadas',
category: 'juridico',
tags: ['contestação', 'defesa', 'processo civil'],
prompt: 'Elaborar contestação à petição inicial apresentada, seguindo esta estrutura: 1) preliminares (se houver), 2) impugnações específicas aos pedidos, 3) defesa de mérito, 4) reconvenção (se aplicável), 5) pedido de improcedência. Use argumentação jurídica sólida com citação de doutrina e jurisprudência.',
difficulty: 'Intermediário'
},
{
id: 4,
title: 'Jurisprudência Aplicável',
description: 'Busca precedentes relevantes para o caso',
category: 'juridico',
tags: ['jurisprudência', 'precedentes', 'STF', 'STJ'],
prompt: 'Com base na seguinte questão jurídica: [inserir questão], encontre precedentes dos tribunais superiores (STF e STJ) e tribunais estaduais relevantes. Apresente: 1) ementa dos acórdãos, 2) ratio decidendi, 3) aplicabilidade ao caso concreto, 4) estratégia processual recomendada.',
difficulty: 'Avançado'
},
// Administrativos
{
id: 5,
title: 'Plano de Gestão Documental',
description: 'Cria sistema de organização de documentos',
category: 'administrativo',
tags: ['gestão', 'documentos', 'organização'],
prompt: 'Desenvolva um plano completo de gestão documental para [tipo de organização] incluindo: 1) classificação de documentos, 2) prazos de guarda, 3) procedimentos de arquivamento, 4)数字化 de processos, 5) conformidade com a Lei de Acesso à Informação e LGPD.',
difficulty: 'Intermediário'
},
{
id: 6,
title: 'Mapeamento de Processos',
description: 'Mapeia e otimiza processos administrativos',
category: 'administrativo',
tags: ['processos', 'otimização', 'workflow'],
prompt: 'Mapeie o processo administrativo descrito: [descrever processo]. Identifique: 1) atividades desnecessárias, 2) gargalos, 3) pontos de controle, 4) oportunidades de automatização, 5) indicadores de performance, 6) cronograma de implementação das melhorias.',
difficulty: 'Avançado'
},
{
id: 7,
title: 'Relatório de Gestão',
description: 'Gera relatórios executivos estruturados',
category: 'administrativo',
tags: ['relatórios', 'gestão', 'indicadores'],
prompt: 'Elabore um relatório de gestão executivo com base nos dados apresentados: [inserir dados]. Inclua: 1) resumo executivo, 2) análise de indicadores, 3) conquistas e desafios, 4) recomendações estratégicas, 5) plano de ação para o próximo período.',
difficulty: 'Intermediário'
},
// Concursos
{
id: 8,
title: 'Questões Personalizadas',
description: 'Gera questões no estilo de concursos públicos',
category: 'concurso',
tags: ['questões', 'exercícios', 'estudo'],
prompt: 'Crie 10 questões de múltipla escolha sobre [tópico] no estilo do [nome do concurso/organizadora]. Nível de dificuldade: [básico/intermediário/avançado]. Inclua: 1) enunciado claro, 2) 5 alternativas, 3) gabarito comentado com fundamentação legal/doutrinária, 4) dicas de estudo.',
difficulty: 'Intermediário'
},
{
id: 9,
title: 'Resumão para Prova',
description: 'Cria resumos organizados por tópicos',
category: 'concurso',
tags: ['resumo', 'estudo', 'revisão'],
prompt: 'Elabore um resumo completo sobre [tópico] para concurso público, incluindo: 1) conceitos fundamentais, 2) legislação aplicável, 3) jurisprudência relevante, 4) esquemas e mapas mentais, 5) questões frequentes, 6) dicas de memorização.',
difficulty: 'Básico'
},
{
id: 10,
title: 'Simulado Cronometrado',
description: 'Cria simulados com tempo限定',
category: 'concurso',
tags: ['simulado', 'cronometro', 'avaliação'],
prompt: 'Monte um simulado completo para [concurso] com [número] questões sobre [disciplinas]. Inclua: 1) distribuição por disciplinas conforme edital, 2) gabarito, 3) justificativas das alternativas, 4) cronograma de estudos baseado no desempenho, 5) dicas de gestão do tempo.',
difficulty: 'Avançado'
}
]
const categories = [
{ id: 'all', name: 'Todos', icon: HiSparkles, color: 'bg-gray-500' },
{ id: 'juridico', name: 'Jurídico', icon: HiDocumentText, color: 'bg-blue-500' },
{ id: 'administrativo', name: 'Administrativo', icon: HiBookOpen, color: 'bg-green-500' },
{ id: 'concurso', name: 'Concursos', icon: HiAcademicCap, color: 'bg-purple-500' }
]
const difficulties = ['Básico', 'Intermediário', 'Avançado']
export default function PromptLibrary() {
const [searchTerm, setSearchTerm] = useState('')
const [selectedCategory, setSelectedCategory] = useState('all')
const [selectedDifficulty, setSelectedDifficulty] = useState('')
const [copiedId, setCopiedId] = useState(null)
const filteredPrompts = useMemo(() => {
return promptsData.filter(prompt => {
const matchesSearch = prompt.title.toLowerCase().includes(searchTerm.toLowerCase()) ||
prompt.description.toLowerCase().includes(searchTerm.toLowerCase()) ||
prompt.tags.some(tag => tag.toLowerCase().includes(searchTerm.toLowerCase()))
const matchesCategory = selectedCategory === 'all' || prompt.category === selectedCategory
const matchesDifficulty = !selectedDifficulty || prompt.difficulty === selectedDifficulty
return matchesSearch && matchesCategory && matchesDifficulty
})
}, [searchTerm, selectedCategory, selectedDifficulty])
const copyToClipboard = async (text, id) => {
try {
await navigator.clipboard.writeText(text)
setCopiedId(id)
toast.success('Prompt copiado para a área de transferência!')
setTimeout(() => setCopiedId(null), 2000)
} catch (err) {
toast.error('Erro ao copiar. Tente novamente.')
}
}
const getDifficultyColor = (difficulty) => {
switch (difficulty) {
case 'Básico': return 'bg-green-100 text-green-800'
case 'Intermediário': return 'bg-yellow-100 text-yellow-800'
case 'Avançado': return 'bg-red-100 text-red-800'
default: return 'bg-gray-100 text-gray-800'
}
}
return (
<>
<Head>
<title>Biblioteca de Prompts - AI.Wiki.BR</title>
<meta name="description" content="Biblioteca completa de prompts para IA em escritórios jurídicos, administrativos e preparação para concursos públicos." />
</Head>
<div className="min-h-screen bg-gray-50 py-8">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
{/* Header */}
<div className="text-center mb-12">
<h1 className="text-4xl lg:text-5xl font-bold text-gray-900 mb-4">
Biblioteca de Prompts
</h1>
<p className="text-xl text-gray-600 max-w-3xl mx-auto">
Mais de 50 prompts especializados para transformar sua prática profissional
</p>
</div>
{/* Search and Filters */}
<div className="bg-white rounded-xl shadow-lg p- |