Fix double /api/ prefix in API endpoint calls

When VITE_API_URL=/api, axios baseURL is already set to /api. However, all endpoint calls included the /api/ prefix, creating double paths like /api/api/auth/login/.

Removed /api/ prefix from 81 API endpoint calls across 22 files:
- src/api/auth.ts - Fixed login, logout, me, refresh, hijack endpoints
- src/api/client.ts - Fixed token refresh endpoint
- src/api/profile.ts - Fixed all profile, email, password, MFA, sessions endpoints
- src/hooks/*.ts - Fixed all remaining API calls (users, appointments, resources, etc)
- src/pages/*.tsx - Fixed signup and email verification endpoints

This ensures API requests use the correct path: /api/auth/login/ instead of /api/api/auth/login/

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
poduck
2025-11-30 15:27:57 -05:00
parent f1d4dac9d2
commit 4cd6610f2a
53 changed files with 476 additions and 687 deletions

View File

@@ -13,6 +13,7 @@ import {
Loader2,
} from 'lucide-react';
import apiClient from '../../api/client';
import { getBaseDomain, buildSubdomainUrl } from '../../utils/domain';
interface SignupFormData {
// Step 1: Business info
@@ -160,7 +161,7 @@ const SignupPage: React.FC = () => {
const timer = setTimeout(async () => {
setCheckingSubdomain(true);
try {
const response = await apiClient.post('/api/auth/signup/check-subdomain/', {
const response = await apiClient.post('/auth/signup/check-subdomain/', {
subdomain: formData.subdomain,
});
setSubdomainAvailable(response.data.available);
@@ -267,7 +268,7 @@ const SignupPage: React.FC = () => {
setSubmitError(null);
try {
await apiClient.post('/api/auth/signup/', {
await apiClient.post('/auth/signup/', {
business_name: formData.businessName,
subdomain: formData.subdomain,
address_line1: formData.addressLine1,
@@ -324,8 +325,7 @@ const SignupPage: React.FC = () => {
</p>
<button
onClick={() => {
const port = window.location.port ? `:${window.location.port}` : '';
window.location.href = `http://${formData.subdomain}.lvh.me${port}/login`;
window.location.href = buildSubdomainUrl(formData.subdomain, '/login');
}}
className="w-full py-3 px-6 text-base font-semibold text-white bg-brand-600 rounded-xl hover:bg-brand-700 transition-colors"
>