diff --git a/client/assets/styles/instance.css b/client/assets/styles/instance.css index be711d78..54e1e149 100644 --- a/client/assets/styles/instance.css +++ b/client/assets/styles/instance.css @@ -5,7 +5,7 @@ .instance { display: grid; grid-template-columns: 1fr 1fr 1fr; - grid-template-rows: min-content min-content min-content min-content; + grid-template-rows: min-content min-content min-content 1fr; grid-template-areas: "top top info" @@ -148,13 +148,14 @@ .cryp-list { grid-area: cryps; - display: flex; - flex: 1 1 auto; + + display: grid; + grid-template-columns: 1fr 1fr 1fr; } .instance-cryp, .instance-cryp-active { display: grid; - grid-template-rows: min-content min-content min-content 250px min-content; + grid-template-rows: min-content min-content min-content 1fr min-content; grid-template-areas: "name " "skills " @@ -184,15 +185,11 @@ .cryp-list .avatar { grid-area: avatar; - display: flex; - flex: 1 1 auto; -} - -.cryp-list img { - justify-self: center; - grid-area: avatar; - min-width: 150px; - max-width: 250px; + object-fit: contain; + background-size: contain; + background-repeat: no-repeat; + background-position: center; + pointer-events: none; } .cryp-list .name { diff --git a/client/src/components/instance.cryps.jsx b/client/src/components/instance.cryps.jsx index 00b6a61a..3dc08ae6 100644 --- a/client/src/components/instance.cryps.jsx +++ b/client/src/components/instance.cryps.jsx @@ -3,7 +3,7 @@ const preact = require('preact'); const range = require('lodash/range'); const shapes = require('./shapes'); -const { SPECS, STATS, crypAvatar } = require('../utils'); +const { SPECS, STATS, instanceCryp } = require('../utils'); const actions = require('../actions'); const addState = connect( @@ -205,7 +205,7 @@ function Cryp(props) { return (
- {crypAvatar(cryp.name)} + {instanceCryp(cryp.name)}

{cryp.name}

hoverInfo(e, 'crypSkills')} > {skills} diff --git a/client/src/events.jsx b/client/src/events.jsx index 154ab042..57a45058 100644 --- a/client/src/events.jsx +++ b/client/src/events.jsx @@ -1,6 +1,5 @@ const toast = require('izitoast'); const eachSeries = require('async/eachSeries'); -const anime = require('animejs').default; const actions = require('./actions'); const { TIMES } = require('./constants'); @@ -16,26 +15,6 @@ function registerEvents(store) { if (!instance) ws.clearInstanceStateTimeout(); }); - - // // cryp animations - // function crypAnimations() { - // const cryps = document.querySelectorAll('img'); - // if (!cryps.length) return window.requestAnimationFrame(crypAnimations); - // return anime({ - // targets: 'img', - // translateX: () => anime.random(-20, 20), - // translateY: () => anime.random(0, -40), - // rotate: () => anime.random(-15, 15), - // duration: () => anime.random(5000, 6000), - // delay: () => anime.random(0, 1000), - // direction: 'alternate', - // easing: 'linear', - // loop: true, - // }); - // } - // setInterval(crypAnimations, 10000); - // crypAnimations(); - function setPing(ping) { store.dispatch(actions.setPing(ping)); } diff --git a/client/src/utils.jsx b/client/src/utils.jsx index 11be5c13..a933eedc 100644 --- a/client/src/utils.jsx +++ b/client/src/utils.jsx @@ -1,5 +1,6 @@ const preact = require('preact'); const get = require('lodash/get'); +const anime = require('animejs').default; const shapes = require('./components/shapes'); @@ -63,6 +64,16 @@ function crypAvatar(name) { ); } +function instanceCryp(name) { + return ( +
event.target.setAttribute('src', '/molecules/726.svg')} + /> + ); +} + const NULL_UUID = '00000000-0000-0000-0000-000000000000'; const STATS = { @@ -519,12 +530,27 @@ function convertItem(v) { // return; } +function animateCryp(id) { + return anime({ + targets: `#${id}`, + translateX: () => anime.random(-20, 20), + translateY: () => anime.random(0, -40), + rotate: () => anime.random(-15, 15), + duration: () => anime.random(5000, 6000), + delay: () => anime.random(0, 1000), + direction: 'alternate', + easing: 'linear', + loop: true, + }); +} + module.exports = { stringSort, convertItem, numSort, genAvatar, crypAvatar, + instanceCryp, requestAvatar, eventClasses, getCombatSequence,