Skip to content

Drop the phone-specific layout, warn on small screens instead #143

Open

Description

@YanivZalach

Problem

IceGraph currently ships a separate phone layout: on narrow viewports the normal navigation is replaced by a hamburger button that opens its own stacked menu, with its own styling and its own copy of the table picker. Nobody debugs Iceberg metadata on a phone, so this is a second UI being maintained for a use case that does not exist, and it quietly hides the fact that the app is not usable at that size anyway.

We are not trying to lock small windows out. The app is a computer-screen app, but "computer screen" includes a browser window taking up half a display, which is a completely normal way to work: IceGraph on one side, a terminal or a query editor on the other. That case has to be genuinely supported, not merely tolerated. What we are dropping is the phone-shaped presentation, not the ability to make the window narrower.

Desired behavior

One layout. The phone-only navigation is gone. There is a single navigation, the same one used on desktop, at every width. Nothing in the app switches to a different phone-shaped presentation.

Half-screen is a supported size. Down to 700px wide the app is fully usable, not just rendered. Panels, toolbars, and the file tree reflow into the available room, and no feature becomes unreachable because the window got narrower. A user who snaps the browser to half of a laptop display should get a working IceGraph, not a warning. Fluid reflow is the mechanism here, not a second set of phone breakpoints.

Normal reflow stays. Going from a large desktop window to a small one keeps working the way it does today. This ticket does not change how the app looks on a maximized window.

Below 700px wide, the user is told. A full-screen message covers the app explaining that IceGraph is built for a computer screen and that the current window is smaller than supported. The message has a way to continue anyway. Continuing drops the user into the normal app, unchanged and fully functional, with no degraded or restricted mode.

Dismissal lasts the browser session. Once the user chooses to continue, the message does not come back while that session lasts, including after resizing back and forth or moving between pages. It appears again in a new session.

Activity

  1. YanivZalach commented on Aug 20, 2026

    @YanivZalach
    OwnerAuthor

    Implemented in the file page in PR #142

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions