1package ui23import (4 "charm.land/lipgloss/v2"5)67// Panel wraps content in a bordered frame with a styled title and footer hint.8// It uses RoundedBorder by default, suitable for sub-menus and secondary views.9func Panel(title, content, footer string) string {10 titleLine := PanelTitle().Render(title)11 footerLine := FooterHint().Render(footer)1213 inner := lipgloss.JoinVertical(lipgloss.Left,14 titleLine,15 "",16 content,17 "",18 footerLine,19 )2021 return PanelFrame().Render(inner)22}2324// HeavyPanel wraps content in a double-border frame, used for the main menu.25func HeavyPanel(content string) string {26 return MainMenuFrame().Render(content)27}