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::Meeting;

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

#[derive(Debug, Clone, PartialEq, Props)]
pub struct MeetingProps {
    meeting: Meeting,
}

#[component]
pub fn Meeting(props: MeetingProps) -> Element {
    rsx! {
        div {
            Link {
                to: Route::Meeting { meeting_url: UrlEncoded::from(props.meeting.id) },
                "🗣️ ",
                if let Some(name) = props.meeting.name {
                    "{name}"
                } else {
                    i {
                        "Unknown"
                    }
                }
                if let Some(start) = props.meeting.start.map(|dt| dt.date()) {
                    " ({start})"
                }
            }
        }
    }
}