From e4186068e9c1f58a44b2e1bdb0c92f22cb27c50f Mon Sep 17 00:00:00 2001 From: PizzaLovingNerd Date: Thu, 10 Sep 2026 20:21:30 -0700 Subject: [PATCH] docs: fix mobile navigation offsets and contributor prerequisites --- src/components/MobileNavigation.jsx | 9 +++++++-- src/pages/contribute/development.mdx | 6 +++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/components/MobileNavigation.jsx b/src/components/MobileNavigation.jsx index 54c531be..2ca88040 100644 --- a/src/components/MobileNavigation.jsx +++ b/src/components/MobileNavigation.jsx @@ -4,6 +4,7 @@ import { motion } from 'framer-motion' import { create } from 'zustand' import { Header } from '@/components/Header' +import { useAnnouncements } from '@/components/announcement-banner/AnnouncementBannerProvider' import { NavigationAPI } from '@/components/NavigationAPI' import {NavigationDocs} from "@/components/NavigationDocs"; import {useRouter} from "next/router"; @@ -52,6 +53,9 @@ export const useMobileNavigationStore = create((set) => ({ export function MobileNavigation() { let isInsideMobileNavigation = useIsInsideMobileNavigation() let { isOpen, toggle, close } = useMobileNavigationStore() + let { bannerHeight } = useAnnouncements() + // Match the fixed 64px header below the measured announcement banner. + let panelTop = bannerHeight + 64 let ToggleIcon = isOpen ? XIcon : MenuIcon let router = useRouter() @@ -78,7 +82,7 @@ export function MobileNavigation() { leaveFrom="opacity-100" leaveTo="opacity-0" > -
+
@@ -105,7 +109,8 @@ export function MobileNavigation() { > {router.route.startsWith("/ipa") ? : } diff --git a/src/pages/contribute/development.mdx b/src/pages/contribute/development.mdx index 7d0d0ce1..cdd5ea6c 100644 --- a/src/pages/contribute/development.mdx +++ b/src/pages/contribute/development.mdx @@ -52,7 +52,7 @@ make lint-all make test-unit ``` -`make lint` checks files changed against `origin/main`; `make lint-all` runs the full-repository linter used by CI. `make test-unit` is the host-safe suite and runs without changing host networking. +`make lint` checks files changed against `origin/main`; `make lint-all` runs the full-repository linter used by CI. `make test-unit` is the host-safe suite and runs without changing host networking. It includes the desktop UI package, whose Go code embeds `client/ui/frontend/dist`. On a fresh checkout, complete the [Desktop UI](#desktop-ui) prerequisites and build before running the broad suite; a missing `frontend/dist` error means the assets have not been generated. For a service-only change, start with that service's package tests. For firewall, routing, interface management, and other privileged networking paths, run the contained privileged suite: @@ -60,7 +60,7 @@ For firewall, routing, interface management, and other privileged networking pat make test-privileged ``` -That target selects tests carrying the `privileged` build tag and runs them in a Docker container with elevated networking capabilities. It needs Docker and can take longer than the unit suite. Narrow runs with `PRIV_RUN` and `PRIV_PKGS` only as documented in the core contribution guide. +That target selects tests carrying the `privileged` build tag and runs them in a Docker container with elevated networking capabilities. It needs Docker and can take longer than the unit suite. Run it in a disposable VM with its own Go caches: the container can write root-owned files into bind-mounted caches, causing later host-side tests to fail with permission errors. Narrow runs with `PRIV_RUN` and `PRIV_PKGS` only as documented in the core contribution guide. Build or test an individual component when it gives faster feedback: @@ -80,7 +80,7 @@ Packages that use build tags, elevated privileges, concurrency, or operating-sys ## Desktop UI -The desktop application is built from `client/ui` in the core repository. Its current `Taskfile.yml` dispatches platform-specific Wails v3 builds. +The desktop application is built from `client/ui` in the core repository. Its current `Taskfile.yml` dispatches platform-specific Wails v3 builds. Install Node.js, pnpm, the `wails3` CLI, and the `task` runner using the core repository's [UI prerequisites](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTING.md#ui-client---wails-v3--react). Linux builds also require the WebKitGTK 6.0, GTK 4, and libsoup 3 development packages. ```bash cd client/ui