pub fn Page(allocator: zx.Allocator) zx.Component {
    return (
        <main @allocator={allocator}>
            <Button @caching="10s:button" title="Custom Button" />
            // <Button @caching={.{ .seconds = 10, .key = "button" }} title="Custom Button" />
            // <Button @caching={.{ .seconds = 10 }} title="Custom Button" />
            <Button @caching="10s" title="Custom Button" />
        </main>
    );
}

const ButtonProps = struct { title: []const u8 };
pub fn Button(allocator: zx.Allocator, props: ButtonProps) zx.Component {
    return (<button @allocator={allocator}>{props.title}</button>);
}

const zx = @import("zx");
