Skip to main content

dioxus_mdx/components/openapi/
method_badge.rs

1//! HTTP method badge component.
2
3use dioxus::prelude::*;
4
5use crate::parser::HttpMethod;
6
7/// Props for MethodBadge component.
8#[derive(Props, Clone, PartialEq)]
9pub struct MethodBadgeProps {
10    /// The HTTP method.
11    pub method: HttpMethod,
12    /// Optional additional classes.
13    #[props(default)]
14    pub class: String,
15}
16
17/// Colored badge for HTTP methods.
18#[component]
19pub fn MethodBadge(props: MethodBadgeProps) -> Element {
20    let badge_class = props.method.badge_class();
21    let method_str = props.method.as_str();
22
23    rsx! {
24        span {
25            class: "badge {badge_class} badge-sm font-mono font-bold {props.class}",
26            "{method_str}"
27        }
28    }
29}