MCPcopy Create free account
hub / github.com/MiniCodeMonkey/chief / centerModal

Method centerModal

internal/tui/first_time_setup.go:717–751  ·  view source on GitHub ↗
(modal string)

Source from the content-addressed store, hash-verified

715}
716
717func (f FirstTimeSetup) centerModal(modal string) string {
718 lines := strings.Split(modal, "\n")
719 modalHeight := len(lines)
720 modalWidth := 0
721 for _, line := range lines {
722 if lipgloss.Width(line) > modalWidth {
723 modalWidth = lipgloss.Width(line)
724 }
725 }
726
727 topPadding := (f.height - modalHeight) / 2
728 leftPadding := (f.width - modalWidth) / 2
729
730 if topPadding < 0 {
731 topPadding = 0
732 }
733 if leftPadding < 0 {
734 leftPadding = 0
735 }
736
737 var result strings.Builder
738
739 for i := 0; i < topPadding; i++ {
740 result.WriteString("\n")
741 }
742
743 leftPad := strings.Repeat(" ", leftPadding)
744 for _, line := range lines {
745 result.WriteString(leftPad)
746 result.WriteString(line)
747 result.WriteString("\n")
748 }
749
750 return result.String()
751}
752
753// GetResult returns the setup result.
754func (f FirstTimeSetup) GetResult() FirstTimeSetupResult {

Callers 4

renderGitignoreStepMethod · 0.95
renderPRDNameStepMethod · 0.95
renderGHErrorStepMethod · 0.95

Calls 1

StringMethod · 0.45

Tested by

no test coverage detected