╭ changed ──────╮ │src/ui/User.zig│ ╰───────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │115 const aa = arena.allocator(); │ │116 │ │117 const lines = try aa.alloc([]const u8, data.repos.len); │ │118 + const links = try aa.alloc([]const u8, data.repos.len); │ │119 for (data.repos, 0..) |repo, i| { │ │120 lines[i] = try std.fmt.allocPrint(aa, "{s} - {s}", .{ repo.name, repo.description }); │ │121 + // clicking a repo opens its page; the "a:" prefix makes the web │ │122 + // renderer emit an <a href="/repo/alice/foo"> anchor. │ │123 + links[i] = try std.fmt.allocPrint(aa, "a:/repo/{s}/{s}", .{ data.user.name, repo.name });│ │124 } │ │121 - try list.setItems(allocator, lines, null); │ │125 + try list.setItems(allocator, lines, links); │ │126 │ │127 try stack.children.put(allocator, list.getFocus().id, .{ .flow_box_scroll = list }); │ │128 } │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯