╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ─────────────╮ │src/ui/Home/Header.zig│ ╰──────────────────────╯ ╭─────────────────────────────────────────────────╮ │ 97 .home_users => users_link, │ │100 - .home_settings => settings_link,│ │ 98 .home_new_repo => new_repo_link,│ │ 99 .home_auth => auth_link, │ │100 else => about_link, │ ╰─────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────╮ │131 }); │ │132 } │ │133 │ │137 - // spacer pushes settings, new repo and auth to the right│ │134 + // spacer pushes new repo and auth to the right │ │135 { │ │136 var spacer = try ui.widget.Spacer.init(allocator); │ │137 errdefer spacer.deinit(allocator); │ ╰──────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │155 .widget = .{ .text_box = text_box }, │ │156 .rect = null, │ │157 .min_size = .{ .width = new_repo_tab_label.len + 2, .height = null }, │ │161 - }); │ │162 - } │ │163 - │ │164 - // settings tab. settings are account preferences, so it needs a login. │ │165 - if (session.data.user_id != null) { │ │166 - var text_box = try wgt.TextBox.init(allocator, settings_tab_label, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none });│ │167 - errdefer text_box.deinit(allocator); │ │168 - text_box.getFocus().mode = .all; │ │169 - text_box.getFocus().kind = .{ .custom = settings_link }; │ │170 - try tab_ids.put(allocator, text_box.getFocus().id, {}); │ │171 - if (std.mem.eql(u8, settings_link, current_link)) selected_tab = text_box.getFocus().id; │ │172 - try tabs_box.children.put(allocator, text_box.getFocus().id, .{ │ │173 - .widget = .{ .text_box = text_box }, │ │174 - .rect = null, │ │175 - .min_size = .{ .width = settings_tab_label.len + 2, .height = null }, │ │158 }); │ │159 } │ │160 │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────╮ │src/ui/Repo.zig│ ╰───────────────╯ ╭──────────────────────────────────────────────────────╮ │24 pub const Comment = @import("./Repo/Comment.zig");│ │25 pub const Undo = @import("./Repo/Undo.zig"); │ │26 pub const Events = @import("./Repo/Events.zig"); │ │27 -pub const Settings = @import("./Settings.zig"); │ │27 pub const Auth = @import("./Auth.zig"); │ │28 pub const Quit = @import("./Quit.zig"); │ │29 │ ╰──────────────────────────────────────────────────────╯ ╭─────────────────────────────╮ │37 discussions: Discussions,│ │38 events: Events, │ │39 undo: ?Undo = null, │ │41 -settings: Settings, │ │40 auth: Auth, │ │41 quit: Quit, │ │42 │ ╰─────────────────────────────╯ ╭─────────────────────────────────────────╮ │362 .discussions = discussions, │ │363 .events = events, │ │364 .undo = undo_data, │ │367 - .settings = Settings.init(),│ │365 .auth = Auth.init(), │ │366 .quit = Quit.init(), │ │367 }; │ ╰─────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │449 try stack.children.put(allocator, undo_view.getFocus().id, .{ .repo_undo = undo_view });│ │450 } │ │451 │ │455 - // the header only shows the new repo and settings tabs with a login │ │452 + // the header only shows the new repo tab with a login │ │453 // and the auth tab outside local mode, so keep the stack's children 1:1 with │ │454 // the tabs by skipping the same views. │ │455 if (session.data.user_id != null) { │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │460 try stack.children.put(allocator, new_repo_view.getFocus().id, .{ .new_repo = new_repo_view }); │ │461 } │ │462 │ │466 - if (session.data.user_id != null) { │ │467 - var settings_view = try Settings.View.init(allocator, session); │ │468 - errdefer settings_view.deinit(allocator); │ │469 - try stack.children.put(allocator, settings_view.getFocus().id, .{ .home_settings = settings_view });│ │470 - } │ │471 - │ │463 if (session.data.host_kind == .server) { │ │464 var auth_view = try Auth.View.init(allocator, &data.auth, session); │ │465 errdefer auth_view.deinit(allocator); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─────────────╮ │src/ui/Repo/Header.zig│ ╰──────────────────────╯ ╭────────────────────────────────────────────────────╮ │18 const patches_tab_label = "patches"; │ │19 const discuss_tab_label = "discuss"; │ │20 const events_tab_label = "events"; │ │21 -const settings_tab_label = "settings"; │ │21 const new_repo_tab_label = "new repo"; │ │22 │ │23 pub const AuthTab = @import("./../AuthTab.zig");│ ╰────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────╮ │139 │ │140 // every tab link is repo-scoped so selecting one stays on this page — │ │141 // switching its stack and updating the url — instead of navigating to │ │143 - // the global settings or auth pages. the "ai:" prefix makes each an │ │142 + // the global new repo or auth pages. the "ai:" prefix makes each an │ │143 // in-page anchor: crossPageLink ignores it so a wasm click just switches│ │144 // tabs (the page already holds every tab's content), while the href is │ │145 // still followed with js off. the files tab routes through the shared │ ╰──────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯