╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ──────────────╮ │src/ui/Repo/Patches.zig│ ╰───────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │975 try box.children.put(allocator, copyable_text.getFocus().id, .{ .widget = .{ .copyable_text = copyable_text }, .rect = null, .min_size = null }); │ │976 }; │ │977 if (entry.record.event.source_branch) |branch| { │ │978 - var source = try wgt.TextBox.init(allocator, branch, .{ .label = " source branch ", .border_style = .single, .round_corners = true, .wrap_kind = .none }); │ │978 + var source = try wgt.TextBox.init(allocator, branch, .{ .top_label = .{ .text = " source branch " }, .border = .single, .round_corners = true, .wrap_kind = .none });│ │979 errdefer source.deinit(allocator); │ │980 source.getFocus().mode = .all; │ │981 try box.children.put(allocator, source.getFocus().id, .{ .widget = .{ .text_box = source }, .rect = null, .min_size = null }); │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ───────────╮ │src/ui/Repo/Refs.zig│ ╰────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │154 const right_col = 1; │ │155 │ │156 pub fn init(allocator: std.mem.Allocator, data: *const Self, session: *ui.Session) !View { │ │157 - var outer = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert });│ │157 + var outer = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .vert }); │ │158 errdefer outer.deinit(allocator); │ │159 │ │160 // both backends list refs in sorted order, so a prefix is just a seek │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │161 { │ │162 - var header = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .horiz }); │ │162 + var header = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │163 errdefer header.deinit(allocator); │ │164 { │ │165 var search_box = try ui.widget.SearchBox.init(allocator, session, " search ", "search", data.search);│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │178 } │ │179 │ │180 { │ │181 - var split = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .horiz });│ │181 + var split = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │182 errdefer split.deinit(allocator); │ │183 │ │184 const search = data.search orelse ""; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │209 kind: ui.RoutablePage.RefKind, │ │210 data: *const Column, │ │211 ) !void { │ │212 - var column = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert });│ │212 + var column = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .vert }); │ │213 errdefer column.deinit(allocator); │ │214 │ │215 // a fixed, non-focusable header in the SubTitle font, nudged off the │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │216 // left edge by a one-column space. it declares its height (2 rows plus │ │217 // a blank one beneath) as a min so the (fill) scroll reserves room for it. │ │218 { │ │219 - var header_box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .horiz });│ │219 + var header_box = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │220 errdefer header_box.deinit(allocator); │ │221 { │ │222 var space = try wgt.Text.init(allocator, " "); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ───────────────╮ │src/ui/Repo/Settings.zig│ ╰────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │35 const hash_index: usize = 3; │ │36 │ │37 pub fn init(allocator: std.mem.Allocator, data: *const Self, session: *ui.Session) !View { │ │38 - var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert }); │ │38 + var box = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .vert }); │ │39 errdefer box.deinit(allocator); │ │40 const route = ui.RoutablePage.repoRepoRoute(data.identity) orelse return error.RouteTooLong; │ │41 box.getFocus().kind = .{ .custom = try session.page_arena.allocator().print("form:{s}", .{try route.toUrl(session.page_arena)}) };│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │43 const saved_fields = if (session.formFeedback(.repo_settings)) |saved| saved.fields else null; │ │44 │ │45 { │ │46 - var name = try wgt.TextInput.init(allocator, .{ .label = " name ", .name = "name", .visible_width = 30, .round_corners = true, .render_content = session.is_terminal }); │ │46 + var name = try wgt.TextInput.init(allocator, .{ .top_label = .{ .text = " name " }, .name = "name", .visible_width = 30, .round_corners = true, .render_content = session.is_terminal });│ │47 errdefer name.deinit(allocator); │ │48 name.getFocus().mode = .all; │ │49 try name.setContent(allocator, if (saved_fields) |saved| saved.name else data.name); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │54 } │ │55 │ │56 { │ │57 - var description = try wgt.TextInput.init(allocator, .{ .label = " description ", .name = "description", .visible_width = 30, .round_corners = true, .render_content = session.is_terminal }); │ │57 + var description = try wgt.TextInput.init(allocator, .{ .top_label = .{ .text = " description " }, .name = "description", .visible_width = 30, .round_corners = true, .render_content = session.is_terminal });│ │58 errdefer description.deinit(allocator); │ │59 description.getFocus().mode = .all; │ │60 try description.setContent(allocator, if (saved_fields) |saved| saved.description else data.description); │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │71 } │ │72 │ │73 { │ │74 - var hash_box = try wgt.TextBox.init(allocator, @tagName(data.hash_kind), .{ .border_style = .single, .round_corners = true, .wrap_kind = .none, .label = " hash " }); │ │74 + var hash_box = try wgt.TextBox.init(allocator, @tagName(data.hash_kind), .{ .border = .single, .round_corners = true, .wrap_kind = .none, .top_label = .{ .text = " hash " } });│ │75 errdefer hash_box.deinit(allocator); │ │76 try box.children.put(allocator, hash_box.getFocus().id, .{ .widget = .{ .text_box = hash_box }, .rect = null, .min_size = .{ .width = null, .height = 3 } }); │ │77 } │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯