╭ changed ───────────╮ │src/ui/Repo/Undo.zig│ ╰────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │391 } │ │392 │ │393 pub fn input(self: *View, allocator: std.mem.Allocator, key: Key, root_focus: *Focus) !void { │ │394 - // the sub header sits above whichever content the route selects │ │394 + // the sub header sits above whichever content the route selects. │ │395 + // scrolling crosses the boundary the same way the arrow keys do │ │396 + const direction = inp.vertDirection(key); │ │397 if (self.headerActive()) { │ │396 - if (key == .arrow_down) root_focus.setFocus(self.box.children.values()[content_index].widget.getFocus().id);│ │398 + if (direction == .down) root_focus.setFocus(self.box.children.values()[content_index].widget.getFocus().id);│ │399 return; │ │400 } │ │401 if (self.data.clear) { │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │400 - if (key == .arrow_up) root_focus.setFocus(self.headerBox().getFocus().id) else try self.clearInput(key, root_focus);│ │402 + if (direction == .up) root_focus.setFocus(self.headerBox().getFocus().id) else try self.clearInput(key, root_focus);│ │403 return; │ │404 } │ │403 - if (key == .arrow_up and self.contentAtTop()) { │ │405 + if (direction == .up and self.contentAtTop()) { │ │406 root_focus.setFocus(self.headerBox().getFocus().id); │ │407 return; │ │408 } │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯