metamaps/metamaps

View on GitHub
app/assets/stylesheets/mapcard.scss.erb

Summary

Maintainability
Test Coverage
/* Map Cards */

.map {
  display:inline-block;
  width:220px;
  height:340px;
  font-size: 12px;
  text-align: left;
  overflow: visible;
  background: #e8e8e8;
  border-radius:2px;
  margin:16px;
  box-shadow: 0px 3px 3px rgba(0,0,0,0.23), 0 3px 3px rgba(0,0,0,0.16);

  &.newMap {
    float: left;
    position: relative;

    &:hover {
      background: #dcdcdc;

      .newMapImage {
    background-position: 0 -72px;
      }
    }

    a {
      height: 340px;
      display: block;
      position: relative;
    }

    .newMapImage {
      display: block;
      width: 72px;
      height: 72px;
      background-image: url("<%= asset_data_uri('newmap_sprite.png') %>");
      background-repeat: no-repeat;
      background-position: 0 0;
      position: absolute;
      left: 50%;
      margin-left: -36px;
      top: 50%;
      margin-top: -36px;
    }

    span {
    font-family: 'din-regular', sans-serif;
    font-size: 18px;
    line-height: 22px;
    text-align: center;
    display: block;
    padding-top: 220px;
    }
  }

  .mapCard {
    position:relative;
    width:100%;
    height:308px;
    padding: 0 0 16px 0;
    color: #424242;

    &:hover {
      .dropdownMenu .menuToggle .circle {
        background-color: #FFF;
      }
      .dropdownMenu .menuToggle:hover .circle {
        background-color: #DDD;
      }

     .mainContent {
        filter: blur(2px);
      }

      .mapMetadata {
        display: block;
      }
    }

    .mapHasMapper, .mapHasConversation {
      position: absolute;
      top: 8px;
      left: 8px;
      min-width: 32px;
      min-height: 32px;

      &:hover {
        background-color: #FFF;
        border-radius: 2px;

        .mapperList {
          display: block;
        }
      }

      .mapperList {
        display: none;
        padding: 8px;
        list-style-type: none;

        li {
          &.live {
            height: 32px;
            padding-left: 32px;
            font-size: 16px;
          }

          img {
            width: 24px;
            height: 24px;
            border-radius: 12px;
            display: inline-block;
            vertical-align: middle;
          }
          span {
            padding-left: 10px;
            font-size: 14px;
          }
        }
      }
    }
    .mapHasMapper {
      background: url('<%= asset_path('junto.png') %>') no-repeat 4px 0;
    }
    .mapHasConversation {
      background: url('<%= asset_path('junto.gif') %>') no-repeat 4px 0;
    }

    .dropdownMenu {
      position: absolute;
      top: 8px;
      right: 8px;
      cursor: pointer;

      .menuToggle {
        width: 30px;
        height: 10px;

        .circle {
          display: inline-block;
          background-color: #454545;
          width: 6px;
          height: 6px;
          border-radius: 3px;
          margin: 2px;
        }

        &:hover .circle {
          background-color: #222;
        }
      }

      .menuItems {
        position: absolute;
        top: 18px;
        right: 0px;
        background: #FFF;
        border-radius: 2px;
        list-style-type: none;
        color: #454545;

        li {
          white-space: nowrap;
          padding: 6px;

          &:hover {
            background-color: #DDD;
          }
        }
      }
    }

    .mapScreenshot {
      width: 100%;
      height: 220px;
    }

    .mapScreenshot img {
      width: 100%;
    }

    .title {
      word-wrap: break-word;
      font-size:18px;
      line-height:22px;
      height: 71px;
      display:table;
      padding: 0 16px;
      font-family: 'din-regular', sans-serif;
      margin: 0 auto;

      .innerTitle {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
      }
    }

    .creatorAndPerm {
      padding: 8px;
    }

    .creatorImage {
      display: inline-block;
      border-radius: 16px;
      vertical-align: middle;
      width: 32px;
      height: 32px;
    }

    span.creatorName {
      margin-left: 8px;
      max-width: 162px;
      display: inline-block;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
      vertical-align: middle;
    }

    .creatorAndPerm.cardHasViewOnly span.creatorName {
      max-width: 95px;
    }

    .cardViewOnly {
      float: right;
      line-height: 32px;
      padding-right: 10px;
      color: #454545;
    }

    .scroll {
       display:block;
       font-family: helvetica, sans-serif;
       font-size: 12px;
       word-wrap: break-word;
       text-align: center;
       margin-top: 16px;
    }



    .mapMetadata {
      display: none;
      position: absolute;
      top: 0;
      left: 0;
      padding: 40px 20px 0;
      height: 300px;
      font-family: 'din-regular', sans-serif;
      font-size: 12px;
      color: #FFF;
      background: -moz-linear-gradient(top,  rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.43) 81%, rgba(0,0,0,0) 100%);
      background: -webkit-linear-gradient(top,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0.43) 81%,rgba(0,0,0,0) 100%);
      background: linear-gradient(to bottom,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0.43) 81%,rgba(0,0,0,0) 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 );
    }

    .metadataSection {
      padding: 16px 0;
      width: 90px;
      float: left;
      font-family: 'din-medium', sans-serif;
      text-align: center;

      div {
        background: url('<%= asset_path('metadata.png') %>') no-repeat;
        width: 32px;
        height: 32px;
        margin: 0 auto;
      }
      .numTopicsIcon {
        background-position: 0 -32px;
      }
      .numStarsIcon {
        background-position: 0 0;
      }
      .numSynapsesIcon {
        background-position: -32px -32px;
      }
      .numContributorsIcon {
        background-position: -32px 0;
      }
    }

  }
}