Mashtii

index.php

Jun 28th, 2025 (edited)
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 8.23 KB | None | 0 0
  1. <?php
  2. require_once 'config.php';
  3. ?>
  4. <html lang="pl">
  5. <head>
  6.     <meta charset="UTF-8" />
  7.     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  8.     <title>Broken Ranks - Timery Championów</title>
  9.     <link rel="stylesheet" href="style.css">
  10.   <link rel="icon" type="image/png" href="favicon.png">
  11. </head>
  12. <body class="main-content-area">
  13.    
  14.     <audio id="respawnSound" preload="auto"></audio>
  15.  
  16.     <!-- PRZYCISKI W LEWYM GÓRNYM ROGU -->
  17.     <div class="settings-buttons-left">
  18.         <button id="soundSettingsBtn">
  19.             <img src="https://api.iconify.design/solar/volume-loud-bold-duotone.svg?color=%231c1c1c" alt="Ikona dźwięku"> Ustaw dźwięk
  20.         </button>
  21.     </div>
  22.  
  23.     <!-- PRZYCISKI W PRAWYM GÓRNYM ROGU -->
  24.     <div class="settings-buttons-right">
  25.         <button id="backgroundSettingsBtn">
  26.             <img src="https://api.iconify.design/solar/gallery-wide-bold-duotone.svg?color=%231c1c1c" alt="Ikona tła"> Wybierz Tło
  27.         </button>
  28.         <button id="loginButton" onclick="toggleLoginModal()">🔐 Zaloguj się</button>
  29.         <!-- Kontener na przycisk użytkownika i dropdown -->
  30.         <div id="userMenuContainer" style="display: none;">
  31.             <button id="userButton">👤 Użytkownik</button>
  32.             <div id="userDropdown" class="dropdown-content">
  33.                 <button onclick="showTab('createGroupSection')">➕ Stwórz grupę</button>
  34.                 <button onclick="showTab('joinGroupSection')">➡️ Dołącz do grupy</button>
  35.                 <button onclick="logoutUser()">🚪 Wyloguj</button>
  36.             </div>
  37.         </div>
  38.     </div>
  39.  
  40.     <!-- GŁÓWNY KONTENER APLIKACJI (TIMERY) -->
  41.     <div class="container">
  42.         <h1>Timery Championów - Broken Ranks</h1>
  43.  
  44.         <!-- SEKCJA WYBORU AKTYWNEJ GRUPY DLA TIMERÓW wersja work -->
  45.      <!--   <div id="activeGroupSelectorContainer" style="display: block;" class="form-group">
  46.            <h3>Timery dla grupy: <strong id="activeGroupNameDisplay">Wybierz grupę</strong></h3>
  47.            <label for="groupSwitcherSelect">Przełącz grupę dla timerów:</label>
  48.            <select id="groupSwitcherSelect">
  49.                <option value="">-- Moje Lokalne Timery --</option>
  50.            </select>
  51.        </div>
  52.      -->
  53.      
  54.    <!--  
  55.      <div id="activeGroupSelectorContainer" style="display: none;" class="form-group">
  56.    <h3>Timery dla grupy: <strong id="activeGroupNameDisplay">Wybierz grupę</strong></h3>
  57.    <label for="groupSwitcherSelect">Przełącz grupę dla timerów:</label>
  58.    <select id="groupSwitcherSelect">
  59.        <option value="">-- Moje Lokalne Timery --</option>
  60.    </select>
  61. </div>
  62. -->
  63.      
  64. <div id="activeGroupSelectorContainer" style="display: none;">
  65.     <h3>Aktywne Timery dla:</h3>
  66.     <div id="group-switcher-tabs" class="group-tabs-container">
  67.         </div>
  68. </div>
  69.      
  70.      
  71.      
  72.      
  73.        
  74.         <!-- SEKCJA DODAWANIA TIMERÓW -->
  75.         <div class="form-group">
  76.             <label for="championSelect">Wybierz Championa:</label>
  77.             <select id="championSelect"></select>
  78.         </div>
  79.         <div class="form-group">
  80.             <label>
  81.                 <input type="checkbox" id="useCustomTime"> Użyj własnej godziny (Podaj czas zabicia) (HH:MM)
  82.             </label>
  83.             <input type="text" id="customTime" placeholder="np. 14:23" disabled />
  84.         </div>
  85.         <div class="button-center" style="margin-top:0;">
  86.             <button id="addButton">Dodaj Championa</button>
  87.         </div>
  88.  
  89.         <!-- SEKCJA AKTYWNYCH TIMERÓW -->
  90.         <h2>Aktywne Timery (<span id="currentTimerContext">Lokalne</span>)</h2>
  91.         <div id="timerList">
  92.             <p>Brak aktywnych timerów.</p>
  93.         </div>
  94.        
  95.     </div>
  96.  
  97.     <!-- SEKCJE ZARZĄDZANIA GRUPAMI (POKAZYWANE PO KLIKNIĘCIU W MENU USERA) -->
  98.     <div class="container" id="groupManagementContainer" style="display: none;">
  99.         <!-- Sekcja tworzenia grupy -->
  100.         <div id="createGroupSection" class="tab-content" style="display: none;">
  101.             <h3>Stwórz nową grupę</h3>
  102.             <div class="form-group">
  103.                 <label for="groupNameInput">Nazwa grupy:</label>
  104.                 <input type="text" id="groupNameInput" placeholder="Wpisz nazwę dla nowej grupy" />
  105.             </div>
  106.             <div class="button-center">
  107.                 <button onclick="createGroup()">Stwórz grupę</button>
  108.             </div>
  109.             <div id="groupInviteCodeDisplay" class="invite-code-display"></div>
  110.         </div>
  111.  
  112.         <!-- Sekcja dołączania do grupy -->
  113.         <div id="joinGroupSection" class="tab-content" style="display: none;">
  114.             <h3>Dołącz do istniejącej grupy</h3>
  115.             <div class="form-group">
  116.                 <label for="groupCodeInput">Kod zaproszenia:</label>
  117.                 <input type="text" id="groupCodeInput" placeholder="Wpisz kod zaproszenia grupy" />
  118.             </div>
  119.             <div class="button-center">
  120.                 <button onclick="joinGroup()">Dołącz do grupy</button>
  121.             </div>
  122.         </div>
  123.     </div>
  124.  
  125.     <!-- SEKCJA LISTY GRUP UŻYTKOWNIKA (ZAWSZE WIDOCZNA PO ZALOGOWANIU POD SELEKTOREM GRUPY) -->
  126.  
  127.  
  128.  
  129. <div class="container" id="userGroupsListSection">
  130.     <h2>Twoje Grupy</h2>
  131.     <div id="groupListContainer">
  132.         </div>
  133. </div>
  134.  
  135.  
  136.     <!-- MODALE -->
  137.  <div id="loginModal" class="modal">
  138.     <h2>Zaloguj się / Zarejestruj</h2>
  139.    
  140.        <div class="form-group">
  141.         <label for="loginNick">Nick</label>
  142.         <input type="text" id="loginNick" placeholder="Twoja unikalna nazwa" />
  143.     </div>
  144.     <div class="form-group">
  145.         <label for="loginPin">PIN (6 cyfr)</label>
  146.         <input type="password" id="loginPin" placeholder="●●●●●●" maxlength="6" pattern="[0-9]*" inputmode="numeric" />
  147.     </div>
  148.    
  149.     <p class="form-tip">
  150.         <img src="https://api.iconify.design/solar/danger-triangle-bold-duotone.svg?color=%23e9d8a6" alt="Ikona ostrzeżenia" style="width:1em; vertical-align: middle;">
  151.         Nick nie musi byc z gry, twoja decyzja, Pin koniecznie zapamietaj  
  152.     </p>
  153.    
  154.     <div class="modal-buttons">
  155.         <button onclick="registerUser()">Zarejestruj się</button>
  156.         <button onclick="loginUser()">Zaloguj</button>
  157.         <button onclick="toggleLoginModal()">Anuluj</button>
  158.     </div>
  159. </div>
  160.     <div id="soundModal" class="modal">
  161.         <h3>Ustawienia Dźwięku</h3>
  162.         <label for="soundSelect">Wybierz dźwięk powiadomienia:</label>
  163.         <select id="soundSelect">
  164.             <option value="/Sound/ding-36029.mp3">Ding</option>
  165.             <option value="/Sound/dogru-128492.mp3">Alarm</option>
  166.             <option value="/Sound/siren-128562.mp3">Powiadomienie</option>
  167.             <option value="custom">🎵 Własny plik</option>
  168.         </select>
  169.         <div id="customSoundContainer" style="margin-top: 10px; display: none;">
  170.             <input type="file" id="customSoundInput" accept="audio/mp3" />
  171.         </div>
  172.         <div class="modal-buttons">
  173.             <button id="saveSound">Zapisz</button>
  174.             <button id="cancelSound">Anuluj</button>
  175.         </div>
  176.     </div>
  177.  
  178.     <div id="backgroundModal" class="modal">
  179.         <h3>Wybierz Tło Aplikacji</h3>
  180.         <div id="background-options-container"></div>
  181.         <div class="modal-buttons">
  182.             <button id="saveBackground">Zapisz</button>
  183.             <button id="cancelBackground">Anuluj</button>
  184.         </div>
  185.     </div>
  186.  
  187.     <div class="footer">Stworzone do gry Broken Ranks</div>
  188.  
  189.  <script src="https://www.gstatic.com/firebasejs/9.6.1/firebase-app-compat.js"></script>
  190.     <script src="https://www.gstatic.com/firebasejs/9.6.1/firebase-auth-compat.js"></script>
  191.     <script src="https://www.gstatic.com/firebasejs/9.6.1/firebase-firestore-compat.js"></script>
  192.  
  193.     <script>
  194.       // Wstrzyknięcie konfiguracji z PHP do JavaScript
  195.       const firebaseConfig = <?php echo json_encode($firebaseConfig); ?>;
  196.  
  197.       // Inicjalizacja Firebase
  198.       firebase.initializeApp(firebaseConfig);
  199.      
  200.       const auth = firebase.auth();
  201.       const db = firebase.firestore();
  202.     </script>
  203.  
  204.     <script src="firebase.js"></script>
  205.     <script src="script.js"></script>
  206.    
  207. </body>
  208. </html>
Add Comment
Please, Sign In to add comment