gayalex / index.html
SherlockRamos's picture
Add 2 files
2710250 verified
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gaya Lex - Pesquisa Simples</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
:root {
--bg-primary: #1a1a1a;
--bg-secondary: #252525;
--bg-tertiary: #2d2d2d;
--text-primary: #e0e0e0;
--text-secondary: #a0a0a0;
--accent-color: #7e57c2;
--border-color: #3d3d3d;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
background-color: var(--bg-primary);
color: var(--text-primary);
margin: 0;
padding: 0;
height: 100vh;
}
.search-input {
background-color: var(--bg-tertiary);
border: 1px solid var(--border-color);
color: var(--text-primary);
}
.search-input:focus {
outline: none;
border-color: var(--accent-color);
}
.result-card {
background-color: var(--bg-secondary);
border-left: 3px solid var(--accent-color);
}
.btn-primary {
background-color: var(--accent-color);
}
.btn-primary:hover {
background-color: #9575cd;
}
.btn-secondary {
background-color: var(--bg-tertiary);
border: 1px solid var(--border-color);
}
.btn-secondary:hover {
background-color: #3d3d3d;
}
.info-card {
background-color: var(--bg-secondary);
border: 1px solid var(--border-color);
}
</style>
</head>
<body class="flex flex-col">
<!-- Header -->
<header class="bg-gray-800 p-4 border-b border-gray-700">
<div class="container mx-auto flex justify-between items-center">
<div class="flex items-center space-x-2">
<i class="fas fa-gavel text-purple-500 text-2xl"></i>
<span class="font-semibold text-xl text-white">Gaya Lex</span>
</div>
<nav class="flex space-x-4">
<a href="#" class="text-gray-400 hover:text-white">Pesquisa Simples</a>
<a href="#" class="text-gray-400 hover:text-white">Pesquisa Avançada</a>
<a href="#" class="text-gray-400 hover:text-white">Documentação</a>
</nav>
<div class="flex items-center space-x-3">
<div class="w-8 h-8 rounded-full bg-purple-600 flex items-center justify-center text-white">
<i class="fas fa-user"></i>
</div>
<span class="text-sm text-white">Usuário</span>
</div>
</div>
</header>
<!-- Main Content -->
<main class="flex-1 container mx-auto p-6">
<div class="max-w-4xl mx-auto">
<!-- Search Section -->
<section class="mb-8">
<h1 class="text-2xl font-bold text-white mb-4">Pesquisa Simples de Processos Judiciais</h1>
<div class="info-card rounded-lg p-6 mb-6">
<p class="text-gray-300 mb-4">
Digite qualquer uma das informações abaixo para localizar processos em todos os tribunais do Brasil:
</p>
<ul class="list-disc list-inside text-gray-400 space-y-1 mb-4">
<li>CPF do participante</li>
<li>RG do participante</li>
<li>Nome completo do participante</li>
<li>Número da OAB do advogado</li>
</ul>
<p class="text-gray-300">
A busca retornará uma lista organizada com todos os processos encontrados, incluindo:
</p>
<ul class="list-disc list-inside text-gray-400 space-y-1">
<li>Número do processo</li>
<li>Tribunal</li>
<li>Nome das partes</li>
<li>Link direto para consultar o processo</li>
</ul>
</div>
<div class="flex items-end space-x-4">
<div class="flex-1">
<label for="search-term" class="block text-gray-400 text-sm font-medium mb-2">Termo de busca</label>
<input
type="text"
id="search-term"
class="search-input w-full p-3 rounded-lg"
placeholder="Ex: 123.456.789-10 ou João Silva ou OAB/SP 123456"
>
</div>
<button id="search-button" class="btn-primary py-3 px-6 rounded-lg flex items-center space-x-2 h-12">
<i class="fas fa-search"></i>
<span>Pesquisar</span>
</button>
</div>
<div class="mt-2 text-right">
<a href="#" class="text-purple-400 hover:text-purple-300 text-sm">
<i class="fas fa-cog mr-1"></i> Pesquisa Avançada
</a>
</div>
</section>
<!-- Results Section -->
<section id="results-section" class="hidden">
<div class="flex justify-between items-center mb-4">
<h2 class="text-xl font-semibold text-white">Resultados da Pesquisa</h2>
<div class="flex space-x-2">
<button class="btn-secondary py-2 px-4 rounded-lg flex items-center space-x-1">
<i class="fas fa-download"></i>
<span>Exportar</span>
</button>
<button class="btn-secondary py-2 px-4 rounded-lg flex items-center space-x-1">
<i class="fas fa-filter"></i>
<span>Filtrar</span>
</button>
</div>
</div>
<div id="results-container" class="space-y-4">
<!-- Results will be inserted here dynamically -->
</div>
<div class="mt-6 flex justify-center">
<nav class="inline-flex space-x-1">
<button class="btn-secondary py-2 px-4 rounded-lg">
<i class="fas fa-chevron-left"></i>
</button>
<button class="btn-primary py-2 px-4 rounded-lg">1</button>
<button class="btn-secondary py-2 px-4 rounded-lg">2</button>
<button class="btn-secondary py-2 px-4 rounded-lg">3</button>
<button class="btn-secondary py-2 px-4 rounded-lg">
<i class="fas fa-chevron-right"></i>
</button>
</nav>
</div>
</section>
<!-- Empty State -->
<section id="empty-state" class="text-center py-12">
<div class="mx-auto w-24 h-24 bg-gray-800 rounded-full flex items-center justify-center mb-4">
<i class="fas fa-search text-3xl text-gray-500"></i>
</div>
<h3 class="text-xl font-medium text-gray-300 mb-2">Nenhuma pesquisa realizada</h3>
<p class="text-gray-500 max-w-md mx-auto">
Digite um CPF, RG, nome completo ou número da OAB no campo acima para buscar processos judiciais em todos os tribunais do Brasil.
</p>
</section>
<!-- Loading State -->
<section id="loading-state" class="hidden text-center py-12">
<div class="animate-spin rounded-full h-12 w-12 border-t-2 border-b-2 border-purple-500 mx-auto mb-4"></div>
<p class="text-gray-400">Buscando processos...</p>
</section>
</div>
</main>
<!-- Footer -->
<footer class="bg-gray-800 border-t border-gray-700 py-4">
<div class="container mx-auto px-4 text-center text-gray-500 text-sm">
<p>© 2023 Gaya Lex - Consulta Processual. Todos os direitos reservados.</p>
<p class="mt-1">Dados fornecidos pela API Pública do DataJud - CNJ</p>
</div>
</footer>
<script>
document.addEventListener('DOMContentLoaded', function() {
const searchButton = document.getElementById('search-button');
const searchTerm = document.getElementById('search-term');
const resultsSection = document.getElementById('results-section');
const emptyState = document.getElementById('empty-state');
const loadingState = document.getElementById('loading-state');
const resultsContainer = document.getElementById('results-container');
searchButton.addEventListener('click', performSearch);
searchTerm.addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
performSearch();
}
});
function performSearch() {
const term = searchTerm.value.trim();
if (!term) return;
// Show loading state
emptyState.classList.add('hidden');
resultsSection.classList.add('hidden');
loadingState.classList.remove('hidden');
// Simulate API call delay
setTimeout(() => {
loadingState.classList.add('hidden');
if (term.toLowerCase().includes('teste') || term.toLowerCase().includes('erro')) {
showEmptyResults();
} else {
showResults(term);
}
}, 1500);
}
function showResults(term) {
resultsSection.classList.remove('hidden');
resultsContainer.innerHTML = '';
// Sample results - in a real app, this would come from the API
const sampleResults = [
{
processNumber: '0001234-56.2023.5.00.0000',
tribunal: 'TST - Tribunal Superior do Trabalho',
parties: 'João Silva vs. Empresa XYZ Ltda.',
status: 'Ativo',
date: '15/03/2023',
subject: 'Rescisão de contrato'
},
{
processNumber: '0005678-90.2022.8.26.0100',
tribunal: 'TJSP - Tribunal de Justiça de São Paulo',
parties: 'Maria Oliveira vs. Banco ABC S.A.',
status: 'Arquivado',
date: '22/11/2022',
subject: 'Cobrança indevida'
},
{
processNumber: '0009012-34.2021.4.01.3400',
tribunal: 'TRF1 - Tribunal Regional Federal da 1ª Região',
parties: 'Empresa DEF S.A. vs. União',
status: 'Em andamento',
date: '05/07/2021',
subject: 'Imposto de renda'
}
];
sampleResults.forEach(process => {
const processCard = document.createElement('div');
processCard.className = 'result-card rounded-lg p-5';
processCard.innerHTML = `
<div class="flex justify-between items-start mb-3">
<div>
<h3 class="font-semibold text-lg text-white">Processo nº ${process.processNumber}</h3>
<p class="text-sm text-gray-400">${process.tribunal}</p>
</div>
<span class="text-xs px-3 py-1 rounded-full ${getStatusColor(process.status)}">${process.status}</span>
</div>
<div class="mb-4">
<p class="text-gray-400 text-sm mb-1">Partes</p>
<p class="text-white">${process.parties}</p>
</div>
<div class="grid grid-cols-3 gap-4 text-sm">
<div>
<p class="text-gray-400 mb-1">Distribuição</p>
<p class="text-white">${process.date}</p>
</div>
<div>
<p class="text-gray-400 mb-1">Assunto</p>
<p class="text-white">${process.subject}</p>
</div>
<div>
<p class="text-gray-400 mb-1">Ações</p>
<a href="#" class="text-purple-400 hover:text-purple-300">Ver detalhes <i class="fas fa-external-link-alt ml-1"></i></a>
</div>
</div>
`;
resultsContainer.appendChild(processCard);
});
}
function showEmptyResults() {
resultsSection.classList.remove('hidden');
resultsContainer.innerHTML = `
<div class="text-center py-12">
<div class="mx-auto w-24 h-24 bg-gray-800 rounded-full flex items-center justify-center mb-4">
<i class="fas fa-exclamation-triangle text-3xl text-yellow-500"></i>
</div>
<h3 class="text-xl font-medium text-gray-300 mb-2">Nenhum processo encontrado</h3>
<p class="text-gray-500 max-w-md mx-auto">
Não foram encontrados processos com o termo "${searchTerm.value.trim()}". Verifique se os dados estão corretos ou tente uma pesquisa diferente.
</p>
</div>
`;
}
function getStatusColor(status) {
switch(status.toLowerCase()) {
case 'ativo':
return 'bg-green-900 text-green-300';
case 'em andamento':
return 'bg-blue-900 text-blue-300';
case 'arquivado':
return 'bg-gray-700 text-gray-300';
default:
return 'bg-gray-600 text-gray-200';
}
}
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=SherlockRamos/gayalex" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>