diff --git a/public/index.html b/public/index.html index c21cf2a..57b17a4 100644 --- a/public/index.html +++ b/public/index.html @@ -2,7 +2,7 @@ - + diff --git a/public/style.css b/public/style.css index f114010..7a3bcbb 100644 --- a/public/style.css +++ b/public/style.css @@ -88,8 +88,8 @@ } html { - height: 100%; height: -webkit-fill-available; + height: 100%; } body { @@ -100,8 +100,8 @@ body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; line-height: 1.5; - height: 100%; height: -webkit-fill-available; + height: 100%; height: 100dvh; width: 100%; } @@ -139,8 +139,8 @@ body { .login-card { background: rgba(23, 23, 23, 0.65); - backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); + backdrop-filter: blur(20px); border: 1px solid var(--border-light); border-radius: 24px; padding: 40px 32px; @@ -181,6 +181,7 @@ body { font-size: 28px; font-weight: 700; color: #fff; + -webkit-user-select: none; user-select: none; } @@ -706,6 +707,7 @@ body { font-weight: 600; font-size: 14px; color: white; + -webkit-user-select: none; user-select: none; flex-shrink: 0; } @@ -799,8 +801,8 @@ body { justify-content: space-between; border-bottom: 1px solid var(--border-light); background-color: rgba(13, 13, 13, 0.8); - backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); position: sticky; top: 0; z-index: 8; @@ -1693,6 +1695,7 @@ code { right: 0; bottom: 0; background: rgba(0, 0, 0, 0.6); + -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); z-index: 1000; display: flex; @@ -2266,8 +2269,8 @@ code { width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); - backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); + backdrop-filter: blur(8px); display: flex; justify-content: center; align-items: center; @@ -3069,6 +3072,7 @@ code { font-weight: 500; cursor: pointer; transition: all 0.2s ease; + -webkit-user-select: none; user-select: none; } diff --git a/scratch/show_tables.js b/scratch/show_tables.js deleted file mode 100644 index b10a672..0000000 --- a/scratch/show_tables.js +++ /dev/null @@ -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(); diff --git a/scratch/test_ffmpeg.js b/scratch/test_ffmpeg.js deleted file mode 100644 index 356065d..0000000 --- a/scratch/test_ffmpeg.js +++ /dev/null @@ -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); -});