╭ changed ───────────────╮ │src/ui/Repo/Settings.zig│ ╰────────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │74 errdefer box.deinit(allocator); │ │75 │ │76 { │ │77 - var header = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .horiz });│ │78 - errdefer header.deinit(allocator); │ │77 + var header_scroll = try ui.widget.HeaderScroll.init(allocator, session); │ │78 + errdefer header_scroll.deinit(allocator); │ │79 + const header = header_scroll.row(); │ │80 const on_tab = switch (session.data.current_page) { │ │81 .repo_settings, .repo_members, .repo_branches => true, │ │82 else => false, │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │91 } │ │92 header.getFocus().child_id = header.children.keys()[@backingInt(data.view)]; │ │93 // a row taller than the header, leaving a blank line beneath it │ │93 - try box.children.put(allocator, header.getFocus().id, .{ .widget = .{ .box = header }, .rect = null, .min_size = .{ .width = null, .height = 4 } }); │ │94 + try box.children.put(allocator, header_scroll.getFocus().id, .{ .widget = .{ .header_scroll = header_scroll }, .rect = null, .min_size = .{ .width = null, .height = 4 } });│ │95 } │ │96 │ │97 { │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────╮ │124 } │ │125 │ │126 fn headerBox(self: *View) *wgt.Box(ui.Widget) { │ │126 - return &self.box.children.values()[header_index].widget.box; │ │127 + return self.box.children.values()[header_index].widget.header_scroll.row();│ │128 } │ │129 │ │130 fn contentStack(self: *View) *wgt.Stack(ui.Widget) { │ ╰────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │132 } │ │133 │ │134 fn headerActive(self: *View) bool { │ │134 - return self.box.getFocus().child_id == self.headerBox().getFocus().id; │ │135 + return self.box.getFocus().child_id == self.box.children.keys()[header_index]; │ │136 } │ │137 │ │138 pub fn build(self: *View, allocator: std.mem.Allocator, constraint: layout.Constraint, root_focus: *Focus) !void {│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯