+
+ Routes {preview ? `(${preview.routes.length})` : ""}
+
+ {!preview && !previewError &&
Loading…
}
+ {preview && preview.routes.length === 0 && (
+
+ No routes detected. Add requests under requests/ and{" "}
+ optional [mock] blocks or files under{" "}
+ mocks/.
+
+ )}
+ {preview && (
+
+
+
+ | Method |
+ Path |
+ Status |
+ Auth |
+ Source |
+
+
+
+ {preview.routes.map((r, i) => (
+ openEditor(r.request_rel)}
+ title={r.request_rel}
+ >
+ |
+ {r.method}
+ |
+ {r.path} |
+ {r.status} |
+ {r.auth ?? "—"} |
+
+
+ {r.source}
+
+ |
+
+ ))}
+
+
+ )}
+ {preview && preview.auth_schemes.length > 0 && (
+
+ Auth schemes: {preview.auth_schemes.join(", ")}
+
+ )}
+
+
+ Response · {selectedRel}
+
+ {editorOrigin === "inline"
+ ? "from request file"
+ : editorOrigin === "sibling"
+ ? `mocks/${selectedRel}`
+ : "not defined"}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Live requests ({filteredLogs.length})
+ setFilter(e.target.value)}
+ className="mock-filter"
+ />
+
+
+
+
+ {filteredLogs.length === 0 ? (
+
+ {status.running
+ ? "Waiting for requests…"
+ : "Start the server to capture requests."}
+
+ ) : (
+ filteredLogs.map((l, i) => (
+
+ {fmtTs(l.ts_ms)}
+
+ {l.method}
+
+ {l.path}
+
+ {l.status}
+
+ {l.elapsed_ms}ms
+
+ ))
+ )}
+
+