Files
drive/apps/drive-web/src/APITester.tsx
kenneth 015524cd63 style: apply biome formatting to UI components
- Convert spaces to tabs for consistency
- Add 'type' modifier to React imports
- Format component code

Co-authored-by: Ona <no-reply@ona.com>
2025-11-08 18:03:26 +00:00

51 lines
1.3 KiB
TypeScript

import { type FormEvent, useRef } from "react"
export function APITester() {
const responseInputRef = useRef<HTMLTextAreaElement>(null)
const testEndpoint = async (e: FormEvent<HTMLFormElement>) => {
e.preventDefault()
try {
const form = e.currentTarget
const formData = new FormData(form)
const endpoint = formData.get("endpoint") as string
const url = new URL(endpoint, location.href)
const method = formData.get("method") as string
const res = await fetch(url, { method })
const data = await res.json()
responseInputRef.current!.value = JSON.stringify(data, null, 2)
} catch (error) {
responseInputRef.current!.value = String(error)
}
}
return (
<div className="api-tester">
<form onSubmit={testEndpoint} className="endpoint-row">
<select name="method" className="method">
<option value="GET">GET</option>
<option value="PUT">PUT</option>
</select>
<input
type="text"
name="endpoint"
defaultValue="/api/hello"
className="url-input"
placeholder="/api/hello"
/>
<button type="submit" className="send-button">
Send
</button>
</form>
<textarea
ref={responseInputRef}
readOnly
placeholder="Response will appear here..."
className="response-area"
/>
</div>
)
}