╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────╮ │← previous│ ╰──────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1719 pub fn eql(a: RoutablePage, b: RoutablePage) bool { │ │1720 if (std.meta.activeTag(a) != std.meta.activeTag(b)) return false; │ │1721 return switch (a) { │ │1684 - .home_users => |a_start| a_start == b.home_users, │ │1685 - .user_repos => |a_u| std.mem.eql(u8, a_u.name.slice(), b.user_repos.name.slice()) and a_u.start == b.user_repos.start, │ │1722 + .home_users => |a_u| a_u.start == b.home_users.start and std.mem.eql(u8, a_u.search.slice(), b.home_users.search.slice()), │ │1723 + .user_repos => |a_u| std.mem.eql(u8, a_u.name.slice(), b.user_repos.name.slice()) and a_u.start == b.user_repos.start and std.mem.eql(u8, a_u.search.slice(), b.user_repos.search.slice()),│ │1724 .user_forks => |a_u| std.mem.eql(u8, a_u.name.slice(), b.user_forks.name.slice()) and a_u.start == b.user_forks.start, │ │1725 .user_settings => |a_name| std.mem.eql(u8, a_name.slice(), b.user_settings.slice()), │ │1726 .user_auth => |a_name| std.mem.eql(u8, a_name.slice(), b.user_auth.slice()), │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────╮ │1826 } │ │1827 │ │1828 // true when `a` and `b` are the same user paginated to a different repos │ │1791 - // window. switching between a user's tabs is in-page, so │ │1792 - // only a changed `start` on the repos list navigates. │ │1829 + // window or search. switching between a user's tabs is in-page, so only a│ │1830 + // changed `start` or search on the same list navigates. │ │1831 pub fn userPageChanged(a: RoutablePage, b: RoutablePage) bool { │ │1832 return switch (a) { │ │1833 .user_repos => |aa| switch (b) { │ ╰────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1796 - .user_repos => |bb| std.mem.eql(u8, aa.name.slice(), bb.name.slice()) and aa.start != bb.start,│ │1834 + .user_repos => |bb| std.mem.eql(u8, aa.name.slice(), bb.name.slice()) and !a.eql(b), │ │1835 else => false, │ │1836 }, │ │1837 .user_forks => |aa| switch (b) { │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────╮ │1843 } │ │1844 │ │1845 // true when `a` and `b` are the same home list tab paginated to a different│ │1808 - // window. switching tabs is in-page, so only a changed `start` on the same │ │1809 - // tab navigates. │ │1846 + // window or search. switching tabs is in-page, so only a changed `start` or│ │1847 + // search on the same tab navigates. │ │1848 pub fn homePageChanged(a: RoutablePage, b: RoutablePage) bool { │ │1849 return switch (a) { │ │1812 - .home_users => |aa| switch (b) { │ │1813 - .home_users => |bb| aa != bb, │ │1850 + .home_users => switch (b) { │ │1851 + .home_users => !a.eql(b), │ │1852 else => false, │ │1853 }, │ │1854 else => false, │ ╰──────────────────────────────────────────────────────────────────────────────────────╯