╭ changed ───────────────╮ │src/ui/widget/thread.zig│ ╰────────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │434 const search_index: usize = 0; │ │435 │ │436 pub fn init(allocator: std.mem.Allocator, session: *ui.Session, search: ?[]const u8) !Header { │ │437 - var box = try wgt.Box(Widget).init(allocator, .{ .border_style = null, .direction = .horiz });│ │437 + var box = try wgt.Box(Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │438 errdefer box.deinit(allocator); │ │439 │ │440 { │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │448 } │ │449 │ │450 pub fn addTab(self: *Header, allocator: std.mem.Allocator, label: []const u8, link: []const u8, view_index: usize) !void { │ │451 - var text_box = try wgt.TextBox.init(allocator, label, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none });│ │451 + var text_box = try wgt.TextBox.init(allocator, label, .{ .border = .single, .round_corners = true, .wrap_kind = .none }); │ │452 errdefer text_box.deinit(allocator); │ │453 text_box.getFocus().mode = .all; │ │454 text_box.getFocus().kind = .{ .custom = link }; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │586 const tool_row_index: usize = 0; │ │587 │ │588 pub fn init(allocator: std.mem.Allocator, data: *const Data, session: *ui.Session, entry: ?Entry, options: Options) !This { │ │589 - var content = try wgt.Box(Widget).init(allocator, .{ .border_style = null, .direction = .vert }); │ │589 + var content = try wgt.Box(Widget).init(allocator, .{ .border = null, .direction = .vert }); │ │590 errdefer content.deinit(allocator); │ │591 var detail_scroll = try wgt.Scroll(Widget).init(allocator, .{ .box = content }, .{ .direction = .vert, .web_native = !session.is_terminal, .fill = true });│ │592 errdefer detail_scroll.deinit(allocator); │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │704 } │ │705 │ │706 fn addToolButton(allocator: std.mem.Allocator, row: *wgt.Box(Widget), label: []const u8, bottom_label: []const u8, action: []const u8) !void { │ │707 - var button = try wgt.TextBox.init(allocator, label, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none, .bottom_label = bottom_label }); │ │707 + var button = try wgt.TextBox.init(allocator, label, .{ .border = .single, .round_corners = true, .wrap_kind = .none, .bottom_label = .{ .text = bottom_label } });│ │708 errdefer button.deinit(allocator); │ │709 button.getFocus().mode = .all; │ │710 button.getFocus().kind = .{ .custom = action }; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │724 self.author_id = null; │ │725 │ │726 { │ │727 - var row = try wgt.Box(Widget).init(allocator, .{ .border_style = null, .direction = .horiz }); │ │727 + var row = try wgt.Box(Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │728 errdefer row.deinit(allocator); │ │729 try inner_box.children.put(allocator, row.getFocus().id, .{ .widget = .{ .box = row }, .rect = null, .min_size = null });│ │730 } │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │824 if (description_page) { │ │825 var back_label_buf: ["← back to ".len + thread_name.len]u8 = undefined; │ │826 const back_label = try std.fmt.bufPrint(&back_label_buf, "← back to {s}", .{thread_name}); │ │827 - var text_box = try wgt.TextBox.init(allocator, back_label, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none }); │ │827 + var text_box = try wgt.TextBox.init(allocator, back_label, .{ .border = .single, .round_corners = true, .wrap_kind = .none }); │ │828 errdefer text_box.deinit(allocator); │ │829 text_box.getFocus().mode = .all; │ │830 text_box.getFocus().kind = .{ .custom = try listLink(self.session.page_arena, self.data.identity, entryStatus(entry), "", entry.id, self.data.search orelse "") };│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │831 try inner_box.children.put(allocator, text_box.getFocus().id, .{ .widget = .{ .text_box = text_box }, .rect = null, .min_size = null }); │ │832 self.title_id = text_box.getFocus().id; │ │833 } else { │ │834 - var title = try wgt.TextBox.init(allocator, entry.record.event.title, .{ .border_style = .single, .round_corners = true, .wrap_kind = .word, .label = " title " }); │ │834 + var title = try wgt.TextBox.init(allocator, entry.record.event.title, .{ .border = .single, .round_corners = true, .wrap_kind = .word, .top_label = .{ .text = " title " } });│ │835 errdefer title.deinit(allocator); │ │836 title.getFocus().mode = .all; │ │837 try inner_box.children.put(allocator, title.getFocus().id, .{ .widget = .{ .text_box = title }, .rect = null, .min_size = null }); │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1553 } │ │1554 │ │1555 pub fn init(allocator: std.mem.Allocator, data: *const Self, session: *ui.Session) !This { │ │1556 - var outer = try wgt.Box(Widget).init(allocator, .{ .border_style = null, .direction = .vert });│ │1556 + var outer = try wgt.Box(Widget).init(allocator, .{ .border = null, .direction = .vert }); │ │1557 errdefer outer.deinit(allocator); │ │1558 │ │1559 // the tabs at the top. │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1738 // the master-detail split showing `status`'s window, or the conflicts │ │1739 // window when null. │ │1740 fn initSplit(allocator: std.mem.Allocator, session: *ui.Session, data: *const Self, status_maybe: ?Status, drafts: bool) !wgt.Box(Widget) { │ │1741 - var box = try wgt.Box(Widget).init(allocator, .{ .border_style = null, .direction = .horiz }); │ │1741 + var box = try wgt.Box(Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │1742 errdefer box.deinit(allocator); │ │1743 │ │1744 const win = if (status_maybe) |status| data.window(status) else if (drafts and supports_drafts) &data.drafts else if (supports_conflicts) &data.conflicts else unreachable;│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1747 // reloads the page rooted at the following thread. │ │1748 { │ │1749 var list_scroll = blk: { │ │1750 - var list_box = try wgt.Box(Widget).init(allocator, .{ .border_style = null, .direction = .vert, .stretch = true }); │ │1750 + var list_box = try wgt.Box(Widget).init(allocator, .{ .border = null, .direction = .vert, .stretch = true }); │ │1751 errdefer list_box.deinit(allocator); │ │1752 if (win.prev_id) |prev| │ │1753 try addRow(allocator, &list_box, "← previous", "", try windowLink(session.page_arena, data, status_maybe, drafts, prev));│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯