| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <!DOCTYPE html>
- <html lang="es">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>hokoritemp</title>
- <link rel="icon" type="image/svg+xml" href="{{ url_for('static', filename='favicon.svg') }}">
- <script src="https://cdn.tailwindcss.com"></script>
- <link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
- </head>
- <body class="bg-gray-50 min-h-screen flex items-center justify-center">
- <div class="container mx-auto px-4 py-8 w-full max-w-4xl">
- <!-- Main Container -->
- <div class="max-w-4xl mx-auto">
- <div class="space-y-8">
-
- <!-- Links Container -->
- <div class="bg-white rounded-lg shadow-lg p-6">
- <h2 class="text-xl font-semibold text-gray-800 mb-4">Mis Enlaces Temporales</h2>
-
- <div id="linksContainer" class="space-y-4">
- <!-- Links will be loaded here -->
- </div>
- <!-- Empty State -->
- <div id="emptyState" class="hidden text-center py-12">
- <svg class="mx-auto h-12 w-12 text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
- </svg>
- <h3 class="mt-2 text-sm font-medium text-gray-900">No hay enlaces guardados</h3>
- <p class="mt-1 text-sm text-gray-500">Los enlaces de los archivos que subas aparecerán aquí.</p>
- <div class="mt-6">
- <a href="/" class="inline-flex items-center px-4 py-2 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500">
- Subir mi primer archivo
- </a>
- </div>
- </div>
- <!-- Loading State -->
- <div id="loadingState" class="text-center py-12">
- <svg class="animate-spin mx-auto h-8 w-8 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
- <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
- <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
- </svg>
- <p class="mt-2 text-sm text-gray-500">Cargando enlaces...</p>
- </div>
- </div>
- <!-- Empty State for Result Section -->
- <div id="emptyResultSection" class="hidden bg-gray-50 rounded-lg p-8 text-center">
- <svg class="mx-auto h-12 w-12 text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
- </svg>
- <h3 class="mt-2 text-sm font-medium text-gray-900">Listo para ver enlaces</h3>
- <p class="mt-1 text-sm text-gray-500">Tus enlaces aparecerán aquí</p>
- </div>
- </div>
- </div>
- </div>
- <!-- Modal de Confirmación -->
- <div id="confirmModal" class="fixed inset-0 bg-gray-600 bg-opacity-50 overflow-y-auto h-full w-full hidden z-50">
- <div class="relative top-20 mx-auto p-5 border w-96 shadow-lg rounded-md bg-white">
- <div class="mt-3 text-center">
- <div class="mx-auto flex items-center justify-center h-12 w-12 rounded-full bg-red-100">
- <svg class="h-6 w-6 text-red-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.732 16.5c-.77.833.192 2.5 1.732 2.5z"></path>
- </svg>
- </div>
- <h3 class="text-lg font-medium text-gray-900 mt-4">Confirmar eliminación</h3>
- <div class="mt-2 px-7 py-3">
- <p class="text-sm text-gray-500">
- ¿Estás seguro de que quieres eliminar este archivo permanentemente? Esta acción no se puede deshacer y el archivo se borrará completamente del servidor.
- </p>
- </div>
- <div class="items-center px-4 py-3">
- <button id="confirmDeleteBtn" class="px-4 py-2 bg-red-600 text-white text-base font-medium rounded-md w-24 mr-2 hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500">
- Eliminar
- </button>
- <button id="cancelDeleteBtn" class="px-4 py-2 bg-gray-500 text-white text-base font-medium rounded-md w-24 hover:bg-gray-600 focus:outline-none focus:ring-2 focus:ring-gray-500">
- Cancelar
- </button>
- </div>
- </div>
- </div>
- </div>
- <!-- Floating Action Button -->
- <div class="fixed bottom-6 right-6 z-50">
- <a href="/" class="bg-blue-600 text-white w-14 h-14 rounded-full flex items-center justify-center hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 shadow-lg transition-all duration-200 hover:scale-110" title="Volver a subir archivos">
- <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 19l9 2-9-18-9 18 9-2zm0 0v-8"></path>
- </svg>
- </a>
- </div>
- <script src="{{ url_for('static', filename='view.js') }}"></script>
- </body>
- </html>
|