JSFiddle - React, Tailwind, and code Playground

by Abdul Ahmad

HTML

<div class='messages-page'>
  <h2 class='page-title'>
    Messages
  </h2>
  <h3 class='section-title'>
    <span>Folders</span>
    <span class='actions'>+ New Folder</span>
  </h3>
  <section class='folders-wrapper'>
    <div class='folders'>
      <div class='folder lg'>
        Patient Messages
      </div>
      <div class='folder md'>
        Practice Messages
      </div>
      <div class='folder'>
        Scheduling Messages
      </div>
      <div class='folder'>
        Chris Messages
      </div>
      <div class='folder md'>
        Practice Messages
      </div>
      <div class='folder md'>
        Scheduling Messages
      </div>
      <div class='folder lg'>
        Chris Messages
      </div>
      <div class='folder lg'>
        Chris Messages
      </div>
    </div>
  </section>
  <h3 class='section-title'>
    <span>Messages</span>
    <span class='actions'>+ New Message</span>
  </h3>
  <section class='messages'>
    <div class='message'>
      <div>
        Message title
      </div>
      <div class='actions'>
        -  x
      </div>
    </div>
        <div class='message'>
      <div>
        Message title
      </div>
      <div class='actions'>
        -  x
      </div>
    </div>
        <div class='message'>
      <div>
        Message title
      </div>
      <div class='actions'>
        -  x
      </div>
    </div>
        <div class='message'>
      <div>
        Message title
      </div>
      <div class='actions'>
        -  x
      </div>
    </div>
  </section>
</div>

SCSS

body {
  margin: 0;
  font-family: Helvetica;
}

.page-title {
  font-size: 25px;
  font-weight: 100;
  margin-bottom: 40px;
}

.section-title {
  margin-top: 40px;
  font-size: 18px;
  font-weight: bold;
  
  display: flex;
  justify-content: space-between;
  align-items: center;
  
  .actions {
    font-weight: normal;
    font-size: 14px;
    color: #aaa;
  }
}

.messages-page {
  margin: 150px auto;
  max-width: 600px;
}

.folders-wrapper {
  padding-bottom: 30px;
  border-bottom: 1px solid #ddd;
  // border: 1px dashed red;
}

.folders {
  display: flex;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
}

.folder {
  flex: 1;
  padding: 20px;
  width: 100px;
  height: 50px;
  border-radius: 5px;
  background: white;
  border: 1px solid #ddd;
  line-height: 23px;
  display: inline-block;
  vertical-align: top;
  margin: 5px;
  
  &.lg {
    flex: 4;
  }
  
  &.md {
    flex: 2;
  }
}

.message {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-top: 1px solid #eee;
  
  &:first-child {
    border: 0;
  }
}