JSFiddle - React, Tailwind, and code Playground

HTML

<div class="container1 ">
  <div class="curtain1">
    <div class="ratio-keeper">
      <div class="panel-left"></div>
      <div class="panel-right"></div>
      <div class="wrap embed-youtube">
        <div class="video embed-youtube" data-id="djV11Xbc914">
        </div>
        <button class="playa embed-youtube-play" type="button" aria-label="Open"></button>
      </div>
    </div>
    <div class="exit"></div>
  </div>
</div>
<div class="container2 hide">
  <div class="container ">
    <div class="header">
      <div class="ratio-keeper2"></div>
    </div>
    <div class="curtain">
      <div class="ratio-keeper">
        <div class="one-left"></div>
        <div class="one-right"></div>
        <div class=" embed-youtube">
          <div class="video embed-youtube" data-id="djV11Xbc914">
          </div>
          <button class="playb embed-youtube-play" type="button" aria-label="Open"></button>
        </div>
      </div>
    </div>
    <div class="curtain">
      <div class="ratio-keeper">
        <div class="two-left"></div>
        <div class="two-right"></div>
        <div class=" embed-youtube">
          <div class="video embed-youtube" data-id="djV11Xbc914">
          </div>
          <button class="playc embed-youtube-play" type="button" aria-label="Open"></button>
        </div>
      </div>
    </div>
    <div class="curtain">
      <div class="ratio-keeper">
        <div class="three-left"></div>
        <div class="three-right"></div>
        <div class="embed-youtube">
          <div class="video embed-youtube" data-id="djV11Xbc914">
          </div>
          <button class="playd embed-youtube-play" type="button" aria-label="Open"></button>
        </div>
      </div>
    </div>
    <div class="curtain">
      <div class="ratio-keeper">
        <div class="four-left"></div>
        <div class="four-right"></div>
        <div class="embed-youtube">
          <div class="video embed-youtube" data-id="djV11Xbc914">
          </div>
         ...

CSS

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

.embed-youtube.active .embed-youtube-play{
  display: none;
}



.container1 {
  position: absolute;
  left: 0;
  right: 0;
  min-height: 100%;
  min-width: 255px;
  display: flex;
  padding: 8px 8px;
}



.curtain1 {
  flex: 1 0 0;
  margin: auto;
  max-width: 640px;
  border: 21px solid;
  border-radius: 3.2px;
  border-color: #000 #101010 #000 #101010;
  position: relative;
}

.curtain1::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: #0a0a0a;
  border: 1px solid;
  border-color: #000 #101010 #000 #101010;
  ;
}

.curtain1::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  outline: 1px solid #f91f6e;
  pointer-events: none;
}

.curtain.slide::after {
  outline: 1px solid #0059dd;
  transition: outline 2s ease-in;
  /*  add this */
  /*background-image: none;*/
}

.panel-left,
.panel-right {
  position: absolute;
  height: 100%;
  width: 50%;
  top: 0%;
  transition: all 8s ease;
  transition-delay: 300ms;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;

}

.panel-left {
  left: 0;
}

.panel-right {
  right: 0;
}

.panel-left::before,
.panel-right::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 200%;
  background: url("https://img.youtube.com/vi/djV11Xbc914/maxresdefault.jpg");
  background-position: 0 0;
  background-size: cover;
  background-repeat: no-repeat;
}

.panel-right::before {
  left: -100%;
}

.curtain1.slide .panel-left {
  transform: translateX(calc(-100% - 1px));
}

.curtain1.slide .panel-right {
  transform: translateX(calc(100% + 1px));
}

.ratio-keeper2 {
  position: relative;
  height: 0;
  padding-top: 42.85%;
  margin: auto;
}

.header {
  margin: auto auto 20px;
  max-width: 640px;
  border: 21px solid;
  border-radius: 12px;
  border-color: #000 #101010 #000 #101010;
  position: relative;
  background:...

JavaScript

const manageCover = (function makeManageCover() {
  // const config = {};

  function showCover(playButton) {
    const cover = playButton.parentElement;
    cover.classList.add("active");
  }

  function openCurtain(curtain) {
    curtain.classList.add("slide");
  }

  function coverClickHandler(evt) {
    const cover = evt.currentTarget;
    showCover(cover);
    const curtain = evt.currentTarget.parentElement.parentElement.parentElement;
    openCurtain(curtain);
  }

  const covers = document.querySelectorAll(".embed-youtube-play");
  covers.forEach(function addHandler(cover) {
    cover.addEventListener("click", coverClickHandler);
  });

  function addClickToButtons(playButtons) {
    function playButtonHandler(playButton) {
      playButton.addEventListener("click", coverClickHandler);
    }
  }

  function addCoverHandler(coverSelector, handler) {
    const cover = document.querySelector(coverSelector);
    cover.addEventListener("click", handler);
  }

  function init( /*selectors*/ ) {
    //config.containers = document.querySelector(selectors.container);
    //const allContainers = document.querySelector(".container");
    //const playButtons = document.querySelector(selectors.playButton);
    //const allPlaybuttons = document.querySelector(".embed-youtube-play");
    addClickToButtons( /*allPlaybuttons*/ );
  }

  return {
    addCoverHandler,
    init
  };
}());

const manageUI = (function makeManageUI() {
  //const config = {};

  function show(el) {
    el.classList.remove("hide");
  }

  function hide(el) {
    el.classList.add("hide");
  }

  function exitClickHandler() {
    const thewrap = document.querySelector(".container2");
    show(thewrap);
    const cover = document.querySelector(".container1");
    hide(cover);
  }

  function addClickToExit(exitButtons) {
    exitButtons.forEach(function addExitButtonHandler(exitButtons) {
      exitButtons.addEventListener("click", exitClickHandler);
    });
  }

  function addExitHandlers(callback)...