mavend/octoboard

View on GitHub
src/games/splendid/GameCard/GameCard.module.css

Summary

Maintainability
Test Coverage
.card,
.cardPlaceholder {
  border-radius: 15px !important;
  overflow: hidden;
  margin: 10px !important;
}

.cardPlaceholder {
  background-color: #f4f6f9 !important;
  opacity: 0.4;
}

.topContent {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 35px;
  width: 100%;
  padding: 0px 0px 0px 11px !important;
  background-color: #f4f6f9 !important;
  font-size: 20px !important;
}

.topContent :global(.icon) {
  margin-bottom: 5px;
}

.imageBox {
  background-color: #f4f6f9;
  padding: 10px;
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.imageBox img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bottomContent {
  display: flex;
  justify-content: space-around;
  width: 100%;
  padding: 20px 5px !important;
}

.topContent::after,
.bottomContent::after {
  content: none !important;
}

.cardYellow .bottomContent {
  border-top-color: #f1c761 !important;
}
.cardRed .bottomContent {
  border-top-color: #af6268 !important;
}
.cardBlue .bottomContent {
  border-top-color: #5ec3d5 !important;
}

.actions {
  height: 70px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  transition: 0.8s opacity ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

:global(.visible) .actions {
  animation: fadeIn 0.8s;
}

.pointsBadge {
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: flex-start;
  width: 40px;
  height: 100%;
  border-bottom-left-radius: 15px;
  color: #fff;
  background-color: #37e055;
  font-weight: bold;
  font-size: 24px;
}

.small.card {
  width: 150px !important;
}

.small .imageBox {
  height: 100px;
}

.small .pointsBadge {
  width: 35px;
  font-size: 20px;
}

.highlighted.card {
  box-shadow: 0 3px 6px rgba(60, 172, 36, 0.67) !important;
}

.bonusCard {
  position: relative;
  width: 120px !important;
  height: 120px !important;
  border-radius: 15px !important;
  background-color: #f4f6f9 !important;
  overflow: hidden;
}

.bonusCard .topContent {
  display: flex;
  justify-content: flex-end;
  position: absolute;
  top: 0;
  height: 25px;
  background: none !important;
}

.bonusCard .pointsBadge {
  width: 30px;
  font-size: 18px;
}

.bonusCard .imageBox {
  padding: 10px 10px 20px !important;
}

.bonusCard .bottomContent {
  position: absolute;
  bottom: -20px;
  padding: 0 2px !important;
  border-top: none !important;
  transition: bottom 0.5s ease;
}

.bonusCard:hover .bottomContent {
  position: absolute;
  bottom: 0px;
}