╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ──────────────╮ │src/ui/Repo/Comment.zig│ ╰───────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │152 var bar = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .horiz }); │ │153 errdefer bar.deinit(allocator); │ │154 │ │155 - var spacer = try ui.Spacer.init(allocator); │ │155 + var spacer = try ui.widget.Spacer.init(allocator); │ │156 errdefer spacer.deinit(allocator); │ │157 try bar.children.put(allocator, spacer.getFocus().id, .{ .widget = .{ .spacer = spacer }, .rect = null, .min_size = null });│ │158 │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────────────╮ │src/ui/Repo/Commits.zig│ ╰───────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │763 // jump a fixed amount. right/Enter cross into the diff pane. Enter/clicks │ │764 // on the "next" row become navigation in the host before reaching here. │ │765 if (inp.rowDelta(key, @intCast(self.listBox().children.count()))) |delta| { │ │766 - ui.moveRowFocus(self.listBox(), self.listScroll(), root_focus, delta); │ │766 + ui.widget.moveRowFocus(self.listBox(), self.listScroll(), root_focus, delta);│ │767 return; │ │768 } │ │769 switch (key) { │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1008 errdefer box.deinit(allocator); │ │1009 │ │1010 if (!session.data.is_local and (session.data.git_http_port != null or session.data.git_ssh_port != null)) {│ │1011 - var clone_url = try ui.CopyableText.View.initClone(allocator, session, identity); │ │1011 + var clone_url = try ui.widget.CopyableText.initClone(allocator, session, identity); │ │1012 errdefer clone_url.deinit(allocator); │ │1013 const min_width = clone_url.minWidth(); │ │1014 box.getFocus().child_id = clone_url.getFocus().id; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1015 try box.children.put(allocator, clone_url.getFocus().id, .{ .widget = .{ .copyable_text = clone_url }, .rect = null, .min_size = .{ .width = min_width, .height = 3 } });│ │1016 } │ │1017 │ │1018 - var spacer = try ui.Spacer.init(allocator); │ │1018 + var spacer = try ui.widget.Spacer.init(allocator); │ │1019 errdefer spacer.deinit(allocator); │ │1020 try box.children.put(allocator, spacer.getFocus().id, .{ .widget = .{ .spacer = spacer }, .rect = null, .min_size = null }); │ │1021 │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────╮ │1050 return self.cloneUrl() != null; │ │1051 } │ │1052 │ │1053 - fn cloneUrl(self: *Header.View) ?*ui.CopyableText.View { │ │1053 + fn cloneUrl(self: *Header.View) ?*ui.widget.CopyableText { │ │1054 for (self.box.children.values()) |*child| switch (child.widget) {│ │1055 .copyable_text => |*copyable_text| return copyable_text, │ │1056 else => {}, │ ╰───────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────────────────╮ │src/ui/Repo/Discussions.zig│ ╰───────────────────────────╯ ╭────────────────────────────────────────────────────╮ │ 7 const hash = xit.hash; │ │ 8 const Comment = @import("Comment.zig"); │ │ 9 const Attachment = @import("Attachment.zig"); │ │10 -const Threads = @import("Threads.zig"); │ │10 +const thread = ui.widget.thread; │ │11 │ │12 const wasm = builtin.target.cpu.arch == .wasm32;│ │13 │ ╰────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────╮ │262 .count = @intCast(try set.count()), │ │263 }; │ │264 } │ │265 -pub const View = Threads.View(.discuss, Self); │ │265 +pub const View = thread.View(.discuss, Self); │ │266 │ │267 -pub const Header = Threads.Header; │ │267 +pub const Header = thread.Header; │ │268 │ │269 // tabs switching between the discussions page's views │ │270 pub fn initHeader(allocator: std.mem.Allocator, session: *ui.Session, data: *const Self) !Header {│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─────────────╮ │src/ui/Repo/Events.zig│ ╰──────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │488 if (key == .arrow_left) { │ │489 root_focus.setFocus(self.listScroll().getFocus().id); │ │490 } else if (inp.rowDelta(key, @intCast(self.detailBox().children.count()))) |delta| { │ │491 - ui.moveRowFocus(self.detailBox(), self.detailScroll(), root_focus, delta); │ │491 + ui.widget.moveRowFocus(self.detailBox(), self.detailScroll(), root_focus, delta); │ │492 } │ │493 } else if (inp.rowDelta(key, @intCast(self.listBox().children.count()))) |delta| { │ │494 - ui.moveRowFocus(self.listBox(), self.listScroll(), root_focus, delta); │ │494 + ui.widget.moveRowFocus(self.listBox(), self.listScroll(), root_focus, delta); │ │495 } else switch (key) { │ │496 .arrow_right => if (self.detailBox().children.count() > 0) root_focus.setFocus(self.detailScroll().getFocus().id),│ │497 .enter => if (self.selectedEventIndex() != null) root_focus.setFocus(self.detailScroll().getFocus().id), │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ────────────╮ │src/ui/Repo/Files.zig│ ╰─────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │593 // directory (or "..") row are turned into navigation by the host │ │594 // (crossPageLink) before reaching here. │ │595 if (inp.rowDelta(key, @intCast(self.listBox().children.count()))) |delta| { │ │596 - ui.moveRowFocus(self.listBox(), self.listScroll(), root_focus, delta); │ │596 + ui.widget.moveRowFocus(self.listBox(), self.listScroll(), root_focus, delta);│ │597 return; │ │598 } │ │599 switch (key) { │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │856 errdefer box.deinit(allocator); │ │857 │ │858 if (!session.data.is_local and (session.data.git_http_port != null or session.data.git_ssh_port != null)) {│ │859 - var clone_url = try ui.CopyableText.View.initClone(allocator, session, identity); │ │859 + var clone_url = try ui.widget.CopyableText.initClone(allocator, session, identity); │ │860 errdefer clone_url.deinit(allocator); │ │861 const min_width = clone_url.minWidth(); │ │862 box.getFocus().child_id = clone_url.getFocus().id; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯