Shared struct handles rendering and input for both DM and channel fullscreen
views, replacing ~80 lines of duplicated inline code. Fixes navigation arrow
indicators being swapped in channel fullscreen.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>