File size: 50,456 Bytes
0c23412 |
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 174 175 176 177 |
<!DOCTYPE html><html lang="pt-BR">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Jornal Oliveira</title>
<style>
@font-face { font-family: 'Old English'; src: url('https://fonts.cdnfonts.com/s/20549/OldEnglishTextMT.woff') format('woff'); }
* { box-sizing: border-box; margin:0; padding:0; }
body { font-family: Arial, sans-serif; background:#fff; color:#000; }
header { background:#1b5e20; padding:1rem; text-align:center; }
header h1 { font-family:'Old English', serif; font-size:3rem; color:#fff; }
nav { display:flex; justify-content:center; background:#66bb6a; padding:0.5rem; gap:0.5rem; flex-wrap:wrap; }
nav button { background:#66bb6a; border:none; color:#fff; padding:0.5rem 1rem; cursor:pointer; font-weight:bold; transition:0.3s; }
nav button:hover { background:#4caf50; }
.container { max-width:900px; margin:1rem auto; padding:0 1rem; }
section { display:none; }
section.active { display:block; }
.btn { background:#1b5e20; color:#fff; border:none; padding:0.5rem 1rem; cursor:pointer; margin:0.5rem 0; }
.btn:hover { background:#145a16; }
.form-group { margin-bottom:1rem; }
.form-group label { display:block; margin-bottom:0.5rem; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:0.5rem; }
.article { background:#f5f5f5; border:1px solid #ddd; padding:1rem; margin-bottom:1rem; border-radius:5px; }
.article h3 { margin-bottom:0.5rem; }
.article .meta { font-size:0.9rem; color:#555; margin-bottom:0.5rem; }
.article .actions button { margin-right:0.5rem; }
details { margin-bottom:1rem; }
details summary { cursor:pointer; font-weight:bold; }
</style>
</head>
<body>
<header>
<h1>Jornal Oliveira</h1>
</header>
<nav>
<button onclick="openSection('inicio')">Início</button>
<button onclick="openSection('avaliar')">Avaliar</button>
<button onclick="openSection('sugestoes')">Sugestões</button>
<button onclick="openSection('participar')">Participe</button>
<button onclick="openSection('login')">Login</button>
<button id="btnEnviar" class="hidden" onclick="openSection('enviar')">Enviar Matéria</button>
<button id="btnEditor" class="hidden" onclick="openSection('editor')">Painel do Editor</button>
</nav> <div class="container">
<!-- Início -->
<section id="inicio" class="active">
<h2>Últimas Matérias</h2>
<div id="listaPublicadas"></div>
</section><!-- Avaliar -->
<section id="avaliar">
<h2>Avalie o Jornal</h2>
<div class="form-group">
<label>Nota (1-5):</label>
<select id="inputNota"><option></option><option>1</option><option>2</option><option>3</option><option>4</option><option>5</option></select>
</div>
<div class="form-group">
<label>Comentário:</label>
<textarea id="inputComent" rows="3"></textarea>
</div>
<button class="btn" onclick="enviarAvaliacao()">Enviar Avaliação</button>
</section>
<!-- Sugestões -->
<section id="sugestoes">
<h2>Sugestões</h2>
<div class="form-group">
<label>Texto (mín. 10 palavras):</label>
<textarea id="inputSugestao" rows="3"></textarea>
</div>
<button class="btn" onclick="enviarSugestao()">Enviar Sugestão</button>
</section>
<!-- Participe -->
<section id="participar">
<h2>Participe do Jornal</h2>
<div class="form-group"><label>Nome completo:</label><input id="inpNome" type="text"></div>
<div class="form-group"><label>Série:</label><input id="inpSerie" type="text"></div>
<div class="form-group"><label>Período:</label><select id="inpPeriodo"><option></option><option>Manhã</option><option>Tarde</option><option>Noite</option></select></div>
<div class="form-group"><label>RA (000...):</label><input id="inpRA" type="text" pattern="000[0-9]+"></div>
<details>
<summary>Termo de Condição de Participação</summary>
<p><strong>TERMO DE CONDIÇÃO DE PARTICIPAÇÃO – JORNAL OLIVEIRA</strong></p>
<p>Prezado(a) estudante, para fins de organização e reconhecimento dos participantes do Jornal Oliveira, solicitamos que os novos integrantes forneçam o seu RA (Registro do Aluno) no momento da inscrição. Essa informação será utilizada exclusivamente para identificação interna no âmbito do projeto.</p>
<p>O Jornal Oliveira compromete-se a utilizar o RA apenas para os fins aqui descritos, não realizando qualquer tipo de divulgação ou compartilhamento não autorizado. Contudo, ao fornecer essa informação, o participante declara estar ciente de que a organização não se responsabiliza por eventuais vazamentos ou acessos indevidos que ocorram por fatores externos ou alheios à sua vontade.</p>
<p>Ao assinalar a opção abaixo, o(a) participante declara estar de acordo com os termos apresentados e autoriza expressamente o uso do seu RA para os fins descritos.</p>
</details>
<div><input id="chkTermo" type="checkbox"> Declaro que li e concordo com os termos acima para participar do Jornal Oliveira.</div>
<button class="btn" onclick="enviarParticipacao()">Enviar Inscrição</button>
</section>
<!-- Login -->
<section id="login">
<h2>Login</h2>
<div class="form-group"><input id="inpCodigo" type="password" placeholder="Código" /></div>
<button class="btn" onclick="fazerLogin()">Entrar</button>
</section>
<!-- Enviar Matéria -->
<section id="enviar">
<h2>Enviar Matéria</h2>
<div class="form-group"><label>Categoria:</label><select id="inpCat"><option></option><option>Notícias da Escola</option><option>Entrevistas</option><option>Opinião</option><option>Cultura e Arte</option><option>Esportes</option><option>Humor</option><option>Você Sabia?</option><option>Projetos e Grêmios</option><option>Fala Estudante</option><option>Investigação</option></select></div>
<div class="form-group"><label>Título:</label><input type="text" id="inpTitulo" /></div>
<div class="form-group"><label>Líde:</label><textarea id="inpLide" rows="2"></textarea></div>
<div class="form-group"><label>Corpo:</label><textarea id="inpCorpo" rows="4"></textarea></div>
<div class="form-group"><label>Autor:</label><input type="text" id="inpAutor" /></div>
<div class="form-group"><label>Outros participantes (opcional):</label><input type="text" id="inpPart" /></div>
<div class="form-group"><label>Data:</label><input type="date" id="inpData" /></div>
<button class="btn" onclick="enviarMateria()">Enviar para Aprovação</button>
</section>
<!-- Painel do Editor -->
<section id="editor">
<h2>Painel do Editor</h2>
<div id="pendentes"></div>
</section>
</div> <script>
let materias = [], pendentes = [];
function openSection(id) {
document.querySelectorAll('section').forEach(s=>s.classList.remove('active'));
document.getElementById(id).classList.add('active');
}
function enviarAvaliacao() {
const n = document.getElementById('inputNota').value;
const c = document.getElementById('inputComent').value.trim();
if(!n||!c) return alert('Preencha nota e comentário.');
alert('Avaliação enviada!');
document.getElementById('inputNota').value='';
document.getElementById('inputComent').value='';
}
function enviarSugestao() {
const t = document.getElementById('inputSugestao').value.trim();
if(t.split(' ').length<10) return alert('Mínimo 10 palavras.');
alert('Sugestão enviada!'); document.getElementById('inputSugestao').value='';
}
function enviarParticipacao() {
const n=document.getElementById('inpNome').value.trim();
const s=document.getElementById('inpSerie').value.trim();
const p=document.getElementById('inpPeriodo').value;
const r=document.getElementById('inpRA').value.trim();
const ok=document.getElementById('chkTermo').checked;
if(!n||!s||!p||!r.startsWith('000')||!ok) return alert('Complete e aceite.');
alert('Inscrição enviada!'); document.getElementById('inpNome').value='';
}
function fazerLogin() {
const code=document.getElementById('inpCodigo').value.trim();
document.getElementById('btnEnviar').classList.add('hidden');
document.getElementById('btnEditor').classList.add('hidden');
if(code==='BRJORNAL') document.getElementById('btnEnviar').classList.remove('hidden');
else if(code==='BRJORNALEDITOR') document.getElementById('btnEditor').classList.remove('hidden');
else return alert('Código inválido');
openSection('inicio'); renderPublicadas();
}
function enviarMateria() {
const m={cat:document.getElementById('inpCat').value,titulo:document.getElementById('inpTitulo').value.trim(),lide:document.getElementById('inpLide').value.trim(),corpo:document.getElementById('inpCorpo').value.trim(),autor:document.getElementById('inpAutor').value.trim(),part:document.getElementById('inpPart').value.trim(),data:document.getElementById('inpData').value};
if(!m.cat||!m.titulo||!m.lide||!m.corpo||!m.autor||!m.data) return alert('Preencha todos');
pendentes.push(m); alert('Enviado para aprovação'); renderPendentes();
}
function renderPublicadas() {
const out=document.getElementById('listaPublicadas'); out.innerHTML='';
materias.forEach(m=>{ const d=document.createElement('div'); d.className='article'; d.innerHTML=`<h3>${m.titulo}</h3><div class="meta">${m.cat} - ${m.data}</div><p>${m.lide}</p><span onclick="alert('${m.corpo}')" style="color:blue;cursor:pointer;">Leia mais</span>`; out.appendChild(d);} );
}
function renderPendentes() {
const out=document.getElementById('pendentes'); out.innerHTML='';
pendentes.forEach((m,i)=>{ const d=document.createElement('div'); d.className='article'; d.innerHTML=`<h3>${m.titulo}</h3><div class="meta">${m.cat} - ${m.data}</div><p>${m.lide}</p><div class="actions"><button class="btn" onclick="aprovar(${i})">Aprovar</button><button class="btn" onclick="rejeitar(${i})">Rejeitar</button></div>`; out.appendChild(d);} );
}
function aprovar(i) { materias.push(pendentes.splice(i,1)[0]); renderPendentes(); renderPublicadas(); }
function rejeitar(i) { pendentes.splice(i,1); renderPendentes(); }
</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=Rwhehhehe/teste-1-9" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html> |