Common mistakes — Menus
1. Empty parent links
You added a parent link but never gave it children. Result: clicking the parent does nothing useful.
Either give it real children or convert it to a regular link with a target route.
2. Pointing at a deleted table or route
You deleted a table or renamed a route, and a menu item still points at the old name. The link still appears but 404s when clicked.
The Checklist tab catches this — broken target references are flagged. Use Table list and Table form link types when possible; they auto-resolve when tables get renamed.
3. Inconsistent labels vs targets
Your menu shows Leave Applications but the link goes to the Memos list. Easy to miss after copy-pasting items.
Always test menu links after changes — the Builder shows a click-through preview.
4. Headers without children
A header with no items underneath looks like a typo. Either add the missing items or remove the header.
5. Permission strings that don't exist
You typed leaves.approve but the actual permission is
leave.approve. The link is silently hidden from everyone — including
admins.
Use the dropdown picker (don't free-text) when setting the permission.
6. One giant menu instead of role menus
You crammed admin, manager, staff, and report items into a single 30-row menu. Even with permissions hiding most of them, the top of the menu is crowded for everyone.
If your app has very different audiences, consider multiple menus — each tailored to one role group.
7. Hidden divider runs
Permission-hidden links above and below a divider can leave the divider floating in space. Luna handles this gracefully (auto-removes orphan dividers), but check by signing in as each role to make sure the menu looks right.
When in doubt
Open the Checklist tab in this drawer.