| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <title>Diamond Price Prediction</title> |
| <style> |
| body { |
| background-color: #041C32; |
| color: #ECB365; |
| font-family: Arial, sans-serif; |
| margin: 0; |
| padding: 20px; |
| } |
| |
| .container { |
| max-width: 800px; |
| margin: auto; |
| background-color: #04293A; |
| padding: 20px; |
| border-radius: 8px; |
| } |
| |
| h1 { |
| color: #ECB365; |
| text-align: center; |
| } |
| |
| label { |
| display: block; |
| margin-top: 10px; |
| color: #ECB365; |
| } |
| |
| input, select { |
| width: 100%; |
| padding: 8px; |
| margin-top: 5px; |
| border: 1px solid #064663; |
| border-radius: 4px; |
| background-color: #064663; |
| color: #ECB365; |
| box-sizing: border-box; |
| } |
| |
| .btn { |
| margin-top: 20px; |
| padding: 10px 15px; |
| background-color: #ECB365; |
| color: #041C32; |
| border: none; |
| border-radius: 4px; |
| cursor: pointer; |
| font-weight: bold; |
| } |
| |
| .upload-section { |
| margin-top: 20px; |
| padding: 15px; |
| border: 2px dashed #ECB365; |
| text-align: center; |
| } |
| |
| |
| .loader-overlay { |
| position: fixed; |
| top: 0; |
| left: 0; |
| height: 100%; |
| width: 100%; |
| background-color: rgba(0, 0, 0, 0.6); |
| display: none; |
| justify-content: center; |
| align-items: center; |
| z-index: 9999; |
| } |
| |
| .loader { |
| border: 8px solid #f3f3f3; |
| border-top: 8px solid #ECB365; |
| border-radius: 50%; |
| width: 60px; |
| height: 60px; |
| animation: spin 1s linear infinite; |
| } |
| |
| @keyframes spin { |
| 0% { transform: rotate(0deg); } |
| 100% { transform: rotate(360deg); } |
| } |
| </style> |
| </head> |
| <body> |
| <div class="loader-overlay" id="loader"> |
| <div class="loader"></div> |
| </div> |
|
|
| <div class="container"> |
| <h1>Diamond Price Prediction</h1> |
| <div class="upload-section"> |
| <h3>Upload CSV or Excel for Bulk Prediction</h3> |
| <form id="uploadForm" action="{{ url_for('predict') }}" method="post" enctype="multipart/form-data"> |
| <input type="file" name="file" accept=".csv, .xlsx" required> |
| <button type="submit" class="btn">Upload & Predict</button> |
| </form> |
| </div> |
| </div> |
|
|
| <script> |
| const form = document.getElementById('uploadForm'); |
| const loader = document.getElementById('loader'); |
| |
| form.addEventListener('submit', function () { |
| loader.style.display = 'flex'; |
| }); |
| </script> |
| </body> |
| </html> |
|
|