import { FC, ReactNode } from "react";
import { useEntitiesStore } from "stores/entities.store";
import { shallow } from "zustand/shallow";
import {
RectProperties,
EllipseProperties,
TextProperties,
StaggeredTextProperties,
} from "./Primitives";
const PropertiesContainer: FC<{ children: ReactNode }> = ({ children }) => {
return (
{children}
);
};
const Properties = () => {
const { selectedEntity, entities, updateEntity } = useEntitiesStore(
(store) => ({
updateEntity: store.updateEntity,
selectedEntity: store.selectedEntity,
entities: store.entities,
}),
shallow
);
const entity = selectedEntity !== undefined && entities[selectedEntity];
if (entity) {
switch (entity.type) {
case "StaggeredText":
return (
updateEntity(selectedEntity, entity)}
entity={entity}
/>
);
case "Text":
return (
updateEntity(selectedEntity, entity)}
entity={entity}
/>
);
case "Rect":
return (
updateEntity(selectedEntity, entity)}
entity={entity}
/>
);
case "Ellipse":
return (
updateEntity(selectedEntity, entity)}
entity={entity}
/>
);
default:
return null;
}
}
return (
Wähle ein Element aus
);
};
export { PropertiesContainer };
export default Properties;