Spaces:
Sleeping
Sleeping
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Crop Production Analysis</title> | |
| <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"> | |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css"> | |
| <link rel="preconnect" href="https://fonts.googleapis.com"> | |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> | |
| <link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap" rel="stylesheet"> | |
| <style> | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font-family: 'Outfit', sans-serif; | |
| background-color: #f8f9fa; | |
| min-height: 100vh; | |
| padding: 0; | |
| } | |
| /* Curved Bottom Hero Header */ | |
| .hero-header { | |
| background-color: #1a5d3a; | |
| color: white; | |
| padding: 2rem 0 4rem 0; | |
| box-shadow: 0 4px 20px rgba(26, 93, 58, 0.2); | |
| } | |
| .navbar { | |
| background-color: transparent; | |
| padding: 1rem 3rem; | |
| } | |
| .navbar-nav { | |
| flex-direction: row; | |
| justify-content: center; | |
| width: 100%; | |
| gap: 3rem; | |
| } | |
| .nav-item { | |
| padding: 0; | |
| } | |
| .nav-link { | |
| color: white ; | |
| font-weight: 500; | |
| font-size: 1rem; | |
| padding: 0.5rem 1.5rem ; | |
| border-radius: 50px; | |
| transition: all 0.3s ease; | |
| border: 1px solid transparent; | |
| } | |
| .nav-link:hover { | |
| background-color: #ffffff; | |
| color: #198754 ; | |
| border-color: #198754; | |
| } | |
| /* Floating Card */ | |
| .main-container { | |
| max-width: 100%; | |
| margin: -3rem auto 3rem auto; | |
| } | |
| .content-card { | |
| background: #ffffff; | |
| border-radius: 20px; | |
| padding: 3rem; | |
| box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08); | |
| border: 3px solid #198754; | |
| } | |
| .heading { | |
| font-weight: bold; | |
| color: #1b5e20; | |
| margin-bottom: 20px; | |
| } | |
| /* Form Styles */ | |
| .form-group { | |
| margin-bottom: 1.5rem; | |
| } | |
| .form-group label { | |
| font-weight: 500; | |
| color: #212529; | |
| margin-bottom: 0.5rem; | |
| display: block; | |
| } | |
| .form-control { | |
| background-color: #f8f9fa; | |
| border: 1px solid #dee2e6; | |
| border-radius: 8px; | |
| padding: 0.5rem 1rem; | |
| font-family: 'Outfit', sans-serif; | |
| font-weight: 400; | |
| transition: all 0.3s ease; | |
| } | |
| .form-control:focus { | |
| background-color: #ffffff; | |
| border-color: #198754; | |
| box-shadow: 0 0 0 4px rgba(25, 135, 84, 0.1); | |
| outline: none; | |
| } | |
| /* Button Styles */ | |
| .btn-success { | |
| background-color: #1a5d3a; | |
| border: none; | |
| border-radius: 8px; | |
| padding: 0.75rem 2rem; | |
| font-weight: 500; | |
| font-size: 1rem; | |
| color: white; | |
| transition: all 0.3s ease; | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| .btn-success:hover { | |
| background-color: #143d2e; | |
| transform: translateY(-2px); | |
| box-shadow: 0 4px 12px rgba(26, 93, 58, 0.3); | |
| } | |
| .btn-success:focus { | |
| box-shadow: 0 0 0 4px rgba(25, 135, 84, 0.2); | |
| } | |
| /* Map Container */ | |
| #map-container { | |
| margin-top: 2rem; | |
| height: 500px; | |
| border: 1px solid #dee2e6; | |
| border-radius: 8px; | |
| overflow: hidden; | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); | |
| } | |
| #map-container iframe { | |
| width: 100%; | |
| height: 100%; | |
| border: none; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <!-- Navbar with Heading --> | |
| <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: #1a5d3a; padding: 1rem 3rem;"> | |
| <div class="container-fluid justify-content-center"> | |
| <h1 class="navbar-brand mb-0" style="font-size: 1.75rem; font-weight: 700;">Crop Production Analysis</h1> | |
| </div> | |
| </nav> | |
| <!-- Hero Section with Navigation --> | |
| <div class="hero-header"> | |
| <div class="container"> | |
| <ul class="navbar-nav"> | |
| <li class="nav-item"><a class="nav-link" href="/prodction_analysis"><i class="bi bi-graph-up"></i> Production Analysis</a></li> | |
| <li class="nav-item"><a class="nav-link" href="/heatmap_analysis"><i class="bi bi-map"></i> Heatmap Analysis</a></li> | |
| <li class="nav-item"><a class="nav-link" href="/season_analysis"><i class="bi bi-calendar3"></i> Season Analysis</a></li> | |
| <li class="nav-item"><a class="nav-link" href="/crop_analysis"><i class="bi bi-geo-alt"></i> Geospatial Analysis</a></li> | |
| </ul> | |
| </div> | |
| </div> | |
| <!-- Floating Content Card --> | |
| <div class="main-container"> | |
| <div class="content-card"> | |
| <form method="POST" action="/prodction_analysis"> | |
| <h1 class="heading">Crop Production Analysis</h1> | |
| <div class="form-group"> | |
| <label for="crop_type">Select Crop Type:</label> | |
| <select class="form-control" id="crop_type" name="crop_type"> | |
| <option value="">Select Crop</option> | |
| {% for crop in crop_options %} | |
| <option value="{{ crop }}" {% if crop == selected_crop %}selected{% endif %}>{{ crop }}</option> | |
| {% endfor %} | |
| </select> | |
| </div> | |
| <button type="submit" class="btn btn-success"> | |
| <i class="bi bi-search"></i> | |
| Analyze | |
| </button> | |
| </form> | |
| <div id="map-container"> | |
| {{ map_html | safe }} | |
| </div> | |
| </div> | |
| </div> | |
| <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"></script> | |
| <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script> | |
| </body> | |
| </html> | |