detail
Two fixes to the per-flavor print feature (D990): (1) Added a 'Plain' row alongside the flavor variations -- prints just the base recipe with no flavor addition. Handled in printVariation() by skipping the Flavor: section entirely when variationText is empty. (2) Fixed the print-recovery bug USR369 reported (print, then get dropped into the main recipe list scrolled toward the bottom instead of back to where he was). Root cause was two-fold: no scroll position was ever saved/restored, and the code relied solely on the 'afterprint' event, which is known to be unreliable on mobile browsers (fires late, early, or sometimes not at all on Android Firefox/iOS Safari specifically -- USR369 uses Android Firefox per his own stated setup). Fixed with three redundant layers so this can't get stuck again: (a) explicit scroll position save/restore via window.scrollY, (b) a second detection path via matchMedia('print') change event alongside afterprint, (c) a visible manual 'Close & return to recipe' button rendered inside the print view itself (hidden from the actual printed paper output via a print media query) as a guaranteed fallback regardless of whether either automatic event fires on his browser.