import { Component, createSignal, JSXElement, Resource, Show } from "solid-js"; import "../../css/Result.css" import { ResultKeyVal, resultOrder, ResultOrderKeys } from "../../consts"; import { SelectOrder } from "../SelectOrder"; import { QueryResult } from "../helpers"; import { MapView } from "../map/MapView"; import { GridResult } from "./GridResult"; type ResultView = "grid" | "list" | "map_1920x1080" | "map_1920x1080_wind" | "map_3840x1440" | "map_3840x1440_wind"; const resultViews: Array = ["grid", "list", "map_1920x1080", "map_1920x1080_wind", "map_3840x1440", "map_3840x1440_wind"]; export const ResultView: Component<{ result: Resource }> = ({ result: resultResource }) => { const [getOrderKey, setOrderKey] = createSignal("A -> Z"); const [getResultView, setResultView] = createSignal("grid"); const cityData = () => Object.entries(resultResource()!.result) .map(keyVal => [...keyVal] as ResultKeyVal) .sort((a, b) => resultOrder[getOrderKey()](a, b)); function showViewButton(viewName: string): boolean { if (!resultResource()) return false; if (["grid", "list"].includes(viewName) && resultResource()!.query.field === "phenomena") return true; if (["grid", "list"].includes(viewName) && resultResource()!.query.key !== "List") return true; if (!["grid", "list"].includes(viewName) && resultResource()!.query.key === "List") return false; if (resultResource()!.query.field === "phenomena") return false; return true; } return (
{resultViews.map(viewName => <> setResultView(viewName)} />   |   )}
{cityData().map(([city, data]) => )}
{cityData().map(([city, data]) => )}
); }