╭ changed ──────────────╮ │src/ui/Repo/Comment.zig│ ╰───────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │198 try bar.children.put(allocator, parent.getFocus().id, .{ .widget = .{ .text_box = parent }, .rect = null, .min_size = .{ .width = @max(parent_text.len, " replying to ".len) + 2, .height = null } }); │ │199 } │ │200 │ │201 - const timestamp = try ui.Repo.Undo.formatTimestamp(session.page_arena.allocator(), std.math.cast(i64, entry.comment.created_timestamp) orelse -1); │ │202 - var permalink = try linkBox(allocator, session, timestamp, commentsRoute(thread_kind, identity, &entry.comment.event.thread_id, &entry.id, 0) orelse return error.RouteTooLong); │ │201 + const timestamp = try ui.timestamp.format(session.page_arena.allocator(), std.math.cast(i64, entry.comment.created_timestamp) orelse -1, try session.nowSeconds()); │ │202 + var permalink = try linkBox(allocator, session, timestamp.relative, commentsRoute(thread_kind, identity, &entry.comment.event.thread_id, &entry.id, 0) orelse return error.RouteTooLong); │ │203 errdefer permalink.deinit(allocator); │ │204 permalink.options.top_label.text = " permalink "; │ │205 - try bar.children.put(allocator, permalink.getFocus().id, .{ .widget = .{ .text_box = permalink }, .rect = null, .min_size = .{ .width = @max(timestamp.len, " permalink ".len) + 2, .height = null } }); │ │205 + permalink.options.bottom_label.text = timestamp.exact; │ │206 + try bar.children.put(allocator, permalink.getFocus().id, .{ .widget = .{ .text_box = permalink }, .rect = null, .min_size = .{ .width = @max(timestamp.relative.len, timestamp.exact.len) + 2, .height = null } });│ │207 │ │208 if (entry.can_modify and !entry.comment.removed) { │ │209 var remove = try linkBox(allocator, session, "✕", removeRoute(thread_kind, identity, &entry.comment.event.thread_id, &entry.id) orelse return error.RouteTooLong); │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯