JSFiddle - React, Tailwind, and code Playground

HTML

<!-- Slideshow container -->
        <div class="slideshow-container">

          <!-- Full-width images with number and caption text -->
          <div class="mySlides fade">
            <!-- <div class="numbertext">0 / 0</div> -->
            <a href="https://mp-primo.blogspot.com/vc1.0"><img src="https://4.bp.blogspot.com/-Wk87P43zoNM/W4LnuW-CLCI/AAAAAAAADLY/lkq5wShc8akQlXX1LaA33WH05lqFyoPcACLcBGAs/s1600/Poster.jpg" style="width:100%"/></a>
            <div class="text">Violet City: Violet Compound (1.0)</div>
          </div>

          <div class="mySlides fade">
            <a href="https://mp-primo.blogspot.com/vc1.0"><img src="https://drh1.img.digitalriver.com/DRHM/Storefront/Site/tk2rstar/images/promo/poe.jpeg" style="width:100%"/></a>
            <div class="text">GTA: V</div>
          </div>

          <div class="mySlides fade">
            <a href="https://primowarehouse.blogspot.com/2018/08/violet-city-violet-compound-10.html"><img src="https://drh2.img.digitalriver.com/DRHM/Storefront/Site/tk2rstar/images/promo/RDR2_ARTHUR_649XX352_V4.jpg" style="width:100%"/></a>
            <div class="text">Red Dead</div>
          </div>

          <div class="mySlides fade">
            <a href="https://mp-primo.blogspot.com/vc1.0"><img src="https://1.bp.blogspot.com/-Ia1XdPPcbKw/W4LnvVhIQuI/AAAAAAAADLc/1Ven4V95Pm8VldZNSGPTBaJsAFjLq2YQACLcBGAs/s1600/Poster_icon.jpg" style="width:100%"/></a>
            <div class="text">Violet City: Violet Compound (1.0)</div>
          </div>

          <!-- Next and previous buttons -->
          <a class="prev" onclick="plusSlides(-1)">&#10094;</a>
          <a class="next" onclick="plusSlides(1)">&#10095;</a>
        </div>

<!-- The dots/circles -->
<div style="text-align:center">
  <span class="dot" onclick="currentSlide(1)"></span> 
  <span class="dot" onclick="currentSlide(2)"></span> 
  <span class="dot" onclick="currentSlide(3)"></span> 
  <span class="dot" onclick="currentSlide(4)"></span> 
</div>

CSS

/* Start Slider */
    .slideshow-container {
        max-width: 1000px;
        position: relative;
        margin: auto;
    }
    /* Hide the images by default */
    .mySlides {
        display: none;
    }
    .mySlides img {
        width: 1000px;
        height: 540px;
    }
    /* Next & previous buttons */
    .prev, .next {
        cursor: pointer;
        position: absolute;
        top: 50%;
        width: auto;
        margin-top: -22px;
        padding: 16px;
        color: white;
        font-weight: bold;
        font-size: 18px;
        transition: 0.6s ease;
        border-radius: 0 3px 3px 0;
    }
    /* Position the "next button" to the right */
    .next {
        right: 0;
        border-radius: 3px 0 0 3px;
    }
    /* On hover, add a black background color with a little bit see-through */
    .prev:hover, .next:hover {
        background-color: rgba(0,0,0,0.8);
    }
    /* Caption text */
    .text {
        color: #f2f2f2;
        font-size: 16px;
        padding: 8px 12px;
        position: absolute;
        bottom: 20px;
        width: 100%;
        text-align: center;
        background-color: rgba(0, 0, 0, 0.5);
    }
    /* Number text (1/3 etc) */
    .numbertext {
        color: #f2f2f2;
        font-size: 12px;
        padding: 8px 12px;
        position: absolute;
        top: 0;
    }
    /* The dots/bullets/indicators */
    .dot {
        cursor: pointer;
        height: 15px;
        width: 15px;
        margin: 0 2px;
        background-color: #bbb;
        border-radius: 50%;
        display: inline-block;
        transition: background-color 0.6s ease;
    }
    .active, .dot:hover {
        background-color: #717171;
    }
    /* Fading animation */
    .fade {
        -webkit-animation-name: fade;
        -webkit-animation-duration: 1.5s;
        animation-name: fade;
        animation-duration: 1.5s;
    }
    @-webkit-keyframes fade {
        from {opacity: .4} 
        to {opacity: 1}
    }
    @keyframes fade {
  ...

JavaScript

var slideIndex = 0;
var slideSec = 3; // (sec)
var slideTime = slideSec * 1000;

// Next/previous controls
function plusSlides(n) {
    showSlides(slideIndex += n);
}

// Thumbnail image controls
function currentSlide(n) {
    showSlides(slideIndex = n);
}

function showSlides(n) {
    var i;
    var slides = document.getElementsByClassName('mySlides');
    var dots = document.getElementsByClassName('dot');
    if (n < 1) {slideIndex = slides.length}
    if (n > slides.length) {slideIndex = 1}
    if (slideIndex > slides.length) {slideIndex = 1}
    for (i = 0; i < slides.length; i++) {
        slides[i].style.display = 'none';
    }
    slideIndex++;
    for (i = 0; i < dots.length; i++) {
        dots[i].className = dots[i].className.replace(' active', '');
    }
    slides[slideIndex-1].style.display = 'block';
    dots[slideIndex-1].className += ' active';
}

showSlides(slideIndex+1);
setInterval(function(){showSlides(slideIndex)},slideTime);