pub fn Page(allocator: zx.Allocator) zx.Component {
    const count = 42;
    const hex_value = 255;
    const percentage = 75;
    const float_value = 3.14;
    const bool_value = true;
    const person: Person = .{
        .name = "John",
        .age = 30,
        .email = "john@example.com",
    };

    // TODO: Add support for pointer to struct array
    // const persons = allocator.alloc(Person, 2) catch unreachable;
    // persons[0] = person;
    // persons[1] = person;

    return (
        <section @allocator={allocator}>
            <p>Count: {count}</p>
            <p>Hex: 0x{hex_value}</p>
            <p>Percentage: {percentage}%</p>
            <p>Count: {count}</p>
            <p>Hex: 0x{hex_value}</p>
            <p>Percentage: {percentage}%</p>
            <p>Float: {float_value}</p>
            <p>Bool: {bool_value}</p>
            <p>Person: {person}</p>
        </section>
    );
}

const Person = struct {
    name: []const u8,
    age: u32,
    email: []const u8,
};

const zx = @import("zx");
