╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ──────────────╮ │src/ui/Repo/Comment.zig│ ╰───────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │304 pub fn appendCount(allocator: std.mem.Allocator, box: *wgt.Box(ui.Widget), count: usize, singular: []const u8, plural: []const u8) !void {│ │305 var text_buf: [64]u8 = undefined; │ │306 const text = try std.fmt.bufPrint(&text_buf, "{d} {s}", .{ count, if (count == 1) singular else plural }); │ │307 - var count_box = try wgt.TextBox.init(allocator, text, .{ .border_style = .hidden, .wrap_kind = .none }); │ │307 + var count_box = try wgt.TextBox.init(allocator, text, .{ .border = .hidden, .wrap_kind = .none }); │ │308 errdefer count_box.deinit(allocator); │ │309 try box.children.put(allocator, count_box.getFocus().id, .{ .widget = .{ .text_box = count_box }, .rect = null, .min_size = null }); │ │310 } │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │313 const has_prev = window.start > 0; │ │314 const has_more = window.start < window.count and window.count - window.start > page_size; │ │315 if (!has_prev and !has_more) return; │ │316 - var row = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .horiz });│ │316 + var row = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │317 errdefer row.deinit(allocator); │ │318 if (has_prev) { │ │319 const start = window.start -| page_size; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │353 } │ │354 │ │355 pub fn linkBox(allocator: std.mem.Allocator, session: *ui.Session, text: []const u8, route: ui.RoutablePage) !wgt.TextBox { │ │356 - var box = try wgt.TextBox.init(allocator, text, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none }); │ │356 + var box = try wgt.TextBox.init(allocator, text, .{ .border = .single, .round_corners = true, .wrap_kind = .none }); │ │357 errdefer box.deinit(allocator); │ │358 box.getFocus().mode = .all; │ │359 box.getFocus().kind = .{ .custom = try session.page_arena.allocator().print("a:{s}", .{try route.toUrl(session.page_arena)}) };│ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────────────╮ │src/ui/Repo/Commits.zig│ ╰───────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │351 // marks a message the page only shows part of ("" when it's whole). │ │352 fn messageBox(allocator: std.mem.Allocator, message: []const u8, bottom_label: []const u8) !wgt.TextBox {│ │353 var tb = try wgt.TextBox.init(allocator, message, .{ │ │354 - .border_style = .single, │ │354 + .border = .single, │ │355 .round_corners = true, │ │356 .wrap_kind = .word, │ │357 - .label = " message ", │ │358 - .bottom_label = bottom_label, │ │357 + .top_label = .{ .text = " message " }, │ │358 + .bottom_label = .{ .text = bottom_label }, │ │359 .detect_links = true, │ │360 }); │ │361 tb.getFocus().mode = .all; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │387 const detail_min_width: usize = 40; │ │388 │ │389 pub fn init(allocator: std.mem.Allocator, data: *const Self, session: *ui.Session) !View { │ │390 - var outer = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert });│ │390 + var outer = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .vert }); │ │391 errdefer outer.deinit(allocator); │ │392 │ │393 if (data.no_commits) { │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │406 try outer.children.put(allocator, header_view.getFocus().id, .{ .widget = .{ .search_header = header_view }, .rect = null, .min_size = .{ .width = null, .height = 4 } });│ │407 } │ │408 │ │409 - var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .horiz }); │ │409 + var box = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │410 errdefer box.deinit(allocator); │ │411 │ │412 // the commit list (one focusable row each), plus a "next" link │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │413 { │ │414 var list_scroll = blk: { │ │415 - var list_box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert, .stretch = true });│ │415 + var list_box = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .vert, .stretch = true }); │ │416 errdefer list_box.deinit(allocator); │ │417 for (data.commits, 0..) |commit, index| { │ │418 // an in-page "ai:" anchor so a commit row is clickable with │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │434 { │ │435 var detail_outer = blk: { │ │436 var detail_scroll = blk2: { │ │437 - var rows = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert }); │ │437 + var rows = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .vert }); │ │438 errdefer rows.deinit(allocator); │ │439 break :blk2 try wgt.Scroll(ui.Widget).init(allocator, .{ .box = rows }, .{ .direction = .vert, .web_native = !session.is_terminal, .fill = true });│ │440 }; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │441 errdefer detail_scroll.deinit(allocator); │ │442 - var frame = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = .hidden, .direction = .vert });│ │442 + var frame = try wgt.Box(ui.Widget).init(allocator, .{ .border = .hidden, .direction = .vert }); │ │443 errdefer frame.deinit(allocator); │ │444 // the frame's selected child is its scroll, so the focus chain │ │445 // reaches a row (populateDetail points the scroll's inner box at │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │470 } │ │471 │ │472 fn addRow(allocator: std.mem.Allocator, box: *wgt.Box(ui.Widget), label: []const u8, link: []const u8, bottom_label: []const u8) !void { │ │473 - var row = try wgt.TextBox.init(allocator, label, .{ .border_style = .hidden, .round_corners = true, .wrap_kind = .word, .bottom_label = bottom_label }); │ │473 + var row = try wgt.TextBox.init(allocator, label, .{ .border = .hidden, .round_corners = true, .wrap_kind = .word, .bottom_label = .{ .text = bottom_label } });│ │474 errdefer row.deinit(allocator); │ │475 row.getFocus().mode = .all; │ │476 if (link.len != 0) row.getFocus().kind = .{ .custom = link }; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯