| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>>_teleprompter</title> |
| <link rel="stylesheet" href="style.css"> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <script src="https://unpkg.com/feather-icons"></script> |
| <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script> |
| <script> |
| tailwind.config = { |
| theme: { |
| extend: { |
| colors: { |
| primary: { |
| 500: '#3B82F6', |
| }, |
| secondary: { |
| 500: '#10B981', |
| } |
| } |
| } |
| } |
| } |
| </script> |
| </head> |
| <body class="bg-gray-900 text-gray-100 min-h-screen"> |
| <custom-navbar></custom-navbar> |
| |
| <main class="container mx-auto px-4 py-8"> |
| <div class="max-w-6xl mx-auto bg-gray-800 rounded-xl shadow-2xl overflow-hidden border border-gray-700"> |
| <div class="p-6 bg-gradient-to-r from-primary-500 to-secondary-500 relative"> |
| <div class="absolute top-4 right-4 flex gap-2"> |
| <button id="minimize-btn" class="p-2 bg-white/10 rounded-full hover:bg-white/20 transition"> |
| <i data-feather="minimize-2" class="w-4 h-4"></i> |
| </button> |
| <button id="maximize-btn" class="p-2 bg-white/10 rounded-full hover:bg-white/20 transition"> |
| <i data-feather="maximize-2" class="w-4 h-4"></i> |
| </button> |
| <button id="close-btn" class="p-2 bg-red-500 rounded-full hover:bg-red-600 transition"> |
| <i data-feather="x" class="w-4 h-4"></i> |
| </button> |
| </div> |
| <h1 class="text-3xl font-bold">>_teleprompter</h1> |
| <p class="text-gray-200 mt-2">Sistema Profesional de Teleprompter</p> |
| </div> |
| <div class="p-6 grid grid-cols-1 lg:grid-cols-3 gap-6 relative"> |
| <div class="absolute top-0 left-0 right-0 h-1 bg-gradient-to-r from-primary-500 to-secondary-500"></div> |
| <div class="lg:col-span-1 space-y-6"> |
| <div> |
| <label class="block text-sm font-medium text-gray-300 mb-1 flex items-center justify-between"> |
| <span>Título del Script</span> |
| <span class="text-xs text-gray-400">Ctrl+T</span> |
| </label> |
| <div class="relative"> |
| <input type="text" id="script-title" class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:ring-2 focus:ring-primary-500 focus:border-primary-500 outline-none transition pr-10" placeholder="Mi Presentación"> |
| <button class="absolute right-2 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-white"> |
| <i data-feather="edit-2" class="w-4 h-4"></i> |
| </button> |
| </div> |
| </div> |
| <div> |
| <label class="block text-sm font-medium text-gray-300 mb-1 flex items-center justify-between"> |
| <span>Velocidad de Desplazamiento</span> |
| <span class="text-xs text-gray-400" id="speed-value">1.0x</span> |
| </label> |
| <input type="range" id="speed-slider" min="0.1" max="5" step="0.1" value="1" class="w-full h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer accent-primary-500"> |
| <div class="flex justify-between text-xs text-gray-400 mt-1"> |
| <span>Lento</span> |
| <span>Medio</span> |
| <span>Rápido</span> |
| </div> |
| </div> |
| <div> |
| <label class="block text-sm font-medium text-gray-300 mb-1">Tamaño del Texto</label> |
| <select id="text-size" class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:ring-2 focus:ring-primary-500 focus:border-primary-500 outline-none transition"> |
| <option value="small">Pequeño</option> |
| <option value="medium" selected>Mediano</option> |
| <option value="large">Grande</option> |
| <option value="x-large">Extra Grande</option> |
| </select> |
| </div> |
| <div> |
| <label class="block text-sm font-medium text-gray-300 mb-1">Tema</label> |
| <div class="grid grid-cols-3 gap-2 theme-selector"> |
| <button class="bg-blue-500 h-10 rounded-lg theme-btn active" data-theme="blue"></button> |
| <button class="bg-green-500 h-10 rounded-lg theme-btn" data-theme="green"></button> |
| <button class="bg-purple-500 h-10 rounded-lg theme-btn" data-theme="purple"></button> |
| <button class="bg-red-500 h-10 rounded-lg theme-btn" data-theme="red"></button> |
| <button class="bg-yellow-500 h-10 rounded-lg theme-btn" data-theme="yellow"></button> |
| <button class="bg-pink-500 h-10 rounded-lg theme-btn" data-theme="pink"></button> |
| </div> |
| </div> |
| <div> |
| <label class="block text-sm font-medium text-gray-300 mb-1">Alineación del Texto</label> |
| <div class="grid grid-cols-3 gap-2"> |
| <button id="align-left" class="p-2 bg-gray-700 rounded-lg hover:bg-gray-600 flex items-center justify-center"> |
| <i data-feather="align-left" class="w-4 h-4"></i> |
| </button> |
| <button id="align-center" class="p-2 bg-gray-700 rounded-lg hover:bg-gray-600 flex items-center justify-center active"> |
| <i data-feather="align-center" class="w-4 h-4"></i> |
| </button> |
| <button id="align-right" class="p-2 bg-gray-700 rounded-lg hover:bg-gray-600 flex items-center justify-center"> |
| <i data-feather="align-right" class="w-4 h-4"></i> |
| </button> |
| </div> |
| </div> |
| <div> |
| <label class="block text-sm font-medium text-gray-300 mb-1">Estilo de Fuente</label> |
| <div class="grid grid-cols-2 gap-2"> |
| <button id="font-sans" class="p-2 bg-gray-700 rounded-lg hover:bg-gray-600 active">Sans Serif</button> |
| <button id="font-serif" class="p-2 bg-gray-700 rounded-lg hover:bg-gray-600">Serif</button> |
| </div> |
| </div> |
| </div> |
| |
| <div class="lg:col-span-2 flex flex-col gap-4"> |
| <div class="bg-gray-700 rounded-lg p-4 flex-grow relative group"> |
| <div class="absolute top-2 right-2 flex gap-1 z-10"> |
| <button id="format-bold" class="p-1 bg-gray-600 rounded hover:bg-gray-500" title="Negrita"> |
| <i data-feather="bold" class="w-4 h-4"></i> |
| </button> |
| <button id="format-italic" class="p-1 bg-gray-600 rounded hover:bg-gray-500" title="Cursiva"> |
| <i data-feather="italic" class="w-4 h-4"></i> |
| </button> |
| <button id="format-underline" class="p-1 bg-gray-600 rounded hover:bg-gray-500" title="Subrayado"> |
| <i data-feather="underline" class="w-4 h-4"></i> |
| </button> |
| </div> |
| <textarea id="script-textarea" class="w-full h-64 bg-transparent resize-none outline-none text-gray-200 placeholder-gray-500" placeholder="Ingrese su script aquí...">¡Bienvenido a >_teleprompter! |
|
|
| Esta es una solución profesional de teleprompter con características avanzadas: |
|
|
| • Control de desplazamiento en tiempo real |
| • Múltiples temas y personalización |
| • Opciones de formato de texto |
| • Atajos de teclado para eficiencia |
| • Guardado y carga de scripts |
|
|
| ¡Intenta ajustar la velocidad de desplazamiento para ver cómo funciona!</textarea> |
| <div class="absolute bottom-4 right-4 opacity-0 group-hover:opacity-100 transition flex gap-2"> |
| <button id="import-script" class="p-2 bg-gray-600 rounded-lg hover:bg-gray-500" title="Importar Script"> |
| <i data-feather="upload" class="w-4 h-4"></i> |
| </button> |
| <button id="clear-script" class="p-2 bg-gray-600 rounded-lg hover:bg-gray-500" title="Limpiar Todo"> |
| <i data-feather="trash-2" class="w-4 h-4"></i> |
| </button> |
| </div> |
| </div> |
| <div class="bg-gray-700 rounded-lg p-4"> |
| <div class="flex justify-between items-center mb-2"> |
| <h3 class="font-medium">Vista Previa</h3> |
| <div class="flex gap-2"> |
| <button id="toggle-preview" class="px-3 py-1 bg-gray-600 hover:bg-gray-500 rounded text-sm">Alternar Vista</button> |
| <button id="mirror-preview" class="px-3 py-1 bg-gray-600 hover:bg-gray-500 rounded text-sm">Espejo</button> |
| </div> |
| </div> |
| <div id="preview-container" class="bg-black rounded p-4 h-40 overflow-hidden relative"> |
| <div id="preview-text" class="text-white text-center text-lg leading-relaxed"> |
| ¡Bienvenido a >_teleprompter! Esta es una solución profesional de teleprompter con características avanzadas. |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class="p-6 bg-gray-700 border-t border-gray-600 flex flex-wrap justify-between gap-4"> |
| <div class="flex gap-2"> |
| <button id="save-script" class="px-4 py-2 bg-gray-600 hover:bg-gray-500 rounded-lg font-medium transition flex items-center gap-2 text-sm"> |
| <i data-feather="save" class="w-4 h-4"></i> Guardar |
| </button> |
| <button id="load-script" class="px-4 py-2 bg-gray-600 hover:bg-gray-500 rounded-lg font-medium transition flex items-center gap-2 text-sm"> |
| <i data-feather="folder" class="w-4 h-4"></i> Cargar |
| </button> |
| <button id="export-script" class="px-4 py-2 bg-gray-600 hover:bg-gray-500 rounded-lg font-medium transition flex items-center gap-2 text-sm"> |
| <i data-feather="download" class="w-4 h-4"></i> Exportar |
| </button> |
| </div> |
| <div class="flex gap-2"> |
| <button id="help-btn" class="px-4 py-2 bg-gray-600 hover:bg-gray-500 rounded-lg font-medium transition flex items-center gap-2 text-sm"> |
| <i data-feather="help-circle" class="w-4 h-4"></i> Ayuda |
| </button> |
| <button id="start-scroll" class="px-6 py-2 bg-primary-500 hover:bg-primary-600 rounded-lg font-medium transition flex items-center gap-2 text-sm glow"> |
| <i data-feather="play" class="w-4 h-4"></i> Iniciar Desplazamiento |
| </button> |
| </div> |
| </div> |
| </div> |
| </main> |
| |
| |
| <input type="file" id="file-input" accept=".txt,.doc,.docx" class="hidden"> |
| <custom-footer></custom-footer> |
| <help-modal></help-modal> |
| <script src="components/navbar.js"></script> |
| <script src="components/footer.js"></script> |
| <script src="components/help-modal.js"></script> |
| <script src="script.js"></script> |
| <script> |
| feather.replace(); |
| |
| |
| document.addEventListener('DOMContentLoaded', function() { |
| initializeComponents(); |
| |
| |
| document.getElementById('help-btn').addEventListener('click', function() { |
| document.querySelector('help-modal').open(); |
| }); |
| }); |
| </script> |
| <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script> |
| </body> |
| </html> |
|
|