<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<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=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">

		<title>Indian Translate</title>
		<script src="https://d3js.org/d3.v7.min.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/@turf/turf@7/turf.min.js" charset="utf-8"></script>
		<script src="https://unpkg.com/htmx.org@2.0.4" integrity="sha384-HGfztofotfshcF7+8n44JQL2oJmowVChPTg48S+jvZoztPfvwD79OC/LTtG6dMp+" crossorigin="anonymous"></script>
		<style>
			body {
				background-color: #f4f4f4;
			}
			main {
					display: flex;
					align-items: flex-start;
					justify-content: space-evenly;
			}

			svg {
				border: 1px solid;
				padding: 2em;
			}
		   h1 {
            margin-block: 0.67em;
            font-size: 2em;
         } 

			.state {
				stroke: black;
				fill: none;
				stroke-width: 0.5;
			}
			.language {
				stroke: red;
				/* There has to be a fill, even if it's transparent, to allow
				hover events to be recognized on the inside. */
	/*			fill: black;
				fill-opacity: 0.0; */
				fill-opacity: 0.8;
				stroke-width: 1;
			}
			.translationText, .romanizationText {
				visibility: hidden;
				font-family: "Noto Sans";
				font-size:1.25em;
			}

         .romanizationText {
            pointer-events: none;
         }

         .languageText {
            pointer-events: none;
            font-weight: bold;
            font-size: 1.15em;
            font-family: sans-serif;
            visibility: hidden;
         }
         .language:hover ~ .languageText {
            visibility: visible;
         }

			.testClass:hover {
				fill: red;
				cursor: default;
			}

			.district {
				stroke: white;
				stroke-width: 0.25;
				transition: fill 0.3s;
				fill: none;
				pointer-events: none;
			}
			.language:hover {
				stroke-width: 2;
			}
			.districtText {
				visibility: hidden;
			}
/*			.district:hover ~ .districtText {
				visibility: visible;
			}*/


			.loading-indicator {
					display: none;
			}
			.loading, .htmx-request.loading-indicator /* While request is being made */ {
					display: inline;
			}

			/* Dim all other states */
			/* Kinda wild that you can do this in plain CSS */
			#indiaMap:has(.language:hover) .language:not(:hover) {
    			fill-opacity: 0.5;
	   		transition: fill-opacity 0.3s;
			}

			#indiaMap .language:hover {
				fill-opacity: 1;
				 transition: fill-opacity 0.3s;
			}
		</style>
	</head>
	<body>
		<main>
		<section id="textStuff">
			<h1>Indian Translate</h1>
			<form hx-get="/submit" hx-swap=none hx-indicator="#loading-screen" hx-on::before-request="hideText(event.detail.xhr.response)" hx-on::after-request="updateTranslations(event.detail.xhr.response)" class="translateForm" method="get">
				<label for="query">Enter text to translate:</label>
				<input type="text" name="query" id="query" required/>
				<input type="submit" value="Translate"/>
			</form>
		<progress id="loading-screen" class="loading-indicator"></progress>
		</section>

		<svg id = "indiaMap" width="1300" height="1300"></svg>
		</main>

		<script type="text/javascript" src="index.js"></script>
		<script type="text/javascript" src="updateTranslations.js"></script>


	</body>
</html>