import { HttpBackend, HttpClient } from '@angular/common/http'
import { Injectable, inject } from '@angular/core'
import { Translation, TranslocoLoader } from '@jsverse/transloco'

@Injectable()
export class TranslocoHttpLoader implements TranslocoLoader {
	private readonly _httpBackend = inject(HttpBackend)

	private _httpClient: HttpClient

	// Using HttpBackend here fixes circualar dependency issues when adding AuthInterceptor
	constructor() {
		this._httpClient = new HttpClient(this._httpBackend)
	}

	getTranslation(lang: string) {
		return this._httpClient.get<Translation>(`/assets/i18n/${lang}.json`)
	}
}
