Pokemon Picture - Tylung/vue-apuntes GitHub Wiki

Template

Se encuentran dos imagenes, una es la del pokemon con la clase hidden-pokemon que oculta el pokemon y solo muestra la silueta y la segunda imagen es el es pokemon normal sin la clase que lo oculta, solo se mostrara esta segunda si el usuario elige una opción

<div class="pokemon-container">
    <img
        v-if="!showPokemon"
        :src="imgSrc"
        class="hidden-pokemon"
        alt="pokemon">
    <img
        v-else
        :src="imgSrc"
        alt="pokemon"
        class="fade-in">
</div>

Script

En el export default se declaran 2 propiedades reactivas, el pokemonId que es de tipo Number y es required y el showPokemon que es de tipo Boolean, es required y por defecto es false

export default {
    props: {
        pokemonId: {
            type: Number, 
            required: true,
        },
        showPokemon: {
            type: Boolean,
            required: true,
            default: false
        }
    },
      computed: {
        imgSrc() {
            return `https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/dream-world/${ this.pokemonId }.svg` 
        }
    }
}

y también esta la propiedad computada que es el src de la imagen del pokemon, esta imagen recibe el pokemonId, para renderizar el pokemon que tiene que adivinar el usuario

Style

En los estilos solo centra la imagen, se le quita la posibilidad al usuario de arrastar o seleccionar la imagen para que no haga trampa y define la clase hidden-pokemon para ocultar la imagen y solo se muestre la silueta

<style scoped>
/* Pokemon Picture */
.pokemon-container {
    height: 200px;
    display: flex;
    justify-content: center;
}

img {
    height: 200px;
    position: absolute;
    user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
}

.hidden-pokemon {
    filter: brightness(0);
}

</style>
⚠️ **GitHub.com Fallback** ⚠️