╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │236 .home_users => |after| if (after == 0) @as([]const u8, "/users") else try std.fmt.allocPrint(arena.allocator(), "/users?after={d}", .{after}),│ │237 .home_repos => |after| if (after == 0) @as([]const u8, "/repos") else try std.fmt.allocPrint(arena.allocator(), "/repos?after={d}", .{after}),│ │238 .user_repos => |u| if (u.after == 0) │ │239 - try std.fmt.allocPrint(arena.allocator(), user_segment ++ "{s}", .{u.name.slice()}) │ │239 + try std.fmt.allocPrint(arena.allocator(), user_segment ++ "{s}/repos", .{u.name.slice()}) │ │240 else │ │241 - try std.fmt.allocPrint(arena.allocator(), user_segment ++ "{s}?after={d}", .{ u.name.slice(), u.after }), │ │241 + try std.fmt.allocPrint(arena.allocator(), user_segment ++ "{s}/repos?after={d}", .{ u.name.slice(), u.after }), │ │242 .user_settings => |name| try std.fmt.allocPrint(arena.allocator(), user_segment ++ "{s}/settings", .{name.slice()}), │ │243 .user_auth => |name| try std.fmt.allocPrint(arena.allocator(), user_segment ++ "{s}/auth", .{name.slice()}), │ │244 .repo_files => |f| if (f.after == 0) │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────╮ │275 if (std.mem.eql(u8, path, "/repos")) return .{ .home_repos = after };│ │276 if (std.mem.eql(u8, path, "/settings")) return .home_settings; │ │277 if (std.mem.eql(u8, path, "/auth")) return .home_auth; │ │278 - // /user/<name>[/settings|/auth] │ │278 + // /user/<name>[/repos|/settings|/auth] │ │279 if (std.mem.startsWith(u8, path, user_segment)) { │ │280 const rest = path[user_segment.len..]; │ │281 const slash = std.mem.indexOfScalar(u8, rest, '/'); │ ╰──────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │284 const parsed = Array(evt.User.name_max_len).from(name) orelse return null; // name too long │ │285 if (slash) |s| { │ │286 const sub = rest[s + 1 ..]; │ │287 + if (std.mem.eql(u8, sub, "repos")) return .{ .user_repos = .{ .name = parsed, .after = after } };│ │288 if (std.mem.eql(u8, sub, "settings")) return .{ .user_settings = parsed }; │ │289 if (std.mem.eql(u8, sub, "auth")) return .{ .user_auth = parsed }; │ │290 return null; // unknown sub-path │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯