import { useState } from "react"; import Logo from "./components/Logo"; import Statistic from "./components/Statistic"; import Image from "./components/Image"; import { LastChecked } from "./components/LastChecked"; import Loading from "./components/Loading"; import { Data } from "./types"; import { theme } from "./theme"; import RefreshButton from "./components/RefreshButton"; import Search from "./components/Search"; import { Server } from "./components/Server"; const SORT_ORDER = [ "monitored_images", "updates_available", "major_updates", "minor_updates", "patch_updates", "other_updates", "up_to_date", "unknown", ]; function App() { const [data, setData] = useState(null); const [searchQuery, setSearchQuery] = useState(""); if (!data) return ; return (

Cup

{Object.entries(data.metrics) .sort((a, b) => { return SORT_ORDER.indexOf(a[0]) - SORT_ORDER.indexOf(b[0]); }) .map(([name]) => ( ))}
    {Object.entries( data.images.reduce>( (acc, image) => { const server = image.server ?? ""; if (!acc[server]) acc[server] = []; acc[server].push(image); return acc; }, {}, ), ) .sort() .map(([server, images]) => ( {images .filter((image) => image.reference.includes(searchQuery)) .map((image) => ( ))} ))}
); } export default App;