| 1 | //! Route-save decisions. |
| 2 | //! |
| 3 | //! A `/model` or `/provider` change is temporary by default. The explicit |
| 4 | //! persistence choices are offered as a NON-BLOCKING band in the status area |
| 5 | //! (u = update this Fleet, n = save as a new Fleet, d = remember as my |
| 6 | //! default, k = keep for this session only). Nothing is written until the |
| 7 | //! user presses one of those keys — a scripted or automated terminal is never |
| 8 | //! interrupted by a modal. |
| 9 | |
| 10 | /// The explicit persistence choice. |
| 11 | #[derive(Debug, Clone, Copy, PartialEq, Eq)] |
| 12 | pub enum RouteSaveChoice { |
| 13 | /// Rewrite the selected Fleet's operator route to the session route. |
| 14 | UpdateFleet, |
| 15 | /// Save the session route as a brand-new Fleet (user-global) and select it. |
| 16 | SaveAsNewFleet, |
| 17 | /// Remember the session route as the startup default (settings; only |
| 18 | /// offered when no Fleet is selected). |
| 19 | SaveAsDefault, |
| 20 | /// Write nothing; the change lives for this session only. (Implemented |
| 21 | /// directly by the key loop's `k`/Esc handling; kept as the named choice |
| 22 | /// so receipts and tests speak the same vocabulary.) |
| 23 | #[allow(dead_code)] |
| 24 | SessionOnly, |
| 25 | } |
| 26 |