feat(header): gate consolidated <unraid-header> on Unraid 7.3+#2689
feat(header): gate consolidated <unraid-header> on Unraid 7.3+#2689elibosley wants to merge 12 commits into
Conversation
Render the single consolidated header web component (<unraid-header>, provided by the unraid-api web build) on Unraid 7.3 and later, passing the server state JSON the same way myservers2.php does for <unraid-user-profile>. On releases before 7.3 the existing multi-component header is unchanged: <unraid-header-os-version> + the sidebar array-usage graph + the myservers2.php user-profile include. Gate uses version_compare against /etc/unraid-version. The consolidated header owns the whole header layout, fixing the mobile overlap of the reboot banner, server title, and notification bell. Companion to unraid/api#2037.
|
Warning Review limit reached
Next review available in: 15 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔧 PR Test Plugin AvailableA test plugin has been generated for this PR that includes the modified files. Version: 📥 Installation Instructions:Install via Unraid Web UI:
Alternative: Direct Download
|
Pass show-array-usage to <unraid-header> for sidebar themes with usage display enabled, instead of the legacy #array-usage-sidenav placeholder span. The consolidated header now renders the array-usage bar itself (GraphQL-driven), so the Navigation/Main.php sidebar injection simply no-ops on 7.3+.
…er pop-in Paint the Unraid logo inside <unraid-header> so it shows at first paint, before the web-component bundle loads and Vue mounts. The mount engine calls replaceChildren(), so this light-DOM fallback is discarded on upgrade. #header already flex-centers its child, so the fallback logo sits where the mounted logo does. Removes the header pop-in without a client-side fade.
Summary
Gates the new consolidated header web component on Unraid 7.3+, and keeps the existing multi-component header as the fallback for older releases. This is the mount/gate half of the header consolidation; the component itself is in unraid/api#2037.
Why
On a narrow (mobile) screen the current header — logo/version + "Reboot Required for Update" banner (
<unraid-header-os-version>) on the left, and the server title + notification bell + avatar (<unraid-user-profile>, absolutely positioned) on the right — overlap and collide. Owning the whole header in one component (<unraid-header>) lets the API repo fix the responsive layout properly.Change
DefaultPageLayout/Header.phpnow branches onversion_compare(parse_ini_file('/etc/unraid-version')['version'], '7.3', '>='):<unraid-header server="…">, passing the sameServerStateJSONmyservers2.phpuses, plus the sidebar array-usage graph for sidebar themes.<unraid-header-os-version>+ array-usage graph +myservers2.php(<unraid-user-profile>).Companion
CriticalNotificationspopover.