╭──────────╮ │← previous│ ╰──────────╯ ╭ added ─────────────╮ │src/ui/Repo/Diff.zig│ ╰────────────────────╯ ╭ changed ────────╮ │src/ui/widget.zig│ ╰─────────────────╯ ╭────────────────────────────────────────────────────────────╮ │45 repo_discussions_header: ui.Repo.Discussions.Header,│ │46 repo_files: ui.Repo.Files.View, │ │47 repo_commits: ui.Repo.Commits.View, │ │48 + diff_view: ui.Repo.Commits.Diff.View, │ │49 repo_refs: ui.Repo.Refs.View, │ │50 repo_issues: ui.Repo.Issues.View, │ │51 repo_patches: ui.Repo.Patches.View, │ ╰────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │105 // whether moving up should return to the page header │ │106 pub fn atTop(self: *Widget, root_focus: *Focus) bool { │ │107 return switch (self.*) { │ │107 - inline .home_users, .home_repos, .flow_box_scroll, .home_settings, .auth_login, .auth_logout, .quit, .repo_files, .repo_commits, .repo_refs, .repo_issues, .repo_patches, .repo_discussions, .repo_events => |*view| view.atTop(), │ │108 + inline .home_users, .home_repos, .flow_box_scroll, .home_settings, .auth_login, .auth_logout, .quit, .repo_files, .repo_commits, .diff_view, .repo_refs, .repo_issues, .repo_patches, .repo_discussions, .repo_events => |*view| view.atTop(),│ │109 inline .home_auth, .repo_patch_detail => |*view| view.atTop(root_focus), │ │110 else => false, │ │111 }; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ───────────────╮ │src/ui/widget/thread.zig│ ╰────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │534 if (entryHasFork(entry) and self.session.data.current_page.parent() != .fork) { │ │535 const route = forkRoute(self.data.identity, entry.id) orelse return error.RouteTooLong; │ │536 try addToolButton(allocator, row, "view fork", try std.fmt.allocPrint(pa, "a:{s}", .{try route.toUrl(self.session.page_arena)})); │ │537 + const diff_route = ui.RoutablePage.forkDiffRoute(self.data.identity, entry.id, 0, "") orelse return error.RouteTooLong; │ │538 + try addToolButton(allocator, row, "view diff", try std.fmt.allocPrint(pa, "a:{s}", .{try diff_route.toUrl(self.session.page_arena)}));│ │539 } │ │540 │ │541 { │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯