╭ changed ─────────────╮ │src/ui/Repo/Header.zig│ ╰──────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭────────────────────────────────────────────────────╮ │19 const discuss_tab_label = "discuss"; │ │20 const events_tab_label = "events"; │ │21 const settings_tab_label = "settings"; │ │22 +const new_repo_tab_label = "new repo"; │ │23 │ │24 pub const AuthTab = @import("./../AuthTab.zig");│ │25 │ ╰────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │169 const events_link = try ui.inPageTabLink(session, events_route, current_tag == .repo_events); │ │170 const settings_route = ui.RoutablePage{ .repo_settings = Array.from(identity) orelse return error.RouteTooLong };│ │171 const settings_link = try ui.inPageTabLink(session, settings_route, current_tag == .repo_settings); │ │172 + const new_repo_route = ui.RoutablePage{ .repo_new_repo = Array.from(identity) orelse return error.RouteTooLong };│ │173 + const new_repo_link = try ui.inPageTabLink(session, new_repo_route, current_tag == .repo_new_repo); │ │174 const auth_route = ui.RoutablePage{ .repo_auth = Array.from(identity) orelse return error.RouteTooLong }; │ │175 const auth_link = try ui.inPageTabLink(session, auth_route, current_tag == .repo_auth); │ │176 │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────╮ │298 }); │ │299 } │ │300 │ │298 - // spacer pushes settings + auth to the right │ │301 + // spacer pushes settings, new repo and auth to the right│ │302 { │ │303 var spacer = try ui.widget.Spacer.init(allocator); │ │304 errdefer spacer.deinit(allocator); │ ╰──────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │307 .rect = null, │ │308 .min_size = null, │ │309 .flex = .grow, │ │310 + }); │ │311 + } │ │312 + │ │313 + // new repo tab. repos are created for the logged-in user. │ │314 + if (session.data.user_id != null) { │ │315 + var text_box = try wgt.TextBox.init(allocator, new_repo_tab_label, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none });│ │316 + errdefer text_box.deinit(allocator); │ │317 + text_box.getFocus().mode = .all; │ │318 + text_box.getFocus().kind = .{ .custom = new_repo_link }; │ │319 + try tab_ids.put(allocator, text_box.getFocus().id, {}); │ │320 + if (current_tag == .repo_new_repo) selected_tab = text_box.getFocus().id; │ │321 + try tabs_box.children.put(allocator, text_box.getFocus().id, .{ │ │322 + .widget = .{ .text_box = text_box }, │ │323 + .rect = null, │ │324 + .min_size = .{ .width = new_repo_tab_label.len + 2, .height = null }, │ │325 }); │ │326 } │ │327 │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯