Intercepted routes

The nextgram pattern: a grid of plain Next.js Links, a @modal parallel-route slot, and an (.)photos/[id] intercepting route that mounts an already-open, controlled lightbox during soft navigation — browser Back closes it. Hard-loading the same photo URL skips interception entirely and renders a standalone photo page: one URL, two presentations. Compare with the URL-synced state example, which keeps one presentation (grid + viewer) on refresh and keeps trigger morphs, at the cost of owning the History API writes itself.

See also: State & lifecycle docs

Foggy pine ridge at dawnEmpty coastal highwayNarrow sunlit alleyWide desert dunesCalm lake reflectionTall concrete staircasePanoramic city skyline at duskSingle tree in a green field