Skip to content

Commit 6664d4d

Browse files
committed
Cleanup
1 parent b5baf1d commit 6664d4d

File tree

1 file changed

+22
-19
lines changed

1 file changed

+22
-19
lines changed

internal/tui/tui.go

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ Detail View:
117117
shift+tab / ← / h: Previous Tab
118118
c : Copy Public URL (Info Tab)
119119
enter : View Request Details (Request Log Tab)
120-
esc / q : Back to List View
120+
esc : Back to List View
121121
122122
Request Detail View:
123123
esc : Back to Request Log
@@ -243,6 +243,7 @@ func createRequestTable() table.Model {
243243
{Title: "Method"},
244244
{Title: "Status"},
245245
{Title: "URL"},
246+
{Title: "ID"}, // Hidden column for request ID
246247
}
247248

248249
t := table.New(
@@ -257,7 +258,6 @@ func createRequestTable() table.Model {
257258
t.SetStyles(s)
258259

259260
return t
260-
261261
}
262262

263263
func (m model) Init() tea.Cmd {
@@ -440,6 +440,7 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
440440
{Title: "Method", Width: 8},
441441
{Title: "Status", Width: 8},
442442
{Title: "URL", Width: urlWidth},
443+
{}, // Hidden column, no title or width needed
443444
}
444445
m.requestTable.SetColumns(requestColumns)
445446

@@ -717,32 +718,36 @@ func (m model) updateDetailView(msg tea.Msg) (tea.Model, tea.Cmd) {
717718
}
718719
return m, nil // Do nothing if not on info tab or error
719720

720-
// Add enter key handling for request table
721721
case "enter":
722722
if m.detailTabIndex == 1 {
723-
selectedIndex := m.requestTable.Cursor()
723+
selectedRow := m.requestTable.SelectedRow()
724+
if len(selectedRow) < 5 { // Ensure row and ID exist (index 4)
725+
return m, nil // Or handle error
726+
}
727+
selectedRequestID := selectedRow[4] // Get ID from the hidden column
728+
724729
funnel, err := m.funnelRegistry.GetFunnel(m.detailedFunnelID)
725730
if err == nil {
726-
// IMPORTANT: This assumes the table rows are in the same order
727-
// as the requests in the funnel's linked list. If sorting or filtering
728-
// is added later, this logic needs to change.
731+
// Find the request by ID in the linked list
729732
node := funnel.Requests.Head
730-
for i := 0; i < selectedIndex && node != nil; i++ {
733+
found := false
734+
for node != nil {
735+
if node.Request.ID == selectedRequestID {
736+
m.selectedRequest = &node.Request
737+
m.state = viewRequestDetail
738+
m.requestTable.Blur() // Unfocus table when leaving
739+
found = true
740+
break
741+
}
731742
node = node.Next
732743
}
733-
if node != nil {
734-
m.selectedRequest = &node.Request
735-
m.state = viewRequestDetail
736-
m.requestTable.Blur() // Unfocus table when leaving
744+
745+
if found {
737746
return m, nil
738747
}
739-
// Handle case where index is out of bounds or node is nil
740748
}
741-
// Handle funnel retrieval error
742749
}
743-
// If not on request tab, or error occurred, do nothing for enter
744750
return m, nil
745-
746751
}
747752
}
748753

@@ -979,6 +984,7 @@ func (m *model) populateRequestTable() {
979984
node.Request.Method(),
980985
strconv.Itoa(node.Request.StatusCode()),
981986
node.Request.Path(),
987+
node.Request.ID,
982988
})
983989
node = node.Next
984990
}
@@ -1126,15 +1132,13 @@ func (m model) viewRequestDetailView(contentHeight int) string {
11261132
return m.renderContent(title, "Error: No request selected.", contentHeight, 1)
11271133
}
11281134

1129-
// Placeholder content - mimicking browser inspect style
11301135
requestInfo := fmt.Sprintf(
11311136
"URL: %s\nMethod: %s\nStatus: %d",
11321137
m.selectedRequest.Path(),
11331138
m.selectedRequest.Method(),
11341139
m.selectedRequest.StatusCode(),
11351140
)
11361141

1137-
// Helper function to format headers
11381142
formatHeaders := func(headers map[string]string) string {
11391143
var builder strings.Builder
11401144
if len(headers) == 0 {
@@ -1150,7 +1154,6 @@ func (m model) viewRequestDetailView(contentHeight int) string {
11501154
// Iterate over sorted keys
11511155
for _, k := range keys {
11521156
v := headers[k]
1153-
// Simple formatting, adjust as needed
11541157
builder.WriteString(fmt.Sprintf(" %s: %s\n", k, v))
11551158
}
11561159
// Remove trailing newline

0 commit comments

Comments
 (0)