Skip to content

Commit

Permalink
Added Load call to avatareditorview, added onavatarconfigloaded stump…
Browse files Browse the repository at this point in the history
… to presenter
  • Loading branch information
Lizardguard committed Jan 9, 2025
1 parent be7dc64 commit 044b172
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export default class LoadAvatarConfigUseCase
) {}

async executeAsync(): Promise<void> {
console.log("LoadAvatarConfigUseCase.executeAsync");
let userDataEntities =
this.entityContainer.getEntitiesOfType(UserDataEntity);
if (userDataEntities.length === 0) {
Expand All @@ -34,18 +35,15 @@ export default class LoadAvatarConfigUseCase
return;
}

// TODO: actually load avatar config from backend
let avatarConfig = userDataEntities[0].avatar;
// load avatar config from backend
if (!userDataEntities[0].avatar) {
userDataEntities[0].avatar = new AvatarEntity();
let avatarConfig = await this.backend.getAvatarConfig(
avatarConfig = await this.backend.getAvatarConfig(
userDataEntities[0].userToken,
);

console.log(avatarConfig);
}

this.avatarPort.onAvatarConfigLoaded(
Object.assign({}, userDataEntities[0].avatar),
);
console.log("LoadAvatar:", avatarConfig);
this.avatarPort.onAvatarConfigLoaded(Object.assign({}, avatarConfig));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export default class UpdateAvatarConfigUseCase
newAvatarConfig,
);

//TODO: Post new (complete) avatar config to backend
//Post new (complete) avatar config to backend
this.backend.updateAvatarConfig(
userDataEntities[0].userToken,
userDataEntities[0].avatar,
Expand Down
14 changes: 13 additions & 1 deletion src/Components/Core/Presentation/AvatarEditor/AvatarEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import IAvatarEditorController from "./IAvatarEditorController";
import AvatarEditorViewModel from "./AvatarEditorViewModel";
import useBuilder from "~ReactComponents/ReactRelated/CustomHooks/useBuilder";
import BUILDER_TYPES from "~DependencyInjection/Builders/BUILDER_TYPES";
import { useState } from "react";
import { useEffect, useState } from "react";
import MenuHeaderBar from "~ReactComponents/GeneralComponents/MenuHeaderBar/MenuHeaderBar";
import AvatarEditorCategoryTabButton from "./AvatarEditorCategories/AvatarEditorCategoryTabButton";
import {
Expand All @@ -17,6 +17,9 @@ import AvatarEditorPreview from "./AvatarEditorPreview/AvatarEditorPreview";
import AvatarEditorBodyCategory from "./AvatarEditorCategories/AvatarEditorCategoryContents/AvatarEditorBodyCategory";
import LoadingScreen from "~ReactComponents/GeneralComponents/LoadingScreen/LoadingScreen";
import LoadingScreenHomePageInformation from "~ReactComponents/GeneralComponents/LoadingScreen/LoadingScreenContent/LoadingScreenHomePageInformation";
import { useInjection } from "inversify-react";
import ILoadAvatarConfigUseCase from "../../Application/UseCases/LoadAvatarConfig/ILoadAvatarConfigUseCase";
import USECASE_TYPES from "~DependencyInjection/UseCases/USECASE_TYPES";

export default function AvatarEditor() {
const [viewModel, controller] = useBuilder<
Expand All @@ -27,6 +30,15 @@ export default function AvatarEditor() {
const [activeTab, setActiveTab] = useState<AvatarEditorCategory>(
OAvatarEditorCategory.HAIR,
);
const loadAvatarConfigUseCase = useInjection<ILoadAvatarConfigUseCase>(
USECASE_TYPES.ILoadAvatarConfigUseCase,
);

useEffect(() => {
if (!controller) return;
loadAvatarConfigUseCase.executeAsync();
console.log("AvatarEditor loaded");
}, [controller]);

if (!viewModel || !controller) return null;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import IAvatarEditorPresenter from "./IAvatarEditorPresenter";
import AvatarEditorViewModel from "./AvatarEditorViewModel";
import AvatarConfigTO from "../../Application/DataTransferObjects/AvatarConfigTO";

export default class AvatarEditorPresenter implements IAvatarEditorPresenter {
constructor(private viewModel: AvatarEditorViewModel) {}

onAvatarConfigLoaded(avatarConfig: AvatarConfigTO) {}
}
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
export default interface IAvatarEditorPresenter {}
import AvatarConfigTO from "../../Application/DataTransferObjects/AvatarConfigTO";
import IAvatarAdapter from "../../Application/Ports/AvatarPort/IAvatarAdapter";

export default interface IAvatarEditorPresenter extends IAvatarAdapter {
onAvatarConfigLoaded(avatarConfig: AvatarConfigTO): void;
}

0 comments on commit 044b172

Please sign in to comment.