Skip to content

[3.0] Theme split (wave 3, part 6) — Make the main menu a band across the page - #9374

Merged
live627 merged 3 commits into
SimpleMachines:release-3.0from
albertlast:3.0/theme-menu-band
Aug 8, 2026
Merged

[3.0] Theme split (wave 3, part 6) — Make the main menu a band across the page#9374
live627 merged 3 commits into
SimpleMachines:release-3.0from
albertlast:3.0/theme-menu-band

Conversation

@albertlast

Copy link
Copy Markdown
Collaborator

Description

Part 6 of wave 3 of the #7933 split. Stacked on #9373 and the parts below it — the diff of this one is its last commit.

The main menu was buried inside #upper_section > #inner_section, two nested wrappers whose only job was some padding and a rounded top corner. It becomes a band of its own across the page, directly under the header, with a .content-wrapper inside it lining its contents up with everything else:

<header id="header"></header>
<nav id="main_menu">
	<div class="content-wrapper"></div>
</nav>
<div id="wrapper" class="content-wrapper">
	<div id="inner_wrap">…clock and news…</div>
	<nav class="navigate_section"></nav>
	<div id="content_section"></div>
</div>

Both section wrappers go, and the clock, the news line and the breadcrumb move up a level. The padding #inner_section was providing moves onto #inner_wrap and the breadcrumb, which is what they actually needed it for. The light gradient that #inner_section was picking up from the shared background rule becomes --mainmenu-bg on the band, so the strip under the header still reads the same way.

Three copies of this markup, not one

Themes/default/MaintenanceTemplate.php and the XSLT in Sources/Tasks/ExportProfileData.php both build their own #upper_section > #inner_section > #inner_wrap and load this same index.css, so they lose those wrappers too. maintenance.css already carries a /* Add the gradient here if there is no upper_section */ rule for exactly this case.

Two dead RTL rules removed

  • #upper_section .news { float: right }.news is a flex item of #inner_wrap, and float does nothing to a flex item.
  • .navigate_section .unread_links { float: left }.unread_links is inside .user, never inside .navigate_section, so this has never matched anything.

Both were already dead before this change; they are removed here because this is the part that touches the markup around them.

Verification

Logged in, board index and a board page, at 1401px and 701px.

Structure, read back from the DOM rather than from the template, since unbalanced tags in a template that echoes strings are easy to write and invisible until something reflows:

#upper_section present: no          #inner_section present: no
#main_menu is a sibling of #wrapper and comes before it: yes
#main_menu has a .content-wrapper directly inside it:    yes
#inner_wrap, .navigate_section, #content_section all directly in #wrapper: yes
#main_content_section still inside #content_section:     yes

Widths and overflow:

1401px: band 1401 wide, contents 1200 wide, no horizontal scrollbar
 701px: band  701 wide, contents  701 wide, no horizontal scrollbar

Every var() in index.css still resolves against variables.css.

Issues References (Fixes|Related|Closes)

Related to #7933.

The top bar was a separate band above the header holding the user links,
the language picker and the search box, which left the header itself
holding nothing but the forum title and the logo. They merge: the header
now has the title at one end and a user panel at the other.

Keeps the search box and the language picker, which the theme branch
drops from the template while leaving their CSS behind.

The footer's Go up link pointed at #top_section, so it now points at

Signed-off-by: albertlast <mathiaspapealbert@hotmail.com>
They hang off #top_info, which is positioned, and were anchored to its
start edge. That was fine while #top_info sat at the left of the page,
but it now sits at the end of the header, so a 300px wide menu ran off
the right of the screen and gave the page a horizontal scrollbar on a
narrow window.

Anchored to the end edge instead, with logical properties so it works
the same way in a right to left language.

Signed-off-by: albertlast <mathiaspapealbert@hotmail.com>
The menu was buried inside two nested section wrappers whose only job was
padding and a rounded corner. It becomes a band of its own under the
header, with a wrapper inside it lining its contents up with the rest of
the page, and those two section wrappers go.

The clock, the news line and the breadcrumb move up to sit directly in
the content wrapper. The padding the outer section used to provide moves
onto the row that needed it.

The maintenance page and the profile export build their own copies of
this markup, so their section wrappers go the same way.

Signed-off-by: albertlast <mathiaspapealbert@hotmail.com>
@albertlast
albertlast force-pushed the 3.0/theme-menu-band branch from 677adb3 to f6d3d31 Compare August 8, 2026 05:50
@live627
live627 merged commit a731d12 into SimpleMachines:release-3.0 Aug 8, 2026
4 checks passed
live627 pushed a commit that referenced this pull request Aug 9, 2026
Reverts the layout half of #9373. The top bar goes back above the header
holding the user links, the language picker and the search box, and the
header goes back to the forum title and the logo on their own between it and
the main menu.

Reported as #9423, and confirmed with the author of #7933 as the direction to
take: the merged header is not what people expect of this theme, whatever the
theme branch does.

The maintenance page and the profile export follow the forum's header, so
their wrapper goes back onto the header element with it. Everything #9374 and
#9375 changed stays as it is - the menu is still a band across the page and
the footer is still a flex row. The Go up link points at the top bar again,
since that is the first thing on the page once more.

Signed-off-by: albertlast <mathiaspapealbert@hotmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants