модальные окна и вывод информации в них

по задумке должна быть однострочная страница с модальными окнами и разделами включая раздел профиля, я профили уже создал и всё настроил, но пока настраивал модальные окна запутался правильным выводом таблицы и самого профиля в соответствующем окне. Достаточно я пытался настроить для пока что для фронта.

function showWindow(windowNumber) {
            const windows = document.querySelectorAll('.window');
            windows.forEach(window => window.style.display = 'none');
            document.getElementById('window' + windowNumber).style.display = 'block';
        }

        function scanQRCode() {
            showWindow(3);
            // Здесь будет код для сканирования QR-кода.
        }

        function showProfileWindow() {
            showWindow('ProfileWindow');
            // Здесь будет код для загрузки профиля.
        }





    const profiles = {
        "12": {
            name: "Ив",
            age: 29,
            gender: "М",
            city: "М",
            profession: "т",
            company: "ООО \"Пр\"",
            education: "М",
            interests: "Пу",
            skills: "P",
            contacts: "i",
            avatar: ""
        },
        "8": {
            name: "а",
            age: 34,
            gender: "й",
            city: "рг",
            profession:""
            company: "с",
            education: "а",
            interests: "а",
            skills: "ma",
            contacts: "m",
            avatar: "я"
        },
        "1": {
            name: "ч",
            age: 40,
            gender: "й",
            city: "ск",
            profession: "к",
            company: "юс",
            education: "и",
            interests: "е",
            skills: "R, l",
            contacts: "m",
            avatar: "ей"
        }
    };

    function showWindow(windowNumber) {
        const windows = document.querySelectorAll('.window');
        windows.forEach(window => window.style.display = 'none');
        document.getElementById('window' + windowNumber).style.display = 'block';
    }

    function authenticate() {
        const iinInput = document.getElementById('iin-input').value;
        if (profiles[iinInput]) {
            const profile = profiles[iinInput];
            document.getElementById('name').innerText = profile.name;
            document.getElementById('age').innerText = profile.age;
            document.getElementById('gender').innerText = profile.gender;
            document.getElementById('city').innerText = profile.city;
            document.getElementById('profession').innerText = profile.profession;
            document.getElementById('company').innerText = profile.company;
            document.getElementById('education').innerText = profile.education;
            document.getElementById('interests').innerText = profile.interests;
            document.getElementById('skills').innerText = profile.skills;
            document.getElementById('contacts').innerText = profile.contacts;
            document.getElementById('avatar').src = profile.avatar;

            document.querySelector('.login-container').style.display = 'none';
            document.querySelector('.content').style.display = 'block';
        } else {
            alert('Неверный ИИН. Попробуйте снова.');
        }
    }

    function scanQRCode() {
        showWindow(3);
        // Здесь будет код для сканирования QR-кода.
    }

    function showProfileWindow() {
        showWindow(4);
    }


    // gsap.from('.message1', { opacity: 0, delay: 1, y: 30 });
    // gsap.from('.message2', { opacity: 0, delay: 2, y: 30 });
    // gsap.from('.banner__message button', { opacity: 0, delay: 3, y: 30 });
    let btnAnimation = () => {
      const tlMessageBtn = gsap.timeline({ defaults: { duration: .1 }, repeat: -1, repeatDelay: 3 });
      tlMessageBtn.to('.banner__message button', { rotate: 5 })
        .to('.banner__message button', { rotate: -5 })
        .to('.banner__message button', { rotate: 5 })
        .to('.banner__message button', { rotate: 0 });
      return tlMessageBtn;
    }

    let stepAnimation = () => {
      let tlStep = gsap.timeline({ defaults: { duration: 1 }, repeat: -1, repeatDelay: 1 });
      const steps = document.querySelectorAll('.step');
 
      let i = 0;
      steps.forEach(step => {
        let stepTimeLine = gsap.timeline({ defaults: { duration: 1 }, repeat: -1, repeatDelay: 4 });
        stepTimeLine.to(step, { y: -30 })
          .to(step, { y: 0, ease: "bounce.out" });
        tlStep.add(stepTimeLine, i > 0 ? '-=1.5': '0');
        i++;
      });
      

      return tlStep;
    }
    const tl = gsap.timeline({ defaults: { duration: .5 } });
    tl.from('.message1', { opacity: 0, y: 30 })
      .from('.message2', { opacity: 0, y: 30 })
      .from('.banner__message button', { opacity: 0, y: 30 })
      .add(btnAnimation);

    var sa = stepAnimation();
    const firstStep = document.querySelector('.steps');
    firstStep.addEventListener('mouseover', () => {
      sa.pause();
    });
    firstStep.addEventListener('mouseleave', () => {
      sa.resume();
    })
  /* Стили для кнопок */
  .icon-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
  }
  .icon-button img {
    width: 50px; /* Размер иконки */
    height: 50px;
  }
#window1 {
  display: flex;
    justify-content: center;
    align-items: center;
}
#window1 img {
  max-width: 100%;
    max-height: 100%;
}
  /* CSS для округления аватарки */
  #window4 img {
    border-radius: 50%; /* 50% скругления превращает изображение в круг */
    width: 150px; /* Вы можете настроить размер аватарки по вашему усмотрению */
    height: 150px;
  }

  body {
    margin: 0;
    padding: 0;
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    background-color: #FDF8E9;
  }

  #content {
    flex: 1;
    /* Добавим минимальную высоту, чтобы контент занимал хотя бы весь видимый экран */
    min-height: calc(100vh - 50px); /* 50px - высота футера */
  }

  #footer {
    background-color: white;
    color: white;
    text-align: center;
    padding: 20px;
    /* Фиксируем футер внизу экрана */
    margin-top: auto;
    display: flex;
    justify-content: space-evenly;

  }


  #tableContainer {
      max-width: 95%;
      height: 600px;
      overflow: auto;
  }

  table {
      border-collapse: collapse;
      width: 100%;
  }

  table, th, td {
      border: 1px solid black;
      padding: 8px;
  }
</style>
<style>
    body {
        font-family: Arial, sans-serif;
    }
    .profile-table, .content {
        display: none;
        width: 50%;
        margin: 20px auto;
        border-collapse: collapse;
    }
    th, td {
        border: 1px solid #000;
        padding: 10px;
        text-align: left;
    }
    th {
        background-color: #f2f2f2;
    }
    .login-container {
        text-align: center;
        margin-top: 50px;
    }
    .login-container input {
        padding: 10px;
        margin: 10px;
        font-size: 16px;
    }
    .avatar {
        display: block;
        margin: 20px auto;
        width: 150px;
        height: 150px;
        border-radius: 50%;
        object-fit: cover;
    }
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="modal.css">
<title>Дулати</title>

<script src="qr.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.16.9/xlsx.full.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mammoth/1.4.4/mammoth.browser.min.js"></script>
</head>
<body>

<!-- Контейнеры для окон -->
<div id="window1" class="window">
  <!-- Содержимое окна 1 -->
  
  <img src="https://i.imgur.com/6Luuxdw.png" alt="">
</div>

<div id="window2" class="window">
  <div class="content">
    <header>
      <div id="logo">
        <a href='/'>
          <img src="https://i.imgur.com/6Luuxdw.png" alt="">
        </a>
      </div>
      <nav>
      
     
  <script src="gsap-public/minified/gsap.min.js"></script>


   
</div>

<div id="window3" class="window">
    <div id="qr-reader"></div>
</div>

<div id="window4" class="window">
    <div class="login-container">
        <h1>Авторизация</h1>
        <label for="iin-input">Введите ИИН:</label>
        <input type="text" id="iin-input" placeholder="ИИН">
        <button onclick="authenticate()">Войти</button>
    </div>
    <div class="content">
        <h2 style="text-align: center;">Профиль пользователя</h2>
        <img id="avatar" class="avatar" src="" alt="Аватар">
        <table class="profile-table">
            <tr>
                <th>Атрибут</th>
                <th>Значение</th>
            </tr>
            <tr>
                <td>Имя</td>
                <td id="name"></td>
            </tr>
            <tr>
                <td>Возраст</td>
                <td id="age"></td>
            </tr>
            <tr>
                <td>Пол</td>
                <td id="gender"></td>
            </tr>
            <tr>
                <td>Город</td>
                <td id="city"></td>
            </tr>
            <tr>
                <td>Профессия</td>
                <td id="profession"></td>
            </tr>
            <tr>
                <td>Компания</td>
                <td id="company"></td>
            </tr>
            <tr>
                <td>Образование</td>
                <td id="education"></td>
            </tr>
            <tr>
                <td>Интересы</td>
                <td id="interests"></td>
            </tr>
            <tr>
                <td>Навыки</td>
                <td id="skills"></td>
            </tr>
            <tr>
                <td>Контакты</td>
                <td id="contacts"></td>
            </tr>
        </table>
    </div>
</div>

   
<div id="footer">
  <button class="icon-button" onclick="showWindow(1)">
    <img src="img/ig_Glav.png" alt="Окно 1">
  </button>
  <button class="icon-button" onclick="showWindow(2)">
    <img src="img/uchoba.png" alt="Окно 2">
  </button>
  <button class="icon-button" onclick="scanQRCode()">
    <img src="img/qr.png" alt="Окно 3">
  </button>
  <button class="icon-button" onclick="showProfileWindow()">
    <img src="img/prof_ic.png" alt="Профиль">
  </button>
</div>


</html>


Ответы (0 шт):