╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────╮ │← previous│ ╰──────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1690 const word = params.scanTail(&segments) catch return null; │ │1740 - const label_value = params.values.get(.label) orelse ""; │ │1741 - const view = word orelse return if (params.only(&.{})) repoPatchesRoute(pair, .open, "", "") else null;│ │1691 + const view = word orelse return if (params.only(&.{})) repoPatchesRoute(pair, .open, "") else null; │ │1692 if (std.mem.eql(u8, view, "conflicts")) { │ │1693 if (!params.only(&.{.start})) return null; │ │1694 return repoPatchesConflictsRoute(pair, params.values.get(.start) orelse ""); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1695 } │ │1746 - if (!params.only(&.{ .label, .search })) return null; │ │1696 + if (!params.only(&.{.search})) return null; │ │1697 const search_value = params.values.get(.search) orelse ""; │ │1748 - if (std.meta.stringToEnum(evt.Patch.StatusKind, view)) |status| return withEncodedSearch(repoPatchesRoute(pair, status, label_value, ""), search_value);│ │1749 - if (std.mem.eql(u8, view, "labels")) return withEncodedSearch(repoThreadLabelsRoute(.patch, pair, label_value), search_value); │ │1750 - if (std.mem.eql(u8, view, "new")) return if (label_value.len == 0 and search_value.len == 0) repoThreadNewRoute(.patch, pair) else null; │ │1751 - if (std.mem.eql(u8, view, "drafts")) return if (label_value.len == 0 and search_value.len == 0) repoPatchesDraftsRoute(pair) else null; │ │1698 + if (std.meta.stringToEnum(evt.Patch.StatusKind, view)) |status| return withEncodedSearch(repoPatchesRoute(pair, status, ""), search_value); │ │1699 + if (std.mem.eql(u8, view, "labels")) return withEncodedSearch(repoThreadLabelsRoute(.patch, pair), search_value); │ │1700 + if (std.mem.eql(u8, view, "new")) return if (search_value.len == 0) repoThreadNewRoute(.patch, pair) else null; │ │1701 + if (std.mem.eql(u8, view, "drafts")) return if (search_value.len == 0) repoPatchesDraftsRoute(pair) else null; │ │1702 return null; │ │1703 } │ │1704 if (std.mem.eql(u8, tab, "discussions")) { │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1705 const word = params.scanTail(&segments) catch return null; │ │1756 - const label_value = params.values.get(.label) orelse ""; │ │1757 - const view = word orelse return if (params.only(&.{})) repoDiscussionsRoute(pair, "", "") else null; │ │1758 - if (!params.only(&.{ .label, .search })) return null; │ │1706 + const view = word orelse return if (params.only(&.{})) repoDiscussionsRoute(pair, "") else null; │ │1707 + if (!params.only(&.{.search})) return null; │ │1708 const search_value = params.values.get(.search) orelse ""; │ │1760 - if (std.mem.eql(u8, view, "recent")) return withEncodedSearch(repoDiscussionsRoute(pair, label_value, ""), search_value); │ │1761 - if (std.mem.eql(u8, view, "labels")) return withEncodedSearch(repoThreadLabelsRoute(.discuss, pair, label_value), search_value); │ │1762 - if (std.mem.eql(u8, view, "new")) return if (label_value.len == 0 and search_value.len == 0) repoThreadNewRoute(.discuss, pair) else null;│ │1709 + if (std.mem.eql(u8, view, "recent")) return withEncodedSearch(repoDiscussionsRoute(pair, ""), search_value); │ │1710 + if (std.mem.eql(u8, view, "labels")) return withEncodedSearch(repoThreadLabelsRoute(.discuss, pair), search_value); │ │1711 + if (std.mem.eql(u8, view, "new")) return if (search_value.len == 0) repoThreadNewRoute(.discuss, pair) else null; │ │1712 return null; │ │1713 } │ │1714 if (std.mem.eql(u8, tab, "undo")) { │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1835 a_d.start == b.repo_diff.start and std.mem.eql(u8, a_d.path.slice(), b.repo_diff.path.slice()), │ │1836 .repo_refs => |a_r| std.mem.eql(u8, a_r.name.slice(), b.repo_refs.name.slice()) and a_r.kind == b.repo_refs.kind and std.mem.eql(u8, a_r.from.slice(), b.repo_refs.from.slice()) and std.mem.eql(u8, a_r.search.slice(), b.repo_refs.search.slice()),│ │1837 .repo_issues => |a_i| std.mem.eql(u8, a_i.name.slice(), b.repo_issues.name.slice()) and │ │1889 - std.mem.eql(u8, a_i.label.slice(), b.repo_issues.label.slice()) and │ │1890 - std.mem.eql(u8, a_i.assignee.slice(), b.repo_issues.assignee.slice()) and │ │1838 std.mem.eql(u8, a_i.search.slice(), b.repo_issues.search.slice()) and │ │1839 std.mem.eql(u8, a_i.selected.slice(), b.repo_issues.selected.slice()) and │ │1840 std.mem.eql(u8, a_i.theirs.slice(), b.repo_issues.theirs.slice()) and │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1842 a_i.comments_start == b.repo_issues.comments_start and │ │1843 std.mem.eql(u8, a_i.comment.slice(), b.repo_issues.comment.slice()), │ │1844 .repo_discussions => |a_t| std.mem.eql(u8, a_t.name.slice(), b.repo_discussions.name.slice()) and│ │1898 - std.mem.eql(u8, a_t.label.slice(), b.repo_discussions.label.slice()) and │ │1845 std.mem.eql(u8, a_t.search.slice(), b.repo_discussions.search.slice()) and │ │1846 std.mem.eql(u8, a_t.selected.slice(), b.repo_discussions.selected.slice()) and │ │1847 a_t.view == b.repo_discussions.view and │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1848 a_t.comments_start == b.repo_discussions.comments_start and │ │1849 std.mem.eql(u8, a_t.comment.slice(), b.repo_discussions.comment.slice()), │ │1850 .repo_patches => |a_p| std.mem.eql(u8, a_p.name.slice(), b.repo_patches.name.slice()) and│ │1905 - std.mem.eql(u8, a_p.label.slice(), b.repo_patches.label.slice()) and │ │1851 std.mem.eql(u8, a_p.search.slice(), b.repo_patches.search.slice()) and │ │1852 std.mem.eql(u8, a_p.selected.slice(), b.repo_patches.selected.slice()) and │ │1853 std.mem.eql(u8, a_p.theirs.slice(), b.repo_patches.theirs.slice()) and │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯