pib-viewer 0.3.0

A viewer for public governmental data served over OParl
// SPDX-FileCopyrightText: Politik im Blick developers
// SPDX-FileCopyrightText: Wolfgang Silbermayr <wolfgang@silbermayr.at>
//
// SPDX-License-Identifier: AGPL-3.0-or-later OR EUPL-1.2

use dioxus::prelude::{Props, component, dioxus_elements, rsx};
use dioxus_core::Element;
use dioxus_router::Link;
use oparl_types::Body;

use crate::route::{Route, UrlEncoded};

#[derive(Debug, Clone, PartialEq, Props)]
pub struct BodyListProps {
    bodies: Vec<Body>,
}

#[component]
pub fn BodyList(props: BodyListProps) -> Element {
    rsx! {
        h2 { "Bodies" }

        ul {
            for body in props.bodies {
                li {
                    key: "{body.id}",
                    span {
                        "{body.name}"
                    },
                    span {
                        " ("
                        Link {
                            to: Route::Body { body_url: UrlEncoded::from(body.id)},
                            "View"
                        }
                        ")"
                    }

                }
            }
        }
    }
}