From ce0a09b3b78b5bbf47a1fb2444bef43d30804944 Mon Sep 17 00:00:00 2001
From: dre0059 <eliska.dreveniakova@vsb.cz>
Date: Mon, 28 Apr 2025 20:28:42 +0200
Subject: [PATCH] =?UTF-8?q?Bootstrap=20aplikovan=C3=BD=20na=20chybov=C3=A9?=
 =?UTF-8?q?=20hl=C3=A1senia?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 data/demo.mv.db                          | Bin 21037056 -> 21037056 bytes
 src/main/resources/templates/upload.html |  34 +++++++++++++++++++++--
 2 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/data/demo.mv.db b/data/demo.mv.db
index 58a471a1a46f01613223ede85826889a448b65b6..f3831a855cd30eccd93151d4e4273a5c67b3f682 100644
GIT binary patch
delta 2849
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

delta 3314
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
RF^yt6#SC@?<Ae3sJ_7BH5iI}!

diff --git a/src/main/resources/templates/upload.html b/src/main/resources/templates/upload.html
index 42973c2..c263d6d 100644
--- a/src/main/resources/templates/upload.html
+++ b/src/main/resources/templates/upload.html
@@ -37,7 +37,7 @@
     </style>
 </head>
 <body>
-
+<!-- navbar -->
 <nav class="navbar navbar-expand-lg navbar-light bg-light static-top">
     <div class="container">
         <a class="navbar-brand" href="/upload">Article Processor</a>
@@ -64,7 +64,7 @@
     </div>
 </nav>
 
-
+<!-- header -->
 <header class="masthead">
     <div class="container position-relative">
         <div class="row justify-content-center">
@@ -88,6 +88,9 @@
         </div>
     </div>
 </header>
+
+
+<!--PDF window -->
 <div class="container text-center mt-4">
     <embed id="pdf-preview" style="display: none; width: 100%; height: 600px; border: 1px solid #ddd;"></embed>
     <div id="upload-button-wrapper" style="display: none;" class="text-center mt-3">
@@ -95,7 +98,13 @@
     </div>
     <div id="processing-message" class="mt-3 text-primary" style="display: none; font-weight: bold;">
         Processing PDF<span id="dots"></span>
+</div>
+
+<!-- alert message -->
+<div id="alert-container" class="container mt-4" style="display: none;">
+    <div id="alert-box" class="alert" role="alert">
     </div>
+</div>
 
 
 
@@ -223,11 +232,30 @@
                     errorMessage = xhr.responseText;
                 }
 
-                alert(errorMessage);  // zobrazĂ­ chybu
+                //alert(errorMessage);  // zobrazĂ­ chybu
+                showAlert(errorMessage, 'danger');
             }
         });
     });
 
+    function showAlert(message, type) {
+        const alertContainer = document.getElementById('alert-container');
+        const alertBox = document.getElementById('alert-box');
+
+        alertBox.className = 'alert alert-' + type; // type (danger, success, warning)
+        alertBox.innerHTML = message;
+
+        alertContainer.style.display = 'block';
+
+        // Automatické skrytie
+        /*
+        setTimeout(() => {
+            alertContainer.style.display = 'none';
+        }, 10000);
+
+        */
+    }
+
 </script>
 
 
-- 
GitLab