╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────╮ │1379 pending: std.ArrayList(Action) = .empty, // actions queued by widgets this frame│ │1380 // focus id -> the live TextInput, refreshed each frame by the views that own │ │1381 // inputs. web/wasm form handling looks widgets up here by focus id. │ │1382 - text_inputs: std.AutoHashMapUnmanaged(usize, *wgt.TextInput(Widget)) = .empty, │ │1382 + text_inputs: std.AutoHashMapUnmanaged(usize, *wgt.TextInput) = .empty, │ │1383 // focus id -> the page-constant text the web renderer puts in an input │ │1384 // initially, refreshed each frame alongside `text_inputs`. never an │ │1385 // editable input's live content: the overlay html must not change as the │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────╮ │1556 // when a panic/segfault happens │ │1557 term.setActive(&terminal); │ │1558 defer term.setActive(null); │ │1559 - │ │1560 - var last_size = layout.Size{ .width = 0, .height = 0 }; │ │1561 - var last_grid = try Grid.init(allocator, last_size); │ │1562 - defer last_grid.deinit(); │ │1559 │ │1560 while (!terminal.shouldQuit()) { │ │1565 - const grid_changed = try terminal.render(&nav.root, &last_grid, &last_size);│ │1561 + const grid_changed = try terminal.render(&nav.root); │ │1562 │ │1563 // process any inputs. │ │1564 // │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────╮ │1592 terminal = try term.Terminal.init(io, allocator);│ │1593 terminal_live = true; │ │1594 term.setActive(&terminal); │ │1599 - last_size = .{ .width = 0, .height = 0 }; │ │1595 }, │ │1596 .sync_events => { │ │1597 try nav.root.build(allocator, .{ │ ╰───────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1598 .min_size = .{ .width = null, .height = null }, │ │1604 - .max_size = .{ .width = last_size.width, .height = last_size.height }, │ │1599 + .max_size = .{ .width = terminal.size.width, .height = terminal.size.height },│ │1600 }, nav.root.getFocus()); │ │1606 - _ = try terminal.render(&nav.root, &last_grid, &last_size); │ │1601 + _ = try terminal.render(&nav.root); │ │1602 try Repo.Events.performSync(allocator, session); │ │1603 }, │ │1604 } │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────╮ │1622 │ │1623 try nav.root.build(allocator, .{ │ │1624 .min_size = .{ .width = null, .height = null }, │ │1630 - .max_size = .{ .width = last_size.width, .height = last_size.height }, │ │1625 + .max_size = .{ .width = terminal.size.width, .height = terminal.size.height },│ │1626 }, nav.root.getFocus()); │ │1627 } │ │1628 } │ ╰────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1840 │ │1841 // a focusable " author " box showing `author`, linking to their user page │ │1842 // when it is a known user │ │1848 -pub fn authorBox(allocator: std.mem.Allocator, page_arena: *std.heap.ArenaAllocator, author: Author) !wgt.TextBox(Widget) {│ │1843 +pub fn authorBox(allocator: std.mem.Allocator, page_arena: *std.heap.ArenaAllocator, author: Author) !wgt.TextBox { │ │1844 const text = switch (author) { │ │1845 .unknown => "", │ │1846 .email, .user_name => |t| t, │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1847 }; │ │1853 - var tb = try wgt.TextBox(Widget).init(allocator, text, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none, .label = " author " });│ │1848 + var tb = try wgt.TextBox.init(allocator, text, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none, .label = " author " }); │ │1849 errdefer tb.deinit(allocator); │ │1850 tb.getFocus().focusable = true; │ │1851 switch (author) { │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯