feat: Add zero-padding to transaction flow numbering for better alignment
This commit is contained in:
@@ -1390,6 +1390,14 @@ func (m *Model) updateCallDetailView() {
|
||||
|
||||
// --- Transaction Flow ---
|
||||
var right strings.Builder
|
||||
// Calculate padding needed
|
||||
digits := len(fmt.Sprintf("%d", len(flow.Packets)))
|
||||
if digits < 2 {
|
||||
digits = 2
|
||||
}
|
||||
// Pad format string e.g. "%03d."
|
||||
numFmt := fmt.Sprintf("%%0%dd.", digits)
|
||||
|
||||
for i, pkt := range flow.Packets {
|
||||
arrow := "→"
|
||||
arrowStyle := m.styles.ArrowOut
|
||||
@@ -1428,7 +1436,9 @@ func (m *Model) updateCallDetailView() {
|
||||
}
|
||||
|
||||
ts := pkt.Timestamp.Format("15:04:05.000")
|
||||
lineStr := fmt.Sprintf("%d. [%s] %s %s", i+1, ts, arrowStyle.Render(arrow), summaryStyle.Render(pkt.Summary()))
|
||||
// Use pre-calculated format
|
||||
numStr := fmt.Sprintf(numFmt, i+1)
|
||||
lineStr := fmt.Sprintf("%s [%s] %s %s", numStr, ts, arrowStyle.Render(arrow), summaryStyle.Render(pkt.Summary()))
|
||||
|
||||
if pkt.SDP != nil {
|
||||
mediaIP := pkt.SDP.GetSDPMediaIP()
|
||||
@@ -1494,6 +1504,13 @@ func (m *Model) exportCallToLog(flow *sip.CallFlow, filename string) error {
|
||||
fmt.Fprintf(f, "Transaction Flow:\n")
|
||||
fmt.Fprintf(f, "-----------------\n")
|
||||
|
||||
// Calculate padding needed
|
||||
digits := len(fmt.Sprintf("%d", len(flow.Packets)))
|
||||
if digits < 2 {
|
||||
digits = 2
|
||||
}
|
||||
numFmt := fmt.Sprintf("%%0%dd.", digits)
|
||||
|
||||
for i, pkt := range flow.Packets {
|
||||
arrow := "->"
|
||||
if len(flow.Packets) > 0 && pkt.SourceIP != flow.Packets[0].SourceIP {
|
||||
@@ -1513,8 +1530,10 @@ func (m *Model) exportCallToLog(flow *sip.CallFlow, filename string) error {
|
||||
dst = fmt.Sprintf("%s (%s)", dst, pkt.DestIP)
|
||||
}
|
||||
|
||||
fmt.Fprintf(f, "%d. [%s] %s %s %s (%s line %d)\n",
|
||||
i+1,
|
||||
// Use pre-calculated format
|
||||
numStr := fmt.Sprintf(numFmt, i+1)
|
||||
fmt.Fprintf(f, "%s [%s] %s %s %s (%s line %d)\n",
|
||||
numStr,
|
||||
pkt.Timestamp.Format("15:04:05.000"),
|
||||
src, arrow, dst,
|
||||
summary,
|
||||
|
||||
Reference in New Issue
Block a user