website refactor

This commit is contained in:
2026-01-14 10:51:05 +01:00
parent 4522d41aef
commit 0d89ad027e
291 changed files with 6887 additions and 3685 deletions

View File

@@ -0,0 +1,17 @@
import type { DriversLeaderboardDTO } from '@/lib/types/generated/DriversLeaderboardDTO';
import type { DriverLeaderboardItemDTO } from '@/lib/types/generated/DriverLeaderboardItemDTO';
import { DriverLeaderboardViewModel } from '@/lib/view-models/DriverLeaderboardViewModel';
/**
* DriversViewModelBuilder
*
* Transforms DriversLeaderboardDTO into DriverLeaderboardViewModel.
* Deterministic, side-effect free, no HTTP calls.
*/
export class DriversViewModelBuilder {
static build(apiDto: DriversLeaderboardDTO): DriverLeaderboardViewModel {
return new DriverLeaderboardViewModel({
drivers: apiDto.drivers,
});
}
}

View File

@@ -5,7 +5,7 @@
* Deterministic, side-effect free, no business logic.
*/
import { ForgotPasswordViewData } from '@/lib/builders/view-data/ForgotPasswordViewDataBuilder';
import { ForgotPasswordViewData } from '@/lib/builders/view-data/types/ForgotPasswordViewData';
import { ForgotPasswordViewModel, ForgotPasswordFormState } from '@/lib/view-models/auth/ForgotPasswordViewModel';
export class ForgotPasswordViewModelBuilder {

View File

@@ -5,7 +5,7 @@
* Deterministic, side-effect free, no business logic.
*/
import { LoginViewData } from '@/lib/builders/view-data/LoginViewDataBuilder';
import { LoginViewData } from '@/lib/builders/view-data/types/LoginViewData';
import { LoginViewModel, LoginFormState, LoginUIState } from '@/lib/view-models/auth/LoginViewModel';
export class LoginViewModelBuilder {

View File

@@ -5,7 +5,7 @@
* Deterministic, side-effect free, no business logic.
*/
import { ResetPasswordViewData } from '@/lib/builders/view-data/ResetPasswordViewDataBuilder';
import { ResetPasswordViewData } from '@/lib/builders/view-data/types/ResetPasswordViewData';
import { ResetPasswordViewModel, ResetPasswordFormState, ResetPasswordUIState } from '@/lib/view-models/auth/ResetPasswordViewModel';
export class ResetPasswordViewModelBuilder {

View File

@@ -5,7 +5,7 @@
* Deterministic, side-effect free, no business logic.
*/
import { SignupViewData } from '@/lib/builders/view-data/SignupViewDataBuilder';
import { SignupViewData } from '@/lib/builders/view-data/types/SignupViewData';
import { SignupViewModel, SignupFormState, SignupUIState } from '@/lib/view-models/auth/SignupViewModel';
export class SignupViewModelBuilder {