╭ changed ─────────────╮ │src/ui/Repo/Events.zig│ ╰──────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │229 const record = (try readRecord(evt.Issue, hash_kind, arena, haxy_moment, id)) orelse return null; │ │230 item.author = try ui.Author.initFromEmail(admin_moment, arena, record.author_email); │ │231 if (!include_view_url) return item; │ │232 - const route = ui.RoutablePage.repoIssueCommentsRoute(identity, item.id, 0) orelse return error.RouteTooLong; │ │232 + const route = ui.RoutablePage.repoThreadCommentsRoute(.issue, identity, item.id, 0) orelse return error.RouteTooLong;│ │233 item.view_url = try route.toUrl(arena); │ │234 }, │ │235 .discussion => { │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │236 const record = (try readRecord(evt.Discussion, hash_kind, arena, haxy_moment, id)) orelse return null; │ │237 item.author = try ui.Author.initFromEmail(admin_moment, arena, record.author_email); │ │238 if (!include_view_url) return item; │ │239 - const route = ui.RoutablePage.repoDiscussionCommentsRoute(identity, item.id, 0) orelse return error.RouteTooLong; │ │239 + const route = ui.RoutablePage.repoThreadCommentsRoute(.discussion, identity, item.id, 0) orelse return error.RouteTooLong;│ │240 item.view_url = try route.toUrl(arena); │ │241 }, │ │242 .comment => { │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │246 var thread_id: [evt.event_id_size]u8 = undefined; │ │247 _ = std.fmt.hexToBytes(&thread_id, &record.event.thread_id) catch return error.InvalidEventId; │ │248 const thread_kind = (try evt.readEventKind(hash_kind, kind_map, &thread_id)) orelse return item; │ │249 - const route = switch (thread_kind) { │ │250 - .issue => ui.RoutablePage.repoCommentsRoute(identity, &record.event.thread_id, item.id, 0), │ │251 - .discussion => ui.RoutablePage.repoDiscussionCommentRoute(identity, &record.event.thread_id, item.id, 0), │ │252 - else => null, │ │253 - } orelse return item; │ │249 + const route = ui.RoutablePage.repoThreadCommentRoute(thread_kind, identity, &record.event.thread_id, item.id, 0) orelse return item;│ │250 item.view_url = try route.toUrl(arena); │ │251 }, │ │252 .attach => { │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │256 var parent_id: [evt.event_id_size]u8 = undefined; │ │257 _ = std.fmt.hexToBytes(&parent_id, &record.event.parent_id) catch return error.InvalidEventId; │ │258 const parent_kind = (try evt.readEventKind(hash_kind, kind_map, &parent_id)) orelse return item; │ │263 - const route = switch (parent_kind) { │ │264 - .issue => ui.RoutablePage.repoIssueCommentsRoute(identity, &record.event.parent_id, 0), │ │265 - .discussion => ui.RoutablePage.repoDiscussionCommentsRoute(identity, &record.event.parent_id, 0), │ │266 - else => null, │ │267 - } orelse return item; │ │259 + const route = ui.RoutablePage.repoThreadCommentsRoute(parent_kind, identity, &record.event.parent_id, 0) orelse return item;│ │260 item.view_url = try route.toUrl(arena); │ │261 }, │ │262 } │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯