pib-viewer 0.9.2

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_i18n::t;
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! {
        div {
            class: "card",

            div {
                class: "header",

                h2 { { t!("bodies") } }
            }

            ul {
                class: "sectional",
                style: "list-style-type: '🏛️ '; padding-left: 1.5em;",

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