JSFiddle - React, Tailwind, and code Playground

HTML

<div class="container1 ">
  <div class="curtain1">
    <div class="ratio-keeper">
      <div class="video-one"></div>

      <div class="wrap embed-youtube ">

        <div class="video embed-youtube  " data-id="djV11Xbc914">

        </div>

        <button class="playa embed-youtube-play iframe" type="button" aria-label="Open"></button>
      </div>

    </div>

    <div class="exit"></div>
  </div>
</div>

<div class="container2 hide">
<div class="container3 ">
  <div class="container ">

    <div class="curtain">
      <div class="ratio-keeper">

        <div class="video-two"></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="video-three"></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="video-four"></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="video-five"></div>
        <div class="embed-youtube">
          <div class="video embed-youtube" data-id="djV11Xbc914">
          </div>
          <button class="playe embed-youtube-play" type="button" aria-label="Open"></button>
        </div>
      </div>
    </div>
    <div class="curtain">
      <div class="ratio-keeper">
        <div...

CSS

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

.container2 .container {
background:teal;
}

body {
  background: #302b63;
}

.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: 12px;
  border-color: #000 #101010 #000 #101010;
  position: relative;

}

.curtain1::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: radial-gradient(circle, transparent 0% 35%, #0a0a0a 35%);

  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;*/
}
.video-one {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  transition: all 8s ease-in 0s;
  transition-delay: 300ms;
  background:
    linear-gradient(45deg,
      #0000 7px,
      rgb(113, 121, 126) 0 7.5px,
      #0000 0 10px),
    linear-gradient(-45deg,
      #0000 7px,
      rgb(113, 121, 126) 0 7.5px,
      #0000 0 10px),
    url(https://i.imgur.com/ig4UO7B.jpg);
  background-position: 0 0, 0 0, 0 0;
  background-size: 10px 10px, 10px 10px, cover;
  background-repeat: repeat, repeat, no-repeat;
  filter: drop-shadow(0 0 5px #000);
  z-index: 1;
  pointer-events:none;
}

.curtain1.slide .video-one {
 /* transform: translateY(-100%);*/
  animation: fadeOut 2s ease-in 700ms forwards;
}

@keyframes fadeOut {
  to {
    opacity: 0;
  }
}




.container {
  position: absolute;
  left: 0;
  right: 0;
  min-height: 100%;
  padding: 8px 8px;
}

.curtain {
  margin: auto auto 20px;
  max-width:...

JavaScript

const manageCover = (function makeManageCover() {
    const config = {};
    const body = document.body;
    let currentPlayButton = {};
  
  function show(el) {
    el.classList.remove("hide");
  }

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


  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) {
        playButtons.forEach(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.querySelectorAll(selectors.container);
        const playButtons = document.querySelectorAll(selectors.playButton);
        addClickToButtons(playButtons);
    }
  
 // 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");
 ...