Custom-built widget not being displayed

I’m simply trying to render a basic shape. Please ignore the name (DateElement or any other name). The program builds successfully, but the screen is just white.

Here’s the entire code:

main.rs


use iced::{widget::container, Color};

mod components;
mod core;
pub mod styles;

#[derive(Default)]
struct Sth {}

#[derive(Debug)]
enum Message {}

impl Sth
{
    fn view(&self) -> iced::Element<Message>
    {
        container(styles::calendar::DateElement {
            date: 30,
            status: styles::calendar::Status::Selected,
            accent: Color {
                r: 0.0,
                g: 0.0,
                b: 0.0,
                a: 0.0,
            },
        })
        .into()
    }

    fn update(&mut self, message: Message) {}
}

fn main()
{
    iced::run("Hi", Sth::update, Sth::view);
}

styles.rs

pub mod calendar;

calendar.rs

use iced::{
    advanced::{self, layout, renderer::Quad},
    border::Radius,
    Background, Border, Color, Element, Length, Rectangle, Shadow, Size, Theme,
};

pub struct Style
{
    pub background: Background,
    pub accent_colour: Color,
}

pub enum Status
{
    Selected,
    Hovered,
}

pub struct DateElement
{
    pub date: usize,
    pub status: Status,
    pub accent: Color,
}

impl<Message, Theme, Renderer> advanced::Widget<Message, Theme, Renderer> for DateElement
where
    Renderer: advanced::Renderer,
{
    fn size(&self) -> Size<Length>
    {
        Size::new(Length::Fixed(100.0), Length::Fixed(100.0))
    }

    fn layout(
        &self,
        tree: &mut advanced::widget::Tree,
        renderer: &Renderer,
        limits: &advanced::layout::Limits,
    ) -> advanced::layout::Node
    {
        layout::Node::new(Size {
            width: 100.0,
            height: 100.0,
        })
    }

    fn draw(
        &self,
        tree: &advanced::widget::Tree,
        renderer: &mut Renderer,
        theme: &Theme,
        style: &advanced::renderer::Style,
        layout: advanced::Layout<'_>,
        cursor: advanced::mouse::Cursor,
        viewport: &iced::Rectangle,
    )
    {
        renderer.fill_quad(
            Quad {
                bounds: layout.bounds(),
                border: Border {
                    color: Color {
                        r: 0.4,
                        g: 0.9,
                        b: 0.762,
                        a: 0.1267,
                    },
                    width: 1.0,
                    radius: Radius {
                        top_left: 100.0,
                        top_right: 100.0,
                        bottom_right: 100.0,
                        bottom_left: 100.0,
                    },
                },
                shadow: Shadow::default(),
            },
            self.accent,
        );
        println!("Drawing DateElement at {:?}", layout.bounds());
    }
}

impl<'a, Message, Renderer> From<DateElement> for Element<'a, Message, Theme, Renderer>
where
    Renderer: advanced::Renderer,
{
    fn from(value: DateElement) -> Self
    {
        Self::new(value)
    }
}

I followed a tutorial on GitHub to build custom widgets: Click Here