╭ changed ────╮ │build.zig.zon│ ╰─────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 3 .version = "0.0.0", │ │ 4 .dependencies = .{ │ │ 5 .xit = .{ │ │ 6 - .url = "git+https://github.com/xit-vcs/xit#6710eb2318cb3f1e094a4244865175c1ec07ffc1",│ │ 7 - .hash = "xit-0.0.0-Ub3nDIRMHQDU21NIxnZ5F3eV4V0ymBTro-iVPpR8IfZb", │ │ 6 + .url = "git+https://github.com/xit-vcs/xit#39499e85a5c7da041ea461709ac711660b4cc09d",│ │ 7 + .hash = "xit-0.0.0-Ub3nDBZNHQAHbw9yZ4Hfg-1nsbOSKVAhLs2C4XhkFeqx", │ │ 8 }, │ │ 9 }, │ │10 .paths = .{ │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────╮ │src/test/ui.zig│ ╰───────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │46 defer arena.deinit(); │ │47 const allocator = arena.allocator(); │ │48 var session = ui.Session{ .arena = &arena, .page_arena = &arena, .is_terminal = false }; │ │49 - var root = ui.Widget{ .box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert }) }; │ │49 + var root = ui.Widget{ .box = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .vert }) }; │ │50 defer root.deinit(allocator); │ │51 - var scroll = try wgt.Scroll(ui.Widget).init(allocator, .{ .box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert }) }, .{ .web_native = true });│ │51 + var scroll = try wgt.Scroll(ui.Widget).init(allocator, .{ .box = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .vert }) }, .{ .web_native = true }); │ │52 for ([_][]const u8{ "visible", "hidden", "offscreen" }, 0..) |name, i| { │ │53 var input = try wgt.TextInput.init(allocator, .{ .name = name, .render_content = false }); │ │54 input.getFocus().mode = .all; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │2731 .unknown => "", │ │2732 .email, .user_name => |t| t, │ │2733 }; │ │2734 - var tb = try wgt.TextBox.init(allocator, text, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none, .label = " author " }); │ │2734 + var tb = try wgt.TextBox.init(allocator, text, .{ .border = .single, .round_corners = true, .wrap_kind = .none, .top_label = .{ .text = " author " } });│ │2735 errdefer tb.deinit(allocator); │ │2736 tb.getFocus().mode = .all; │ │2737 switch (author) { │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │2927 // on the TUI/SSH, the page sits above a one-row footer showing its web │ │2928 // url, when there's a web UI to point at │ │2929 var root = if (session.is_terminal) blk: { │ │2930 - var box = try wgt.Box(Widget).init(allocator, .{ .border_style = null, .direction = .vert });│ │2930 + var box = try wgt.Box(Widget).init(allocator, .{ .border = null, .direction = .vert }); │ │2931 errdefer box.deinit(allocator); │ │2932 const bg_id = bg_blk: { │ │2933 var background = try widget.AnsiBackground.init(allocator, page_widget, session); │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────╮ │src/ui/Fork.zig│ ╰───────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │182 const stack_index: usize = 1; │ │183 │ │184 pub fn init(allocator: std.mem.Allocator, data: *const Self, session: *ui.Session) !View { │ │185 - var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert }); │ │185 + var box = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .vert }); │ │186 errdefer box.deinit(allocator); │ │187 { │ │188 var header = try Header.View.init(allocator, &data.header, data.commits.commit_count, session);│ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─────────────╮ │src/ui/Fork/Header.zig│ ╰──────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │45 session: *ui.Session, │ │46 │ │47 pub fn init(allocator: std.mem.Allocator, data: *const Self, commit_count: ?u64, session: *ui.Session) !View { │ │48 - var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = .hidden, .round_corners = true, .direction = .horiz });│ │48 + var box = try wgt.Box(ui.Widget).init(allocator, .{ .border = .hidden, .round_corners = true, .direction = .horiz }); │ │49 errdefer box.deinit(allocator); │ │50 │ │51 - var title_box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .horiz }); │ │51 + var title_box = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │52 var title_box_owned = false; │ │53 errdefer if (!title_box_owned) title_box.deinit(allocator); │ │54 │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │55 - var tabs_box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .horiz });│ │55 + var tabs_box = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │56 var tabs_box_owned = false; │ │57 errdefer if (!tabs_box_owned) tabs_box.deinit(allocator); │ │58 │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │70 { │ │71 var text_buf: [evt.User.name_max_len + 1]u8 = undefined; │ │72 const text = try std.fmt.bufPrint(&text_buf, "{s}/", .{data.forker_name}); │ │73 - var forker = try wgt.TextBox.init(allocator, text, .{ .border_style = .hidden, .wrap_kind = .none });│ │73 + var forker = try wgt.TextBox.init(allocator, text, .{ .border = .hidden, .wrap_kind = .none }); │ │74 errdefer forker.deinit(allocator); │ │75 forker.getFocus().mode = .all; │ │76 forker.getFocus().kind = .{ .custom = try aa.print("a:/{s}", .{data.forker_name}) }; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │113 │ │114 for (routes, tags, labels, bottom_labels) |route, tag, label, bottom_label| { │ │115 const selected = current_tag == tag; │ │116 - var tab = try wgt.TextBox.init(allocator, label, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none, .bottom_label = bottom_label }); │ │116 + var tab = try wgt.TextBox.init(allocator, label, .{ .border = .single, .round_corners = true, .wrap_kind = .none, .bottom_label = .{ .text = bottom_label } });│ │117 errdefer tab.deinit(allocator); │ │118 tab.getFocus().mode = .all; │ │119 tab.getFocus().kind = .{ .custom = try ui.inPageTabLink(session, route, selected) }; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │142 │ │143 // new repo tab with a login, new user tab without one outside local mode │ │144 if (session.data.user_id != null) { │ │145 - var new_repo = try wgt.TextBox.init(allocator, new_tab_label, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none, .bottom_label = new_repo_tab_bottom_label }); │ │145 + var new_repo = try wgt.TextBox.init(allocator, new_tab_label, .{ .border = .single, .round_corners = true, .wrap_kind = .none, .bottom_label = .{ .text = new_repo_tab_bottom_label } });│ │146 errdefer new_repo.deinit(allocator); │ │147 new_repo.getFocus().mode = .all; │ │148 new_repo.getFocus().kind = .{ .custom = new_repo_link }; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯