Skip to content

feat: Merge the tab bar underline into surrounding box borders - #32

Merged
FXschwartz merged 3 commits into
serverpod:mainfrom
FXschwartz:tabbar-underline-join
Aug 13, 2026
Merged

feat: Merge the tab bar underline into surrounding box borders#32
FXschwartz merged 3 commits into
serverpod:mainfrom
FXschwartz:tabbar-underline-join

Conversation

@FXschwartz

@FXschwartz FXschwartz commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

With nocterm 0.9.0's box-line blending, the tab bar's heavy underline (━) still stopped short of the borders around it, leaving gaps at both ends and at the pane divider in serverpod start's side-by-side layout.

This paints a full-width bold base rule behind the tab segments with negative indents, so its ends land on the surrounding box border cells and merge into junctions (┝/┥). The per-segment underline rendering (active-tab highlight, ╸/╺ gaps) is unchanged, segments overwrite every in content cell, so the base only shows where it reaches the border. With no surrounding border, the reached ends paint nothing.

Note: One thing I did have to change is now that the borders are actually merging it did not look good to have the app bar border a different color than the borders it is merging with because those merged characters will either be the outside border color or the app bar color.

Before

start-before

After

start-after-final

@FXschwartz
FXschwartz marked this pull request as ready for review August 12, 2026 20:16

@marcelomendoncasoares marcelomendoncasoares left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only one minor nit on the test, but already leaving approved! 🚀

Comment thread test/src/components/tab_bar_test.dart Outdated
@FXschwartz
FXschwartz merged commit 11bad96 into serverpod:main Aug 13, 2026
2 checks passed
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.

2 participants