import { createAuthClient } from 'better-auth/react';
import { inferAdditionalFields, magicLinkClient } from 'better-auth/client/plugins';
import type { auth } from './auth';

/**
 * Pas de `baseURL`, délibérément.
 *
 * Le CLI en génère une codée en dur (`http://localhost:3000`), qui suit le
 * bundle jusqu'en production : la page servie en HTTPS appelait alors une URL
 * locale en clair, que le navigateur bloque comme contenu non sécurisé.
 *
 * Sans cette option, le client retombe sur le chemin relatif `/api/auth`
 * (`better-auth/dist/client/config.mjs:24`), résolu contre l'origine courante.
 * L'application fonctionne ainsi sur n'importe quel domaine, en local comme en
 * ligne, sans rien à configurer côté navigateur.
 */
export const authClient = createAuthClient({
  plugins: [inferAdditionalFields<typeof auth>(), magicLinkClient()],
});
