╭ changed ─────────────╮ │src/ui/Repo/Events.zig│ ╰──────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │347 errdefer detail_box.deinit(allocator); │ │348 var detail_scroll = try wgt.Scroll(ui.Widget).init(allocator, .{ .box = detail_box }, .{ .direction = .vert, .web_native = !session.is_terminal, .fill = true }); │ │349 errdefer detail_scroll.deinit(allocator); │ │350 + detail_scroll.getFocus().mode = .mouse; │ │351 try content_box.children.put(allocator, detail_scroll.getFocus().id, .{ .widget = .{ .scroll = detail_scroll }, .rect = null, .min_size = .{ .width = detail_min_width, .height = null } });│ │352 │ │353 content_box.getFocus().child_id = content_box.children.keys()[list_index]; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │357 fn addRow(allocator: std.mem.Allocator, box: *wgt.Box(ui.Widget), text: []const u8, link: []const u8) !void { │ │358 var row = try wgt.TextBox.init(allocator, text, .{ .border_style = .hidden, .rounded_corners = true, .wrap_kind = .none });│ │359 errdefer row.deinit(allocator); │ │359 - row.getFocus().focusable = true; │ │360 + row.getFocus().mode = .all; │ │361 row.getFocus().kind = .{ .custom = link }; │ │362 try box.children.put(allocator, row.getFocus().id, .{ .widget = .{ .text_box = row }, .rect = null, .min_size = null }); │ │363 } │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │453 if (item.view_url) |url| { │ │454 var link = try wgt.TextBox.init(allocator, "view event", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │455 errdefer link.deinit(allocator); │ │455 - link.getFocus().focusable = true; │ │456 + link.getFocus().mode = .all; │ │457 link.getFocus().kind = .{ .custom = try std.fmt.allocPrint(self.session.page_arena.allocator(), "a:{s}", .{url}) }; │ │458 try box.children.put(allocator, link.getFocus().id, .{ .widget = .{ .text_box = link }, .rect = null, .min_size = null }); │ │459 } │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │460 { │ │461 var kind = try wgt.TextBox.init(allocator, @tagName(item.kind), .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .word, .label = " kind " });│ │462 errdefer kind.deinit(allocator); │ │462 - kind.getFocus().focusable = true; │ │463 + kind.getFocus().mode = .all; │ │464 try box.children.put(allocator, kind.getFocus().id, .{ .widget = .{ .text_box = kind }, .rect = null, .min_size = null }); │ │465 } │ │466 { │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │585 const label = try std.fmt.bufPrint(&label_buf, "{s} ({d})", .{ @tagName(view), count }); │ │586 var tab = try wgt.TextBox.init(allocator, label, .{ .border_style = .hidden, .rounded_corners = true, .wrap_kind = .none });│ │587 errdefer tab.deinit(allocator); │ │587 - tab.getFocus().focusable = true; │ │588 + tab.getFocus().mode = .all; │ │589 const selected = std.meta.activeTag(session.data.current_page) == .repo_events and data.view == view; │ │590 tab.getFocus().kind = .{ .custom = try ui.inPageTabLink(session, route, selected) }; │ │591 tab_ids[i] = tab.getFocus().id; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │597 box.getFocus().kind = .{ .custom = "form:/sync" }; │ │598 var button = try wgt.TextBox.init(allocator, "sync", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │599 errdefer button.deinit(allocator); │ │599 - button.getFocus().focusable = true; │ │600 + button.getFocus().mode = .all; │ │601 button.getFocus().kind = .{ .custom = "submit" }; │ │602 button_id = button.getFocus().id; │ │603 try box.children.put(allocator, button.getFocus().id, .{ .widget = .{ .text_box = button }, .rect = null, .min_size = null }); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯