website cleanup
This commit is contained in:
@@ -14,6 +14,7 @@ import { PenaltiesApiClient } from '../api/penalties/PenaltiesApiClient';
|
||||
import { PenaltyService } from './penalties/PenaltyService';
|
||||
import { ConsoleErrorReporter } from '../infrastructure/logging/ConsoleErrorReporter';
|
||||
import { ConsoleLogger } from '../infrastructure/logging/ConsoleLogger';
|
||||
import { LandingService } from './landing/LandingService';
|
||||
|
||||
// Services
|
||||
import { RaceService } from './races/RaceService';
|
||||
@@ -88,6 +89,23 @@ export class ServiceFactory {
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Legacy compatibility: older pages/components were written against a static ServiceFactory.
|
||||
* Prefer `useServices()` + react-query hooks.
|
||||
*/
|
||||
private static defaultInstance: ServiceFactory | null = null;
|
||||
|
||||
private static getDefaultInstance(): ServiceFactory {
|
||||
if (!this.defaultInstance) {
|
||||
this.defaultInstance = new ServiceFactory(process.env.NEXT_PUBLIC_API_BASE_URL || 'http://localhost:3001');
|
||||
}
|
||||
return this.defaultInstance;
|
||||
}
|
||||
|
||||
static getSponsorService(): SponsorService {
|
||||
return this.getDefaultInstance().createSponsorService();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create RaceService instance
|
||||
*/
|
||||
@@ -151,8 +169,8 @@ export class ServiceFactory {
|
||||
/**
|
||||
* Create LeagueMembershipService instance
|
||||
*/
|
||||
createLeagueMembershipService(): LeagueMembershipService {
|
||||
return new LeagueMembershipService(this.apiClients.leagues);
|
||||
createLeagueMembershipService(): LeagueMembershipService {
|
||||
return new LeagueMembershipService();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -279,4 +297,11 @@ export class ServiceFactory {
|
||||
createPenaltyService(): PenaltyService {
|
||||
return new PenaltyService(this.apiClients.penalties);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create LandingService instance (used by server components)
|
||||
*/
|
||||
createLandingService(): LandingService {
|
||||
return new LandingService(this.apiClients.races, this.apiClients.leagues, this.apiClients.teams);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user