Screen states
Show loading, empty and error states.
Loading
Place LoadingState directly inside Screen.
import { LoadingState, Screen, Text } from "ink";
<Screen title="Forecast">
{loading
? <LoadingState />
: <Text>18°C and sunny</Text>}
</Screen>

Custom message
<LoadingState label="Finding your location…" />
Error
ErrorState places a retry action at the bottom.
<Screen title="Forecast">
<ErrorState message="Could not load the forecast."
onRetry={reload} />
</Screen>
Empty
<Screen title="Saved places">
<EmptyState title="No saved places"
action={{ label: "Add a place", onPress: addPlace }} />
</Screen>
Place loading, empty and error states directly inside Screen. They replace its content. Keep existing content visible during background refreshes; use Resources and actions to track loading and failures.
ErrorState accepts retryLabel and disabled. EmptyState accepts an optional description and action. These components display state; they do not fetch data.

