MCPcopy Create free account
hub / github.com/Thunder-Compute/thunder-cli / View

Method View

tui/modify.go:551–596  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

549}
550
551func (m modifyModel) View() string {
552 if m.quitting {
553 return ""
554 }
555
556 var s strings.Builder
557
558 // Title
559 s.WriteString(m.styles.Title.Render("Modify Instance Configuration"))
560 s.WriteString("\n")
561
562 // Show current instance info
563 s.WriteString(m.styles.Label.Render(fmt.Sprintf("Instance: (%s) %s", m.currentInstance.ID, m.currentInstance.Name)))
564 s.WriteString("\n\n")
565
566 // Render current step
567 switch m.step {
568 case modifyStepGPU:
569 s.WriteString(m.renderGPUStep())
570 case modifyStepCompute:
571 s.WriteString(m.renderComputeStep())
572 case modifyStepDiskSize:
573 s.WriteString(m.renderDiskSizeStep())
574 case modifyStepConfirmation:
575 s.WriteString(m.renderConfirmationStep())
576 }
577
578 if m.pricing != nil {
579 price := m.computePreviewPrice()
580 s.WriteString("\n")
581 s.WriteString(m.styles.Help.Render(fmt.Sprintf("Estimated cost: %s", utils.FormatPrice(price))))
582 }
583
584 // Help text
585 s.WriteString("\n")
586 switch m.step {
587 case modifyStepConfirmation:
588 s.WriteString(m.styles.Help.Render("↑/↓: Navigate Enter: Confirm Esc: Back Q: Quit"))
589 case modifyStepDiskSize:
590 s.WriteString(m.styles.Help.Render("↑/↓: Navigate Enter: Select Esc: Back Q: Quit"))
591 default:
592 s.WriteString(m.styles.Help.Render("↑/↓: Navigate Enter: Select Esc: Back Q: Quit"))
593 }
594
595 return s.String()
596}
597
598// computePreviewPrice calculates the price for the resulting configuration,
599// using current instance values as base and overriding with selections/hovered option.

Callers 1

renderDiskSizeStepMethod · 0.45

Calls 6

renderGPUStepMethod · 0.95
renderComputeStepMethod · 0.95
renderDiskSizeStepMethod · 0.95
computePreviewPriceMethod · 0.95
FormatPriceFunction · 0.92

Tested by

no test coverage detected