╭ changed ───────────────╮ │src/ui/Repo/Settings.zig│ ╰────────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │35 const hash_index: usize = 3; │ │36 │ │37 pub fn init(allocator: std.mem.Allocator, data: *const Self, session: *ui.Session) !View { │ │38 - var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert }); │ │38 + var box = try wgt.Box(ui.Widget).init(allocator, .{ .border = null, .direction = .vert }); │ │39 errdefer box.deinit(allocator); │ │40 const route = ui.RoutablePage.repoRepoRoute(data.identity) orelse return error.RouteTooLong; │ │41 box.getFocus().kind = .{ .custom = try session.page_arena.allocator().print("form:{s}", .{try route.toUrl(session.page_arena)}) };│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │43 const saved_fields = if (session.formFeedback(.repo_settings)) |saved| saved.fields else null; │ │44 │ │45 { │ │46 - var name = try wgt.TextInput.init(allocator, .{ .label = " name ", .name = "name", .visible_width = 30, .round_corners = true, .render_content = session.is_terminal }); │ │46 + var name = try wgt.TextInput.init(allocator, .{ .top_label = .{ .text = " name " }, .name = "name", .visible_width = 30, .round_corners = true, .render_content = session.is_terminal });│ │47 errdefer name.deinit(allocator); │ │48 name.getFocus().mode = .all; │ │49 try name.setContent(allocator, if (saved_fields) |saved| saved.name else data.name); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │54 } │ │55 │ │56 { │ │57 - var description = try wgt.TextInput.init(allocator, .{ .label = " description ", .name = "description", .visible_width = 30, .round_corners = true, .render_content = session.is_terminal }); │ │57 + var description = try wgt.TextInput.init(allocator, .{ .top_label = .{ .text = " description " }, .name = "description", .visible_width = 30, .round_corners = true, .render_content = session.is_terminal });│ │58 errdefer description.deinit(allocator); │ │59 description.getFocus().mode = .all; │ │60 try description.setContent(allocator, if (saved_fields) |saved| saved.description else data.description); │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │71 } │ │72 │ │73 { │ │74 - var hash_box = try wgt.TextBox.init(allocator, @tagName(data.hash_kind), .{ .border_style = .single, .round_corners = true, .wrap_kind = .none, .label = " hash " }); │ │74 + var hash_box = try wgt.TextBox.init(allocator, @tagName(data.hash_kind), .{ .border = .single, .round_corners = true, .wrap_kind = .none, .top_label = .{ .text = " hash " } });│ │75 errdefer hash_box.deinit(allocator); │ │76 try box.children.put(allocator, hash_box.getFocus().id, .{ .widget = .{ .text_box = hash_box }, .rect = null, .min_size = .{ .width = null, .height = 3 } }); │ │77 } │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │92 pub fn build(self: *View, allocator: std.mem.Allocator, constraint: layout.Constraint, root_focus: *Focus) !void {│ │93 self.clearGrid(); │ │94 const failure = if (self.session.formFeedback(.repo_settings)) |saved| saved.failure else null; │ │95 - (try formField(self.formBox(), "name")).options.label = if (failure) |value| switch (value) { │ │95 + (try formField(self.formBox(), "name")).options.top_label.text = if (failure) |value| switch (value) { │ │96 .required_name => " name (required) ", │ │97 .invalid_name => " name (invalid) ", │ │98 .name_taken => " name (taken) ", │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯