╭─────────────╮ │scroll to top│ ╰─────────────╯ ╭ AuthTab.zig ──────────────────────────────────────────────────╮ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╰───────────────────────────────────────────────────────────────╯
╭────╮ ╭ clone ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╮ │http│ ssh │ │ ╰────╯ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╯
33 34 pub fn deinit(self: *View, allocator: std.mem.Allocator) void { 35 self.text_box.deinit(allocator); 36 } 37 38 pub fn build(self: *View, allocator: std.mem.Allocator, constraint: layout.Constraint, root_focus: *Focus) !void { 39 // update the displayed label based on session state. the inner Text 40 // widget's content is just a slice, so we can repoint it without 41 // re-allocating. 42 if (self.text_box.box.children.values().len > 0) { 43 const text_widget = &self.text_box.box.children.values()[0].widget.text; 44 text_widget.content = if (self.session.data.user_id != null) "logout" else "login"; 45 } 46 try self.text_box.build(allocator, constraint, root_focus); 47 } 48 49 pub fn input(self: *View, allocator: std.mem.Allocator, key: Key, root_focus: *Focus) !void { 50 try self.text_box.input(allocator, key, root_focus); 51 } 52 53 pub fn clearGrid(self: *View) void { 54 self.text_box.clearGrid(); 55 } 56 57 pub fn getGrid(self: View) ?Grid { 58 return self.text_box.getGrid(); 59 } 60 61 pub fn getFocus(self: *View) *Focus { 62 return self.text_box.getFocus(); 63 } 64 }; 65