Skip to content

v6: Add StatusBar layout component#4289

Merged
trevor-scheer merged 5 commits into
graphiql-6from
trevor/statusbar-component
May 17, 2026
Merged

v6: Add StatusBar layout component#4289
trevor-scheer merged 5 commits into
graphiql-6from
trevor/statusbar-component

Conversation

@trevor-scheer
Copy link
Copy Markdown
Contributor

@trevor-scheer trevor-scheer commented May 16, 2026

Summary

This PR adds a 24px footer pinned to the bottom of the GraphiQL app. It shows the connection status (with a small dot indicator), schema type count, plugin count, the document encoding, and the language label. The outer container becomes a flex column with a new graphiql-body wrapper for the sidebar-plus-main row, which keeps the status bar fixed beneath a scrolling content area.

Test plan

  • Open the deploy preview. Confirm the status bar appears at the bottom of the app and reads "Disconnected" with a red dot before any schema loads.
  • In the deploy preview, the default endpoint should load a schema; confirm the status flips to "Connected" with a green dot, and a schema type count appears.
  • Resize the browser window narrow; confirm the status bar stays pinned at the bottom and the content area above scrolls independently.
  • Open the settings dialog and toggle dark/light theme; confirm the bar's chrome follows the active theme.

Refs: #4219

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 16, 2026

🦋 Changeset detected

Latest commit: d9e822e

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link
Copy Markdown
Contributor

The latest changes of this PR are not available as canary, since there are no linked changesets for this PR.

@trevor-scheer trevor-scheer force-pushed the trevor/statusbar-component branch from 5e2887c to f6f2021 Compare May 17, 2026 17:58
A 24px-tall footer at the bottom of the app showing connection
status, schema type count, plugin count, cursor position, and
document encoding/indent/language metadata.
`starships` is a real GraphQL field name in the Star Wars schema fixture.
The status bar at 10.5px against `--bg-canvas` was 4.47 contrast on
`--fg-disabled`; `--fg-subtle` clears the WCAG AA threshold.
The connection label only colored its text green or red; adds a small
filled circle alongside the label so the connection state reads as a
status indicator at a glance, with the dot taking the accent and the
label staying in the neutral chrome color.

Drops the `indent` slot. Indent is fixed for GraphiQL today, so showing
`Spaces: 2` invited the assumption that it could be changed.
Cursor position isn't wired up to the Monaco editor today and was only
exposed as a caller-provided prop, so the field never rendered in the
app. Drops the prop and the corresponding render path; left as a future
follow-up once a cursor store slice exists.
@trevor-scheer trevor-scheer force-pushed the trevor/statusbar-component branch from 4501e93 to d9e822e Compare May 17, 2026 18:34
@trevor-scheer trevor-scheer marked this pull request as ready for review May 17, 2026 18:36
@trevor-scheer trevor-scheer enabled auto-merge (squash) May 17, 2026 18:37
@trevor-scheer trevor-scheer merged commit 3f79ce9 into graphiql-6 May 17, 2026
13 checks passed
@trevor-scheer trevor-scheer deleted the trevor/statusbar-component branch May 17, 2026 18:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant