╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ─────────────╮ │src/ui/Repo/Header.zig│ ╰──────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │166 const discussions_link = try ui.inPageTabLink(session, discussions_route, current_tag == .repo_discussions); │ │167 const events_route = ui.RoutablePage.repoEventsRoute(identity, .active, null, "", null) orelse return error.RouteTooLong;│ │168 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); │ │169 const new_repo_route = ui.RoutablePage{ .repo_new_repo = Array.from(identity) orelse return error.RouteTooLong }; │ │170 const new_repo_link = try ui.inPageTabLink(session, new_repo_route, current_tag == .repo_new_repo); │ │171 const auth_route = ui.RoutablePage{ .repo_auth = Array.from(identity) orelse return error.RouteTooLong }; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────╮ │295 }); │ │296 } │ │297 │ │301 - // spacer pushes settings, new repo and auth to the right│ │298 + // spacer pushes new repo and auth to the right │ │299 { │ │300 var spacer = try ui.widget.Spacer.init(allocator); │ │301 errdefer spacer.deinit(allocator); │ ╰──────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │322 }); │ │323 } │ │324 │ │328 - // settings tab. settings are account preferences, so it needs a login │ │329 - // (which also rules out local mode, which has no accounts). │ │330 - if (session.data.user_id != null) { │ │331 - var text_box = try wgt.TextBox.init(allocator, settings_tab_label, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none });│ │332 - errdefer text_box.deinit(allocator); │ │333 - text_box.getFocus().mode = .all; │ │334 - text_box.getFocus().kind = .{ .custom = settings_link }; │ │335 - try tab_ids.put(allocator, text_box.getFocus().id, {}); │ │336 - if (current_tag == .repo_settings) selected_tab = text_box.getFocus().id; │ │337 - try tabs_box.children.put(allocator, text_box.getFocus().id, .{ │ │338 - .widget = .{ .text_box = text_box }, │ │339 - .rect = null, │ │340 - .min_size = .{ .width = settings_tab_label.len + 2, .height = null }, │ │341 - }); │ │342 - } │ │343 - │ │325 // auth tab (login / logout). AuthTab defaults to the global ai:/auth │ │326 // link; repoint its instance at this repo's auth route so it stays on │ │327 // this page. local mode has no accounts, so it has no auth tab. │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ removed ──────────╮ │src/ui/Settings.zig│ ╰───────────────────╯ ╭ changed ──────╮ │src/ui/User.zig│ ╰───────────────╯ ╭────────────────────────────────────────────────────╮ │14 const fork = @import("../fork.zig"); │ │15 │ │16 pub const Header = @import("./User/Header.zig");│ │17 -pub const Settings = @import("./Settings.zig"); │ │17 pub const Auth = @import("./Auth.zig"); │ │18 pub const Quit = @import("./Quit.zig"); │ │19 │ ╰────────────────────────────────────────────────────╯ ╭─────────────────────────────╮ │35 forks: []const ForkItem, │ │36 forks_start: usize, │ │37 forks_next_start: ?usize,│ │39 -settings: Settings, │ │38 auth: Auth, │ │39 quit: Quit, │ │40 │ ╰─────────────────────────────╯ ╭──────────────────────────────────────────────────╮ │170 .forks = forks.items, │ │171 .forks_start = forks_start, │ │172 .forks_next_start = forks_next_start,│ │175 - .settings = Settings.init(), │ │173 .auth = Auth.init(), │ │174 .quit = Quit.init(), │ │175 }; │ ╰──────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │230 try stack.children.put(allocator, list.getFocus().id, .{ .flow_box_scroll = list }); │ │231 } │ │232 │ │236 - // the header has no new repo or settings tab without a login, so keep the │ │237 - // stack's children 1:1 with the tabs by skipping those views too │ │233 + // the header has no new repo tab without a login, so keep the │ │234 + // stack's children 1:1 with the tabs by skipping that view too │ │235 if (session.data.user_id != null) { │ │236 const route = ui.RoutablePage{ .user_new_repo = ui.RoutablePage.Array(evt.User.name_max_len).from(data.user.name) orelse return error.RouteTooLong };│ │237 var new_repo_view = try ui.NewRepo.View.init(allocator, session, route); │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │239 try stack.children.put(allocator, new_repo_view.getFocus().id, .{ .new_repo = new_repo_view }); │ │240 } │ │241 │ │245 - if (session.data.user_id != null) { │ │246 - var settings_view = try Settings.View.init(allocator, session); │ │247 - errdefer settings_view.deinit(allocator); │ │248 - try stack.children.put(allocator, settings_view.getFocus().id, .{ .home_settings = settings_view });│ │249 - } │ │250 - │ │242 { │ │243 var auth_view = try Auth.View.init(allocator, &data.auth, session); │ │244 errdefer auth_view.deinit(allocator); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─────────────╮ │src/ui/User/Header.zig│ ╰──────────────────────╯ ╭────────────────────────────────────────────────────╮ │11 │ │12 const repos_tab_label = "repos"; │ │13 const forks_tab_label = "forks"; │ │14 -const settings_tab_label = "settings"; │ │14 const new_repo_tab_label = "new repo"; │ │15 │ │16 pub const AuthTab = @import("./../AuthTab.zig");│ ╰────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯