╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────╮ │← previous│ ╰──────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────╮ │2427 }; │ │2428 │ │2429 pub const AssignmentFailure = enum { not_found, not_an_email, already_assigned };│ │2430 + │ │2431 + pub const DeleteFailure = enum { wrong_confirm, wrong_password }; │ │2432 │ │2433 pub const KeyFailure = enum { │ │2434 invalid, │ ╰───────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────╮ │2525 failure: AssignmentFailure, │ │2526 text: []const u8, │ │2527 }, │ │2528 + delete: struct { │ │2529 + failure: DeleteFailure, │ │2530 + // a page can hold two delete forms, so this names the failed one│ │2531 + target: std.meta.Tag(Delete.Target), │ │2532 + // the password is never retained │ │2533 + confirm: []const u8, │ │2534 + }, │ │2535 issue: struct { │ │2536 failure: ThreadFailure, │ │2537 fields: ?struct { │ ╰───────────────────────────────────────────────────────────────────────────────────╯