Document menu structure standards and UI consistency guidelines

Added comprehensive menu standards documentation covering:

Menu Structure:
- Standard 11-step menu format (banner, title, sections, options, back, prompt)
- Separator standards (main vs submenu)
- Back button conventions (always option 0, red color)

Color Coding:
- Main categories have distinct colors
- Actions within menus follow consistent color patterns
- Dangerous actions always use red

Identified Improvements Needed:
- Create lib/domain-selector.sh for unified domain/user selection
- Standardize domain lookup across all modules
- Create menu-helpers.sh for consistent rendering
- Audit modules for consistency

This documentation ensures all future menus maintain uniform look/feel
This commit is contained in:
cschantz
2025-12-16 22:55:22 -05:00
parent b77c6cb41a
commit 2ebc558cf5
+62
View File
@@ -3590,3 +3590,65 @@ WORKFLOW:
5. Push
6. Brief update (1-2 sentences)
[MENU_STANDARDS]
updated: 2025-12-16
MENU STRUCTURE CONSISTENCY:
All menus follow this standard format:
1. show_banner (clears screen + shows toolkit banner)
2. Menu title with icon: echo -e "${COLOR}${BOLD}🔧 Menu Name${NC}"
3. Empty line
4. Section headers: echo -e "${BOLD}Section Name:${NC}"
5. Empty line before options
6. Options: echo -e " ${COLOR}##)${NC} 🔧 Option Name - Description"
7. Empty line after section
8. Back button: echo -e " ${RED}0)${NC} Back to Main Menu"
9. Empty line
10. Separator: echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}"
11. Prompt: echo -n "Select option: "
MENU SEPARATORS:
Main menu: ${CYAN}═══════════════════════════════════════════════════════════════${NC}
Submenus: ${CYAN}──────────────────────────────────────────────────────────────${NC}
BACK BUTTON STANDARD:
Always option 0
Always red color: ${RED}0)${NC}
Main menu: "Exit"
Submenus: "Back to Main Menu"
COLOR CODING:
Main categories: Different colors per category
Security: ${GREEN}
Website: ${BLUE}
Performance: ${MAGENTA}
Backup: ${YELLOW}
Actions within menus: Consistent per type
Analysis tools: ${CYAN}
Live monitors: ${MAGENTA}
Actions: ${YELLOW}
Dangerous: ${RED}
COMMON ISSUES TO STANDARDIZE:
❌ INCONSISTENT: Different domain/user lookup in each module
✅ TODO: Create lib/domain-selector.sh with:
- select_domain_interactive()
- select_user_interactive()
- validate_domain()
- get_domain_owner()
❌ INCONSISTENT: Some modules have custom menus, others don't
✅ STANDARD: Modules should be single-purpose or have internal menus
❌ INCONSISTENT: Press Enter messages vary
✅ STANDARD: Use press_enter function from common-functions.sh
FUTURE IMPROVEMENTS:
1. Create lib/domain-selector.sh for unified domain/user selection
2. Create lib/menu-helpers.sh for consistent menu rendering
3. Audit all modules for menu consistency
4. Document module menu patterns in this section