|  | <!DOCTYPE html> | 
					
						
						|  | <html lang="en"> | 
					
						
						|  | <head> | 
					
						
						|  | <meta charset="UTF-8"> | 
					
						
						|  | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 
					
						
						|  | <title>CSV Upload</title> | 
					
						
						|  |  | 
					
						
						|  | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf/notyf.min.css"> | 
					
						
						|  | <style> | 
					
						
						|  | body { | 
					
						
						|  | font-family: Arial, sans-serif; | 
					
						
						|  | text-align: center; | 
					
						
						|  | background-color: #f0f0f0; | 
					
						
						|  | margin: 0; | 
					
						
						|  | padding: 0; | 
					
						
						|  | } | 
					
						
						|  | h1 { | 
					
						
						|  | background-color: #4CAF50; | 
					
						
						|  | color: white; | 
					
						
						|  | padding: 20px; | 
					
						
						|  | margin: 0; | 
					
						
						|  | border-bottom: 2px solid #388E3C; | 
					
						
						|  | } | 
					
						
						|  | .input-row { | 
					
						
						|  | display: flex; | 
					
						
						|  | justify-content: center; | 
					
						
						|  | gap: 10px; | 
					
						
						|  | margin-top: 20px; | 
					
						
						|  | } | 
					
						
						|  | .input-row input[type="file"] { | 
					
						
						|  | padding: 10px; | 
					
						
						|  | font-size: 16px; | 
					
						
						|  | border: 1px solid #ccc; | 
					
						
						|  | border-radius: 5px; | 
					
						
						|  | } | 
					
						
						|  | .input-row input[type="checkbox"] { | 
					
						
						|  | margin-top: 5px; | 
					
						
						|  | } | 
					
						
						|  | .input-row label { | 
					
						
						|  | display: flex; | 
					
						
						|  | align-items: center; | 
					
						
						|  | color: #4CAF50; | 
					
						
						|  | font-size: 16px; | 
					
						
						|  | } | 
					
						
						|  | #uploadButton { | 
					
						
						|  | color: white; | 
					
						
						|  | background-color: #4CAF50; | 
					
						
						|  | border: none; | 
					
						
						|  | cursor: pointer; | 
					
						
						|  | padding: 10px 20px; | 
					
						
						|  | font-size: 16px; | 
					
						
						|  | border-radius: 5px; | 
					
						
						|  | margin-top: 20px; | 
					
						
						|  | } | 
					
						
						|  | #uploadButton:hover { | 
					
						
						|  | background-color: #388E3C; | 
					
						
						|  | } | 
					
						
						|  | </style> | 
					
						
						|  | </head> | 
					
						
						|  | <body> | 
					
						
						|  | <h1>Upload CSV File</h1> | 
					
						
						|  | <form id="uploadForm" enctype="multipart/form-data" method="post"> | 
					
						
						|  | <div class="input-row"> | 
					
						
						|  | <input type="file" name="file" accept=".csv"> | 
					
						
						|  | </div> | 
					
						
						|  | <div class="input-row"> | 
					
						
						|  | <label> | 
					
						
						|  | <input type="checkbox" name="verify_phone" value="1"> Verify Phone | 
					
						
						|  | </label> | 
					
						
						|  | <label> | 
					
						
						|  | <input type="checkbox" name="add_curator" value="1"> Add Curator | 
					
						
						|  | </label> | 
					
						
						|  | </div> | 
					
						
						|  | <input id="uploadButton" type="submit" value="Upload"> | 
					
						
						|  | </form> | 
					
						
						|  | <div id="result"></div> | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | <script src="https://cdn.jsdelivr.net/npm/notyf/notyf.min.js"></script> | 
					
						
						|  | <script> | 
					
						
						|  | document.getElementById('uploadForm').addEventListener('submit', function(event) { | 
					
						
						|  | event.preventDefault(); | 
					
						
						|  | const form = new FormData(this); | 
					
						
						|  |  | 
					
						
						|  | const notyf = new Notyf({ | 
					
						
						|  | duration: 5000, | 
					
						
						|  | position: { | 
					
						
						|  | x: 'right', | 
					
						
						|  | y: 'top' | 
					
						
						|  | }, | 
					
						
						|  | types: [ | 
					
						
						|  | { | 
					
						
						|  | type: 'info', | 
					
						
						|  | background: 'green', | 
					
						
						|  | icon: { | 
					
						
						|  | className: 'notyf__icon--info', | 
					
						
						|  | tagName: 'span', | 
					
						
						|  | text: '' | 
					
						
						|  | } | 
					
						
						|  | } | 
					
						
						|  | ] | 
					
						
						|  | }); | 
					
						
						|  | notyf.open({ | 
					
						
						|  | type: 'info', | 
					
						
						|  | message: 'Загрузка началась, пожалуйста, подождите' | 
					
						
						|  | }); | 
					
						
						|  | fetch('/upload_csv', { | 
					
						
						|  | method: 'POST', | 
					
						
						|  | body: form | 
					
						
						|  | }) | 
					
						
						|  | .then(response => response.json()) | 
					
						
						|  | .then(data => { | 
					
						
						|  | notyf.open({ | 
					
						
						|  | type: 'success', | 
					
						
						|  | message: data.message | 
					
						
						|  | }); | 
					
						
						|  | }) | 
					
						
						|  | .catch(error => { | 
					
						
						|  | console.error('Error:', error); | 
					
						
						|  | notyf.open({ | 
					
						
						|  | type: 'error', | 
					
						
						|  | message: 'An error occurred while uploading the file.' | 
					
						
						|  | }); | 
					
						
						|  | }); | 
					
						
						|  | }); | 
					
						
						|  | </script> | 
					
						
						|  | </body> | 
					
						
						|  | </html> |