import React, { useState } from "react";
import "./currentData.css";
const Currentdata = (props) => {
const [query, setQuery] = useState("");
const [data, setData] = useState([]);
const handleInputChange = (e) => {
setQuery(e.target.value);
if (e.target.value.trim() !== "") {
searchAPI(e.target.value.trim());
}
};
return (
);
function getData() {
//switch
const units = document.getElementById("units").value;
const city_text = document.getElementById("city_text").value;
const region_text = document.getElementById("region_text").value;
const country_text = document.getElementById("country_text").value;
const latitude_text = document.getElementById("latitude_text").value;
const longitude_text = document.getElementById("longitude_text").value;
//Checkboxes
//location
const name = document.getElementById("name").checked;
const region = document.getElementById("region").checked;
const country = document.getElementById("country").checked;
const lon = document.getElementById("lon").checked;
const lat = document.getElementById("lat").checked;
const tz_id = document.getElementById("tz_id").checked;
const localtime_epoch = document.getElementById("localtime_epoch").checked;
const localtime = document.getElementById("localtime").checked;
//current
const last_updated_epoch =
document.getElementById("last_updated_epoch").checked;
const last_updated = document.getElementById("last_updated").checked;
const temp = document.getElementById("temp").checked;
const id_day = document.getElementById("id_day").checked;
const condition_text = document.getElementById("condition_text").checked;
const condition_icon = document.getElementById("condition_icon").checked;
const condition_code = document.getElementById("condition_code").checked;
const wind = document.getElementById("wind").checked;
const wind_degree = document.getElementById("wind_degree").checked;
const wind_dir = document.getElementById("wind_dir").checked;
const pressure = document.getElementById("pressure").checked;
const precip = document.getElementById("precip").checked;
const humidity = document.getElementById("humidity").checked;
const cloud = document.getElementById("cloud").checked;
const feelslike = document.getElementById("feelslike").checked;
const windchill = document.getElementById("windchill").checked;
const heatindex = document.getElementById("heatindex").checked;
const dewpoint = document.getElementById("dewpoint").checked;
const vis = document.getElementById("vis").checked;
const uv = document.getElementById("uv").checked;
const gust = document.getElementById("gust").checked;
const air_quality_co = document.getElementById("air_quality_co").checked;
const air_quality_no2 = document.getElementById("air_quality_no2").checked;
const air_quality_o3 = document.getElementById("air_quality_o3").checked;
const air_quality_so2 = document.getElementById("air_quality_so2").checked;
const air_quality_pm2_5 =
document.getElementById("air_quality_pm2_5").checked;
const air_quality_pm10 =
document.getElementById("air_quality_pm10").checked;
const air_quality_us_epa_index = document.getElementById(
"air_quality_us_epa_index"
).checked;
const air_quality_gb_defra_index = document.getElementById(
"air_quality_gb_defra_index"
).checked;
let filterArray = [];
if (name) {
filterArray.push("name");
}
if (region) {
filterArray.push("region");
}
if (country) {
filterArray.push("country");
}
if (lon) {
filterArray.push("lon");
}
if (lat) {
filterArray.push("lat");
}
if (tz_id) {
filterArray.push("tz_id");
}
if (localtime_epoch) {
filterArray.push("localtime_epoch");
}
if (localtime) {
filterArray.push("localtime");
}
if (last_updated_epoch) {
filterArray.push("last_updated_epoch");
}
if (last_updated) {
filterArray.push("last_updated");
}
if (temp) {
if(units == world){
filterArray.push("temp_f");
}
filterArray.push("temp_f");
}
if (id_day) {
filterArray.push("id_day");
}
if (condition_text) {
filterArray.push("condition_text");
}
if (condition_icon) {
filterArray.push("condition_icon");
}
if (condition_code) {
filterArray.push("condition_code");
}
if (wind) {
if(units == world){
filterArray.push("wind_mph");
}
filterArray.push("wind_kph");
}
if (wind_degree) {
filterArray.push("wind_degree");
}
if (wind_dir) {
filterArray.push("wind_dir");
}
if (pressure) {
if(units == world){
filterArray.push("temp_mb");
}
filterArray.push("pressure_in");
}
if (precip) {if(units == world){
filterArray.push("temp_mm");
}
filterArray.push("precip_in");
}
if (humidity) {
filterArray.push("humidity");
}
if (cloud) {
filterArray.push("cloud");
}
if (feelslike) {
if(units == world){
filterArray.push("feelslike_c");
}
filterArray.push("feelslike_f");
}
if (windchill) {
if(units == world){
filterArray.push("windchill_c");
}
filterArray.push("windchill_f");
}
if (heatindex) {
if(units == world){
filterArray.push("heatindex_c");
}
filterArray.push("heatindex_f");
}
if (dewpoint) {
if(units == world){
filterArray.push("dewpoint_c");
}
filterArray.push("dewpoint_f");
}
if (vis) {
if(units == world){
filterArray.push("vis_miles");
}
filterArray.push("vis_miles");
}
if (uv) {
filterArray.push("uv");
}
if (gust) {
if(units == world){
filterArray.push("gust_kph");
}
filterArray.push("gust_mph");
}
if (air_quality_co) {
filterArray.push("air_quality_co");
}
if (air_quality_no2) {
filterArray.push("air_quality_no2");
}
if (air_quality_o3) {
filterArray.push("air_quality_o3");
}
if (air_quality_so2) {
filterArray.push("air_quality_so2");
}
if (air_quality_pm2_5) {
filterArray.push("air_quality_pm2_5");
}
if (air_quality_pm10) {
filterArray.push("air_quality_pm10");
}
if (air_quality_us_epa_index) {
filterArray.push("air_quality_us_epa_index");
}
if (air_quality_gb_defra_index) {
filterArray.push("air_quality_gb_defra_index");
}
let filterString = filterArray.join(",");
console.log("FilterString = " + filterString);
const apiUrl = `http://localhost:8080/currentweather?q=${latitude_text},${longitude_text}&filter=${filterString}`;
fetch(apiUrl)
.then((response) => {
if (!response.ok) {
throw new Error("Network response was not ok");
}
return response.json();
})
.then((data) => {
// Wetterdaten anzeigen
document.getElementById("weatherData").innerText = JSON.stringify(
data,
null,
2
);
document.getElementById("apiUrloutput").value = apiUrl;
})
.catch((error) => {
console.error("There was a problem with the fetch operation:", error);
});
}
function searchAPI() {
const cityInput = document.getElementById("city_text").value;
const apiUrl = `http://localhost:8080/search?city=${cityInput}`;
fetch(apiUrl)
.then((response) => {
if (!response.ok) {
throw new Error("Network response was not ok");
}
return response.json();
})
.then((data) => {
setData(data);
})
.catch((error) => {
console.error("There was a problem with the fetch operation:", error);
});
}
function boolToWord(bool) {
return bool ? "yes" : "no";
}
};
const ListItem = ({ name, country, region, lat, lon }) => {
const handleClick = () => {
document.getElementById("city_text").value = name;
document.getElementById("region_text").value = country;
document.getElementById("country_text").value = region;
document.getElementById("latitude_text").value = lat;
document.getElementById("longitude_text").value = lon;
};
return (
{name}
Country: {country}
Region: {region}
Lat: {lat}, Lon: {lon}
);
};
export default Currentdata;