e8eff1baa1
Drop 9 hand-rolled apiFetch calls with redundant Content-Type headers + manual JSON.stringify. The api.* wrapper in client.ts already handles both. Identical wire shape; existing tests cover all endpoints. Also makes api.del generic so DELETE endpoints with typed returns (playlist track removal) can use the wrapper instead of raw apiFetch. Default `T = null` preserves existing callers. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>