| author | |
| committer | |
| log | 486eeeb292a5b37fb9af763e9ee014c61bcbdd9c |
| tree | 5d1b8d7edf2db124a0762d460fd5734a7112c8aa |
| parent | 8bafe305be064627aa2527be1b4c4b45efb185b0 |
| signature | Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU (~clover) |
The Reading View button no longer waits behind a launch argument: it shows beside the page menu wherever the page can reflow into the screen's width, and the page menu always lists it.
Refs #128
Assisted-by: claude-opus-5.52 files changed, 5 insertions(+), 8 deletions(-)
apps/ios/Snowbound/PageViewController.swift+2-2| ... | ... | @@ -115,7 +115,7 @@ final class PageViewController: UIViewController, PHPickerViewControllerDelegate |
| 115 | 115 | if revealed || titleFocus && canvas.focusTitle() { |
| 116 | 116 | _ = canvas.becomeFirstResponder() |
| 117 | 117 | } |
| 118 | if Prototype.reading, canvas.reading?.offered == true { | |
| 118 | if canvas.reading?.offered == true { | |
| 119 | 119 | reader = UIBarButtonItem( |
| 120 | 120 | title: "Reading View", image: UIImage(systemName: "text.justify.left"), |
| 121 | 121 | primaryAction: UIAction { [weak self] _ in self?.toggleReading() }) |
| ... | ... | @@ -201,7 +201,7 @@ final class PageViewController: UIViewController, PHPickerViewControllerDelegate |
| 201 | 201 | ) { [weak self] _ in self?.record(video: true) }, |
| 202 | 202 | ]), |
| 203 | 203 | ]) |
| 204 | return (Prototype.reading ? [readingAction()] : []) + [ | |
| 204 | return [readingAction()] + [ | |
| 205 | 205 | insert, |
| 206 | 206 | UIAction(title: "Page Background", image: UIImage(systemName: "paintpalette"), attributes: editable) { |
| 207 | 207 | [weak self] _ in self?.showPaper() |
apps/ios/Snowbound/Prototypes.swift+3-6| ... | ... | @@ -1,12 +1,9 @@ |
| 1 | 1 | import UIKit |
| 2 | 2 | |
| 3 | 3 | /// Design prototypes, off unless a launch argument turns one on, as |
| 4 | /// `-SnowboundReading YES`, `-SnowboundWelcome YES`, `-SnowboundSectionStrip YES` or | |
| 5 | /// `-SnowboundQuickNote YES` (Xcode's scheme, `simctl launch`, or `devicectl … --arguments`). | |
| 6 | enum Prototype { | |
| 7 | /// Page menu: Reading View, the page reflowed into the screen's width. | |
| 8 | static var reading: Bool { UserDefaults.standard.bool(forKey: "SnowboundReading") } | |
| 9 | } | |
| 4 | /// `-SnowboundWelcome YES`, `-SnowboundSectionStrip YES` or `-SnowboundQuickNote YES` | |
| 5 | /// (Xcode's scheme, `simctl launch`, or `devicectl … --arguments`). | |
| 6 | enum Prototype {} | |
| 10 | 7 | |
| 11 | 8 | extension Prototype { |
| 12 | 9 | /// First launch: a welcome where the list would be empty, the first notebook found opened |