<template>
  <div>
    <nav class='nav-bar container' id="nav">
      <div class='mobile-inner-nav' @click="scrollToTop()">
        <div class='item'>
          <a href="#" class="mobile-nav-button" @click.stop.prevent="toggleMobileSidebar()">
            <i class="button-icon icon-menu"></i>
          </a>
          <router-link class="site-name" :to="{ name: 'root' }" active-class="home">{{sitename}}</router-link>
        </div>
        <div class='item right'>
          <a class="mobile-nav-button" v-if="currentUser" href="#" @click.stop.prevent="openMobileNotifications()">
            <i class="button-icon icon-bell-alt"></i>
            <div class="alert-dot" v-if="unseenNotificationsCount"></div>
          </a>
        </div>
      </div>
    </nav>
    <div v-if="currentUser"
      class="mobile-notifications-drawer"
      :class="{ 'closed': !notificationsOpen }"
      @touchstart.stop="notificationsTouchStart"
      @touchmove.stop="notificationsTouchMove"
    >
      <div class="mobile-notifications-header">
        <span class="title">{{$t('notifications.notifications')}}</span>
        <a class="mobile-nav-button" @click.stop.prevent="closeMobileNotifications()">
          <i class="button-icon icon-cancel"/>
        </a>
      </div>
      <div class="mobile-notifications" @scroll="onScroll">
        <Notifications ref="notifications" :noHeading="true"/>
      </div>
    </div>
    <SideDrawer ref="sideDrawer" :logout="logout"/>
    <MobilePostStatusModal />
  </div>
</template>

<script src="./mobile_nav.js"></script>

<style lang="scss">
@import '../../_variables.scss';

.mobile-inner-nav {
  width: 100%;
  display: flex;
  align-items: center;
}

.mobile-nav-button {
  display: flex;
  justify-content: center;
  width: 50px;
  position: relative;
  cursor: pointer;
}

.alert-dot {
  border-radius: 100%;
  height: 8px;
  width: 8px;
  position: absolute;
  left: calc(50% - 4px);
  top: calc(50% - 4px);
  margin-left: 6px;
  margin-top: -6px;
  background-color: $fallback--cRed;
  background-color: var(--badgeNotification, $fallback--cRed);
}

.mobile-notifications-drawer {
  width: 100%;
  height: 100vh;
  overflow-x: hidden;
  position: fixed;
  top: 0;
  left: 0;
  box-shadow: 1px 1px 4px rgba(0,0,0,.6);
  box-shadow: var(--panelShadow);
  transition-property: transform;
  transition-duration: 0.25s;
  transform: translateX(0);
  z-index: 1001;
  -webkit-overflow-scrolling: touch;

  &.closed {
    transform: translateX(100%);
  }
}

.mobile-notifications-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1;
  width: 100%;
  height: 50px;
  line-height: 50px;
  position: absolute;
  color: var(--topBarText);
  background-color: $fallback--fg;
  background-color: var(--topBar, $fallback--fg);
  box-shadow: 0px 0px 4px rgba(0,0,0,.6);
  box-shadow: var(--topBarShadow);

  .title {
    font-size: 1.3em;
    margin-left: 0.6em;
  }
}

.mobile-notifications {
  margin-top: 50px;
  width: 100vw;
  height: calc(100vh - 50px);
  overflow-x: hidden;
  overflow-y: scroll;

  color: $fallback--text;
  color: var(--text, $fallback--text);
  background-color: $fallback--bg;
  background-color: var(--bg, $fallback--bg);

  .notifications {
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    .panel {
      border-radius: 0;
      margin: 0;
      box-shadow: none;
    }
    .panel:after {
      border-radius: 0;
    }
    .panel .panel-heading {
      border-radius: 0;
      box-shadow: none;
    }
  }
}

</style>