Function
false until hydration commits, then whether the flow is available
True only for Safari on an iPhone where the app is not already running
standalone. Everything it reads is a property of the browser, so it reports
false until hydration commits — rendering anything else during hydration
makes the server and client markup disagree.
The three conditions are each load-bearing. Other iOS browsers are WebKit but have no Share → Add to Home Screen flow. A desktop browser has the concept but not the steps this guide depicts. And someone already launching from the home screen has done it, so offering the guide would be telling them to repeat themselves.
There is no capability to feature-detect here: iOS exposes no API for adding to the home screen, which is the entire reason a guide exists rather than a button. User-agent sniffing is the only signal available.
Client hook: whether this learner can still add the app to their home screen.