diff --git a/client/src/components/game.component.jsx b/client/src/components/game.component.jsx
index fe110229..e29837f3 100644
--- a/client/src/components/game.component.jsx
+++ b/client/src/components/game.component.jsx
@@ -1,5 +1,5 @@
const preact = require('preact');
-const { STATS, eventClasses, getCombatText, constructAvatar } = require('../utils');
+const { STATS, eventClasses, getCombatText, ConstructAvatar } = require('../utils');
// const { animationDivs } = require('../animations');
const GameConstruct = require('./game.construct');
const shapes = require('./shapes');
@@ -164,7 +164,7 @@ function GamePanel(props) {
selectSkillTarget(construct.id)} >
- {constructAvatar(construct.name, construct.id)}
+
{combatTextEl}
diff --git a/client/src/components/game.construct.jsx b/client/src/components/game.construct.jsx
index a12d231f..27683c93 100644
--- a/client/src/components/game.construct.jsx
+++ b/client/src/components/game.construct.jsx
@@ -3,7 +3,7 @@ const preact = require('preact');
const range = require('lodash/range');
const actions = require('../actions');
-const { STATS, eventClasses, getCombatText, constructAvatar } = require('../utils');
+const { STATS, eventClasses, getCombatText, ConstructAvatar } = require('../utils');
const { animationDivs } = require('../animations');
const shapes = require('./shapes');
@@ -105,7 +105,7 @@ function GameConstruct(props) {
selectSkillTarget(construct.id)} >
- {constructAvatar(construct.name, construct.id)}
+
{combatTextEl}
{anim}
diff --git a/client/src/components/list.jsx b/client/src/components/list.jsx
index 778f9e11..203b7789 100644
--- a/client/src/components/list.jsx
+++ b/client/src/components/list.jsx
@@ -1,7 +1,7 @@
const { connect } = require('preact-redux');
const preact = require('preact');
-const { stringSort, NULL_UUID, COLOURS, constructAvatar } = require('./../utils');
+const { stringSort, NULL_UUID, COLOURS, ConstructAvatar } = require('./../utils');
const actions = require('./../actions');
const InstanceCreateForm = require('./instance.create.form');
@@ -118,7 +118,7 @@ function List(args) {
- {constructAvatar(construct.name, construct.id)}
+
{construct.name}
);
diff --git a/client/src/components/team.jsx b/client/src/components/team.jsx
index 0acb1b3f..08772138 100644
--- a/client/src/components/team.jsx
+++ b/client/src/components/team.jsx
@@ -4,7 +4,7 @@ const range = require('lodash/range');
const actions = require('./../actions');
const { COLOURS } = require('./../utils');
-const { stringSort, constructAvatar } = require('./../utils');
+const { stringSort, ConstructAvatar } = require('./../utils');
const SpawnButton = require('./spawn.button');
const idSort = stringSort('id');
@@ -86,7 +86,7 @@ function Team(args) {
className="menu-construct"
style={ { 'border-color': borderColour || 'whitesmoke' } }
onClick={() => selectConstruct(construct.id)} >
- {constructAvatar(construct.name, construct.id)}
+
{construct.name}
);
diff --git a/client/src/utils.jsx b/client/src/utils.jsx
index 004a419d..bb57e8e7 100644
--- a/client/src/utils.jsx
+++ b/client/src/utils.jsx
@@ -1,4 +1,5 @@
const preact = require('preact');
+const { Component } = require('preact');
const get = require('lodash/get');
const anime = require('animejs').default;
@@ -78,20 +79,25 @@ function clearAnimation(id) {
animations[id] = false;
}
-function constructAvatar(name, id) {
- // useEffect(() => {
- // animateConstruct(id);
- // return () => clearAnimation(id);
- // });
+class ConstructAvatar extends Component {
+ render() {
+ return (
+
event.target.setAttribute('src', '/molecules/726.svg')}
+ />
+ );
+ }
- return (
-
event.target.setAttribute('src', '/molecules/726.svg')}
- />
- );
+ componentDidMount() {
+ animateConstruct(this.props.id);
+ }
+
+ componentDidUnmount() {
+ clearAnimation(this.props.id);
+ }
}
function instanceConstruct(name, id) {
@@ -100,6 +106,8 @@ function instanceConstruct(name, id) {
// return () => clearAnimation(id);
// });
+ setTimeout(() => animateConstruct(id), 50);
+
return (
{
- // animateConstruct(id);
- // return () => clearAnimation(id);
- // });
-
- return (
-
selectSkillTarget(id)}
- style={{ 'background-image': `url(/molecules/${genAvatar(name)}.svg)` }} >
- {combatTextEl}
-
- );
-}
-
const NULL_UUID = '00000000-0000-0000-0000-000000000000';
const STATS = {
@@ -459,9 +450,8 @@ module.exports = {
convertItem,
numSort,
genAvatar,
- constructAvatar,
+ ConstructAvatar,
instanceConstruct,
- gameConstructImg,
requestAvatar,
eventClasses,
getCombatSequence,