╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ─────────────╮ │src/ui/Fork/Header.zig│ ╰──────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │102 const selected = current_tag == tag; │ │103 var tab = try wgt.TextBox.init(allocator, label, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │104 errdefer tab.deinit(allocator); │ │105 - tab.getFocus().focusable = true; │ │105 + tab.getFocus().mode = .all; │ │106 tab.getFocus().kind = .{ .custom = try ui.inPageTabLink(session, route, selected) }; │ │107 try tab_ids.put(allocator, tab.getFocus().id, {}); │ │108 if (selected) selected_tab = tab.getFocus().id; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │129 if (session.data.user_id != null) { │ │130 var settings = try wgt.TextBox.init(allocator, "settings", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │131 errdefer settings.deinit(allocator); │ │132 - settings.getFocus().focusable = true; │ │132 + settings.getFocus().mode = .all; │ │133 settings.getFocus().kind = .{ .custom = settings_link }; │ │134 try tab_ids.put(allocator, settings.getFocus().id, {}); │ │135 if (current_tag == .fork_settings) selected_tab = settings.getFocus().id; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │149 if (session.is_terminal) { │ │150 var quit = try wgt.TextBox.init(allocator, ui.Quit.tab_label, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none }); │ │151 errdefer quit.deinit(allocator); │ │152 - quit.getFocus().focusable = true; │ │152 + quit.getFocus().mode = .all; │ │153 quit.getFocus().kind = .{ .custom = ui.Quit.tab_kind }; │ │154 try tab_ids.put(allocator, quit.getFocus().id, {}); │ │155 try tabs_box.children.put(allocator, quit.getFocus().id, .{ .widget = .{ .text_box = quit }, .rect = null, .min_size = .{ .width = 3, .height = null } });│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─────────────╮ │src/ui/Home/Header.zig│ ╰──────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │88 { │ │89 var text_box = try wgt.TextBox.init(allocator, "repos", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │90 errdefer text_box.deinit(allocator); │ │91 - text_box.getFocus().focusable = true; │ │91 + text_box.getFocus().mode = .all; │ │92 text_box.getFocus().kind = .{ .custom = repos_link }; │ │93 try tab_ids.put(allocator, text_box.getFocus().id, {}); │ │94 if (std.mem.eql(u8, repos_link, current_link)) selected_tab = text_box.getFocus().id; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │103 { │ │104 var text_box = try wgt.TextBox.init(allocator, "users", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │105 errdefer text_box.deinit(allocator); │ │106 - text_box.getFocus().focusable = true; │ │106 + text_box.getFocus().mode = .all; │ │107 text_box.getFocus().kind = .{ .custom = users_link }; │ │108 try tab_ids.put(allocator, text_box.getFocus().id, {}); │ │109 if (std.mem.eql(u8, users_link, current_link)) selected_tab = text_box.getFocus().id; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │130 if (session.data.user_id != null) { │ │131 var text_box = try wgt.TextBox.init(allocator, "settings", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │132 errdefer text_box.deinit(allocator); │ │133 - text_box.getFocus().focusable = true; │ │133 + text_box.getFocus().mode = .all; │ │134 text_box.getFocus().kind = .{ .custom = settings_link }; │ │135 try tab_ids.put(allocator, text_box.getFocus().id, {}); │ │136 if (std.mem.eql(u8, settings_link, current_link)) selected_tab = text_box.getFocus().id; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │159 if (session.is_terminal) { │ │160 var text_box = try wgt.TextBox.init(allocator, ui.Quit.tab_label, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │161 errdefer text_box.deinit(allocator); │ │162 - text_box.getFocus().focusable = true; │ │162 + text_box.getFocus().mode = .all; │ │163 text_box.getFocus().kind = .{ .custom = ui.Quit.tab_kind }; │ │164 try tab_ids.put(allocator, text_box.getFocus().id, {}); │ │165 try box.children.put(allocator, text_box.getFocus().id, .{ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────╮ │src/ui/Quit.zig│ ╰───────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │44 { │ │45 var button = try wgt.TextBox.init(allocator, "quit", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │46 errdefer button.deinit(allocator); │ │47 - button.getFocus().focusable = true; │ │47 + button.getFocus().mode = .all; │ │48 button_id = button.getFocus().id; │ │49 try box.children.put(allocator, button.getFocus().id, .{ │ │50 .widget = .{ .text_box = button }, │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─────────────────╮ │src/ui/Repo/Attachment.zig│ ╰──────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │61 .label = " attachment ", │ │62 }); │ │63 errdefer tb.deinit(allocator); │ │64 - tb.getFocus().focusable = true; │ │64 + tb.getFocus().mode = .all; │ │65 tb.getFocus().kind = .{ .custom = try std.fmt.allocPrint(pa, "{s}{s}", .{ ui.raw_link_prefix, try url(session.page_arena, identity, &entry.id) }) };│ │66 try row.children.put(allocator, tb.getFocus().id, .{ .widget = .{ .text_box = tb }, .rect = null, .min_size = null }); │ │67 │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │69 row.getFocus().kind = .{ .custom = try std.fmt.allocPrint(pa, "form:{s}/attachment:{s}/remove", .{ parent_url, &entry.id }) }; │ │70 var remove = try wgt.TextBox.init(allocator, "✕", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none }); │ │71 errdefer remove.deinit(allocator); │ │72 - remove.getFocus().focusable = true; │ │72 + remove.getFocus().mode = .all; │ │73 remove.getFocus().kind = .{ .custom = "submit" }; │ │74 try row.children.put(allocator, remove.getFocus().id, .{ .widget = .{ .text_box = remove }, .rect = null, .min_size = .{ .width = 3, .height = null } });│ │75 } │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯