view.html 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>HokoriTemp - Enlaces Temporales</title>
  7. <link rel="icon" type="image/svg+xml" href="{{ url_for('static', filename='favicon.svg') }}">
  8. <script src="https://cdn.tailwindcss.com"></script>
  9. <link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
  10. </head>
  11. <body class="bg-gray-50 min-h-screen">
  12. <div class="container mx-auto px-4 py-8">
  13. <!-- Header -->
  14. <div class="text-center mb-8">
  15. <h1 class="text-4xl font-bold text-gray-800 mb-2">Mis Enlaces Temporales</h1>
  16. <p class="text-gray-600">Gestiona tus archivos subidos temporalmente</p>
  17. <div class="mt-4">
  18. <a href="/" class="text-blue-600 hover:text-blue-800 underline">← Volver a subir archivos</a>
  19. </div>
  20. </div>
  21. <!-- Links Container -->
  22. <div class="max-w-4xl mx-auto">
  23. <div id="linksContainer">
  24. <!-- Links will be loaded here -->
  25. </div>
  26. <!-- Empty State -->
  27. <div id="emptyState" class="hidden text-center py-12">
  28. <svg class="mx-auto h-12 w-12 text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
  29. <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>
  30. </svg>
  31. <h3 class="mt-2 text-sm font-medium text-gray-900">No hay enlaces guardados</h3>
  32. <p class="mt-1 text-sm text-gray-500">Los enlaces que generes aparecerán aquí.</p>
  33. <div class="mt-6">
  34. <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">
  35. Subir mi primer archivo
  36. </a>
  37. </div>
  38. </div>
  39. <!-- Loading State -->
  40. <div id="loadingState" class="text-center py-12">
  41. <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">
  42. <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
  43. <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>
  44. </svg>
  45. <p class="mt-2 text-sm text-gray-500">Cargando enlaces...</p>
  46. </div>
  47. </div>
  48. </div>
  49. <script src="{{ url_for('static', filename='view.js') }}"></script>
  50. </body>
  51. </html>