website refactor

This commit is contained in:
2026-01-17 16:23:51 +01:00
parent 72a626ce71
commit 846667c3d1
27 changed files with 140 additions and 154 deletions

View File

@@ -1,3 +1,4 @@
import { injectable, unmanaged } from 'inversify';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { RacesApiClient } from '@/lib/api/races/RacesApiClient';
@@ -16,13 +17,18 @@ import { HomeDiscoveryViewModel } from '@/lib/view-models/HomeDiscoveryViewModel
* Returns raw API DTOs. No ViewModels or UX logic.
* All client-side presentation logic must be handled by hooks/components.
*/
@injectable()
export class LandingService implements Service {
private racesApi: RacesApiClient;
private leaguesApi: LeaguesApiClient;
private teamsApi: TeamsApiClient;
private authApi: AuthApiClient;
constructor(racesApi?: RacesApiClient, leaguesApi?: LeaguesApiClient, teamsApi?: TeamsApiClient) {
constructor(
@unmanaged() racesApi?: RacesApiClient,
@unmanaged() leaguesApi?: LeaguesApiClient,
@unmanaged() teamsApi?: TeamsApiClient
) {
const baseUrl = getWebsiteApiBaseUrl();
const logger = new ConsoleLogger();
const errorReporter = new EnhancedErrorReporter(logger, {