use crate::{class::Class, format_class};
use dioxus::prelude::*;
pub fn Container<'a>(cx: Scope<'a, ContainerProps<'a>>) -> Element {
let class = format_class!(cx, "container");
render! {
main {
class: "{class}",
&cx.props.children
}
}
}
#[derive(Props)]
pub struct ContainerProps<'a> {
#[props(into)]
pub class: Option<Class<'a>>,
children: Element<'a>,
}
pub fn FluidContainer<'a>(cx: Scope<'a, FluidContainerProps<'a>>) -> Element {
let class = format_class!(cx, "container-fluid");
render! {
main {
class: "{class}",
&cx.props.children
}
}
}
#[derive(Props)]
pub struct FluidContainerProps<'a> {
#[props(into)]
pub class: Option<Class<'a>>,
children: Element<'a>,
}
pub fn MainContainer<'a>(cx: Scope<'a, MainContainerProps<'a>>) -> Element {
let class = format_class!(cx, "container-fluid my-4 px-4");
render! {
main {
class: "{class}",
&cx.props.children
}
}
}
#[derive(Props)]
pub struct MainContainerProps<'a> {
#[props(into)]
pub class: Option<Class<'a>>,
children: Element<'a>,
}