import Section from "@unom/ui/section"; import type { FC } from "react"; import type { AvailableCompositor } from "@/api/gen/model/availableCompositor"; import type { HostInfo } from "@/api/gen/model/hostInfo"; import { QueryState } from "@/components/query-state"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import type { Loadable } from "@/lib/query"; import { m } from "@/paraglide/messages"; export const HostView: FC<{ host: Loadable; compositors: Loadable; }> = ({ host, compositors }) => { const h = host.data; return (

{m.nav_host()}

{h && (
{m.host_identity()}
{m.host_codecs()} {h.codecs.map((c) => ( {c.toUpperCase()} ))} {m.host_ports()}
{Object.entries(h.ports).map(([k, v]) => (
{k}
{v as number}
))}
)}
{m.host_compositors()}

{m.host_compositors_help()}

    {compositors.data?.map((c) => (
  • {c.label} {c.default && ( {m.compositor_default()} )}
    {c.id}
    {c.available ? m.compositor_available() : m.compositor_unavailable()}
  • ))}
); }; const Row: FC<{ label: string; value: string; mono?: boolean }> = ({ label, value, mono, }) => (
{label}
{value}
);