╭ changed ──────╮ │src/ui/Home.zig│ ╰───────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │70 const stack_index: usize = 1; │ │71 │ │72 pub fn init(allocator: std.mem.Allocator, data: *const Self, session: *ui.Session) !View { │ │73 - var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert }); │ │73 + var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .rounded_corners = true, .direction = .vert });│ │74 errdefer box.deinit(allocator); │ │75 │ │76 // build the header first so we can grab the users-tab focus id and │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─────────────────╮ │src/ui/Home/Auth/Login.zig│ ╰──────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │42 const button_index: usize = 2; │ │43 │ │44 pub fn init(allocator: std.mem.Allocator, data: *const Self, session: *ui.Session, users_tab_id: usize) !View { │ │45 - var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert }); │ │45 + var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .rounded_corners = true, .direction = .vert });│ │46 errdefer box.deinit(allocator); │ │47 │ │48 var nav_ids: [3]usize = undefined; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │49 │ │50 { │ │51 - var username = wgt.TextInput(ui.Widget).init(allocator, .{ .label = " username ", .name = "username" }); │ │51 + var username = wgt.TextInput(ui.Widget).init(allocator, .{ .label = " username ", .name = "username", .rounded_corners = true });│ │52 errdefer username.deinit(allocator); │ │53 username.getFocus().focusable = true; │ │54 nav_ids[username_index] = username.getFocus().id; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │60 } │ │61 │ │62 { │ │63 - var password = wgt.TextInput(ui.Widget).init(allocator, .{ .label = " password ", .password = true, .name = "password" }); │ │63 + var password = wgt.TextInput(ui.Widget).init(allocator, .{ .label = " password ", .password = true, .name = "password", .rounded_corners = true });│ │64 errdefer password.deinit(allocator); │ │65 password.getFocus().focusable = true; │ │66 nav_ids[password_index] = password.getFocus().id; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │72 } │ │73 │ │74 { │ │75 - var button = try wgt.TextBox(ui.Widget).init(allocator, "login", .{ .border_style = .single, .wrap_kind = .none }); │ │75 + var button = try wgt.TextBox(ui.Widget).init(allocator, "login", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │76 errdefer button.deinit(allocator); │ │77 button.getFocus().focusable = true; │ │78 // the renderer distinguishes plain clickables from buttons that │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────────────────╮ │src/ui/Home/Auth/Logout.zig│ ╰───────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │27 const button_index: usize = 1; │ │28 │ │29 pub fn init(allocator: std.mem.Allocator, data: *const Self, session: *ui.Session, users_tab_id: usize) !View { │ │30 - var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .vert }); │ │30 + var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .rounded_corners = true, .direction = .vert });│ │31 errdefer box.deinit(allocator); │ │32 │ │33 { │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │42 │ │43 var button_id: usize = undefined; │ │44 { │ │45 - var button = try wgt.TextBox(ui.Widget).init(allocator, "logout", .{ .border_style = .single, .wrap_kind = .none }); │ │45 + var button = try wgt.TextBox(ui.Widget).init(allocator, "logout", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │46 errdefer button.deinit(allocator); │ │47 button.getFocus().focusable = true; │ │48 // the renderer distinguishes plain clickables from buttons that │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────────────╮ │src/ui/Home/AuthTab.zig│ ╰───────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │20 session: *ui.Session, │ │21 │ │22 pub fn init(allocator: std.mem.Allocator, data: *const Self, session: *ui.Session) !View { │ │23 - var text_box = try wgt.TextBox(ui.Widget).init(allocator, "login", .{ .border_style = .single, .wrap_kind = .none }); │ │23 + var text_box = try wgt.TextBox(ui.Widget).init(allocator, "login", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │24 errdefer text_box.deinit(allocator); │ │25 text_box.getFocus().focusable = true; │ │26 return .{ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─────────────╮ │src/ui/Home/Header.zig│ ╰──────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │28 const auth_tab_min_width: usize = @as(usize, "logout".len) + 2; │ │29 │ │30 pub fn init(allocator: std.mem.Allocator, data: *const Self, session: *ui.Session) !View { │ │31 - var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .direction = .horiz }); │ │31 + var box = try wgt.Box(ui.Widget).init(allocator, .{ .border_style = null, .rounded_corners = true, .direction = .horiz });│ │32 errdefer box.deinit(allocator); │ │33 │ │34 var tab_ids: [3]usize = undefined; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │36 // fixed tabs: users, repos │ │37 const fixed_tab_names = [_][]const u8{ "users", "repos" }; │ │38 for (fixed_tab_names, 0..) |name, i| { │ │39 - var text_box = try wgt.TextBox(ui.Widget).init(allocator, name, .{ .border_style = .single, .wrap_kind = .none }); │ │39 + var text_box = try wgt.TextBox(ui.Widget).init(allocator, name, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │40 errdefer text_box.deinit(allocator); │ │41 text_box.getFocus().focusable = true; │ │42 tab_ids[i] = text_box.getFocus().id; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯