fix: corrige erros de linter CSS e meta viewport para acessibilidade e compatibilidade Safari

This commit is contained in:
2026-06-03 14:20:11 +00:00
parent 6372f99275
commit 238c2f85ad
4 changed files with 10 additions and 80 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
<html lang="pt-BR"> <html lang="pt-BR">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#10a37f"> <meta name="theme-color" content="#10a37f">
<meta name="description" content="Assistente virtual da Camila - Profesora"> <meta name="description" content="Assistente virtual da Camila - Profesora">
<!-- PWA Manifest --> <!-- PWA Manifest -->
+9 -5
View File
@@ -88,8 +88,8 @@
} }
html { html {
height: 100%;
height: -webkit-fill-available; height: -webkit-fill-available;
height: 100%;
} }
body { body {
@@ -100,8 +100,8 @@ body {
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
line-height: 1.5; line-height: 1.5;
height: 100%;
height: -webkit-fill-available; height: -webkit-fill-available;
height: 100%;
height: 100dvh; height: 100dvh;
width: 100%; width: 100%;
} }
@@ -139,8 +139,8 @@ body {
.login-card { .login-card {
background: rgba(23, 23, 23, 0.65); background: rgba(23, 23, 23, 0.65);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
backdrop-filter: blur(20px);
border: 1px solid var(--border-light); border: 1px solid var(--border-light);
border-radius: 24px; border-radius: 24px;
padding: 40px 32px; padding: 40px 32px;
@@ -181,6 +181,7 @@ body {
font-size: 28px; font-size: 28px;
font-weight: 700; font-weight: 700;
color: #fff; color: #fff;
-webkit-user-select: none;
user-select: none; user-select: none;
} }
@@ -706,6 +707,7 @@ body {
font-weight: 600; font-weight: 600;
font-size: 14px; font-size: 14px;
color: white; color: white;
-webkit-user-select: none;
user-select: none; user-select: none;
flex-shrink: 0; flex-shrink: 0;
} }
@@ -799,8 +801,8 @@ body {
justify-content: space-between; justify-content: space-between;
border-bottom: 1px solid var(--border-light); border-bottom: 1px solid var(--border-light);
background-color: rgba(13, 13, 13, 0.8); background-color: rgba(13, 13, 13, 0.8);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
position: sticky; position: sticky;
top: 0; top: 0;
z-index: 8; z-index: 8;
@@ -1693,6 +1695,7 @@ code {
right: 0; right: 0;
bottom: 0; bottom: 0;
background: rgba(0, 0, 0, 0.6); background: rgba(0, 0, 0, 0.6);
-webkit-backdrop-filter: blur(4px);
backdrop-filter: blur(4px); backdrop-filter: blur(4px);
z-index: 1000; z-index: 1000;
display: flex; display: flex;
@@ -2266,8 +2269,8 @@ code {
width: 100%; width: 100%;
height: 100%; height: 100%;
background-color: rgba(0, 0, 0, 0.6); background-color: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@@ -3069,6 +3072,7 @@ code {
font-weight: 500; font-weight: 500;
cursor: pointer; cursor: pointer;
transition: all 0.2s ease; transition: all 0.2s ease;
-webkit-user-select: none;
user-select: none; user-select: none;
} }
-38
View File
@@ -1,38 +0,0 @@
const { Pool } = require('pg');
require('dotenv').config();
const pool = new Pool({
connectionString: process.env.DATABASE_URL
});
async function main() {
try {
const tablesRes = await pool.query(`
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'escola'
ORDER BY table_name;
`);
console.log('--- TABELAS NO ESQUEMA escola ---');
for (const row of tablesRes.rows) {
console.log(`\nTabela: ${row.table_name}`);
const columnsRes = await pool.query(`
SELECT column_name, data_type, is_nullable, column_default
FROM information_schema.columns
WHERE table_schema = 'escola' AND table_name = $1
ORDER BY ordinal_position;
`, [row.table_name]);
for (const col of columnsRes.rows) {
console.log(` - ${col.column_name}: ${col.data_type} (null: ${col.is_nullable}, default: ${col.column_default})`);
}
}
} catch (err) {
console.error('Erro ao ler tabelas:', err);
} finally {
await pool.end();
}
}
main();
-36
View File
@@ -1,36 +0,0 @@
const fs = require('fs');
const path = require('path');
const { exec } = require('child_process');
const concatFilePath = path.join(__dirname, 'test_concat.txt');
const bgMusicPath = path.join(__dirname, '..', 'public', 'assets', 'audio', 'alegre.mp3');
const outputFilePath = path.join(__dirname, '..', 'public', 'generated-media', 'test_video.mp4');
const duration = 3;
const totalDuration = 6;
// Cria pasta generated-media se não existir
const mediaDir = path.dirname(outputFilePath);
if (!fs.existsSync(mediaDir)) {
fs.mkdirSync(mediaDir, { recursive: true });
}
// Usar camila_prof.png duas vezes
const testImg = path.join(__dirname, '..', 'public', 'assets', 'camila_prof.png');
let concatContent = `file '${testImg}'\nduration ${duration}\nfile '${testImg}'\nduration ${duration}\nfile '${testImg}'\n`;
fs.writeFileSync(concatFilePath, concatContent);
const ffmpegCommand = `ffmpeg -y -f concat -safe 0 -i "${concatFilePath}" -i "${bgMusicPath}" -c:v libx264 -pix_fmt yuv420p -c:a aac -shortest -t ${totalDuration} "${outputFilePath}"`;
console.log('Executando:', ffmpegCommand);
exec(ffmpegCommand, (error, stdout, stderr) => {
console.log('STDOUT:', stdout);
console.error('STDERR:', stderr);
if (error) {
console.error('Erro de execução:', error);
process.exit(1);
}
console.log('Vídeo gerado com sucesso em:', outputFilePath);
process.exit(0);
});