╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ─────────────╮ │src/ui/Repo/Header.zig│ ╰──────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │232 │ │233 // discussions tab │ │234 { │ │235 - var text_box = try wgt.TextBox(ui.Widget).init(allocator, "discussions", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │235 + var text_box = try wgt.TextBox.init(allocator, "discussions", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none }); │ │236 errdefer text_box.deinit(allocator); │ │237 text_box.getFocus().focusable = true; │ │238 text_box.getFocus().kind = .{ .custom = discussions_link }; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │247 │ │248 // events │ │249 { │ │250 - var text_box = try wgt.TextBox(ui.Widget).init(allocator, "events", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │250 + var text_box = try wgt.TextBox.init(allocator, "events", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none }); │ │251 errdefer text_box.deinit(allocator); │ │252 text_box.getFocus().focusable = true; │ │253 text_box.getFocus().kind = .{ .custom = events_link }; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │275 // settings tab. settings are account preferences, so it needs a login │ │276 // (which also rules out local mode, which has no accounts). │ │277 if (session.data.user_id != null) { │ │278 - var text_box = try wgt.TextBox(ui.Widget).init(allocator, "settings", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │278 + var text_box = try wgt.TextBox.init(allocator, "settings", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none }); │ │279 errdefer text_box.deinit(allocator); │ │280 text_box.getFocus().focusable = true; │ │281 text_box.getFocus().kind = .{ .custom = settings_link }; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │306 │ │307 // quit tab │ │308 if (session.is_terminal) { │ │309 - var text_box = try wgt.TextBox(ui.Widget).init(allocator, ui.Quit.tab_label, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │309 + var text_box = try wgt.TextBox.init(allocator, ui.Quit.tab_label, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none }); │ │310 errdefer text_box.deinit(allocator); │ │311 text_box.getFocus().focusable = true; │ │312 text_box.getFocus().kind = .{ .custom = ui.Quit.tab_kind }; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │360 const selected_tab = if (box.getFocus().child_id == self.tabs_id) tabs_box.getFocus().child_id else null;│ │361 var tabs_width: usize = 0; │ │362 for (tabs_box.children.keys(), tabs_box.children.values()) |id, *child| { │ │363 - const tb: ?*wgt.TextBox(ui.Widget) = switch (child.widget) { │ │363 + const tb: ?*wgt.TextBox = switch (child.widget) { │ │364 .text_box => |*x| x, │ │365 .auth_tab => |*at| blk: { │ │366 // the label tracks login state per frame, so the width must too │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ───────────╮ │src/ui/Repo/Refs.zig│ ╰────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │171 var header_box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .horiz }); │ │172 errdefer header_box.deinit(allocator); │ │173 { │ │174 - var space = try wgt.Text(ui.Widget).init(allocator, " "); │ │174 + var space = try wgt.Text.init(allocator, " "); │ │175 errdefer space.deinit(allocator); │ │176 try header_box.children.put(allocator, space.getFocus().id, .{ .widget = .{ .text = space }, .rect = null, .min_size = null });│ │177 } │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │221 // a focusable row in a column. `link`, when present, is the row's `a:` │ │222 // navigation kind (the window-navigation rows); ref names pass null. │ │223 fn addRow(allocator: std.mem.Allocator, col: *wgt.Box(ui.Widget), label: []const u8, link: ?[]const u8) !void { │ │224 - var row = try wgt.TextBox(ui.Widget).init(allocator, label, .{ .border_style = .hidden, .rounded_corners = true, .wrap_kind = .none });│ │224 + var row = try wgt.TextBox.init(allocator, label, .{ .border_style = .hidden, .rounded_corners = true, .wrap_kind = .none }); │ │225 errdefer row.deinit(allocator); │ │226 row.getFocus().focusable = true; │ │227 if (link) |l| row.getFocus().kind = .{ .custom = l }; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────────╮ │src/ui/Settings.zig│ ╰───────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │35 box.getFocus().kind = .{ .custom = "form:ansi" }; │ │36 │ │37 { │ │38 - var button = try wgt.TextBox(ui.Widget).init(allocator, ansiLabel(session), .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │38 + var button = try wgt.TextBox.init(allocator, ansiLabel(session), .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none }); │ │39 errdefer button.deinit(allocator); │ │40 // the renderer distinguishes plain clickables from buttons that │ │41 // should POST to a server route by this kind. │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────────╮ │src/ui/SubTitle.zig│ ╰───────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │19 } │ │20 │ │21 pub const View = struct { │ │22 - text_box: wgt.TextBox(ui.Widget), │ │22 + text_box: wgt.TextBox, │ │23 │ │24 pub fn init(allocator: std.mem.Allocator, data: *const Self) !View { │ │25 - var text_box = try wgt.TextBox(ui.Widget).init(allocator, data.content, .{ .border_style = null, .wrap_kind = .none });│ │25 + var text_box = try wgt.TextBox.init(allocator, data.content, .{ .border_style = null, .wrap_kind = .none }); │ │26 errdefer text_box.deinit(allocator); │ │27 return .{ .text_box = text_box }; │ │28 } │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ───────╮ │src/ui/Title.zig│ ╰────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │24 } │ │25 │ │26 pub const View = struct { │ │27 - text_box: wgt.TextBox(ui.Widget), │ │27 + text_box: wgt.TextBox, │ │28 │ │29 pub fn init(allocator: std.mem.Allocator, data: *const Self) !View { │ │30 - var text_box = try wgt.TextBox(ui.Widget).init(allocator, data.content, .{ .border_style = null, .wrap_kind = .none });│ │30 + var text_box = try wgt.TextBox.init(allocator, data.content, .{ .border_style = null, .wrap_kind = .none }); │ │31 errdefer text_box.deinit(allocator); │ │32 return .{ .text_box = text_box }; │ │33 } │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯