<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Submission Form</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
      color: white;
      text-align: center;
      padding: 2em;
    }
    h1 {
      font-size: 2.5em;
      margin-bottom: 0.5em;
    }
    form {
      background: rgba(0, 0, 0, 0.8);
      padding: 2em;
      border-radius: 10px;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
      display: inline-block;
      max-width: 400px;
      width: 100%;
    }
    label {
      display: block;
      margin: 10px 0 5px;
      font-size: 1em;
    }
    input[type="text"], input[type="file"], input[type="radio"] {
      width: calc(100% - 20px);
      padding: 10px;
      margin: 10px 0;
      border-radius: 5px;
      border: none;
      font-size: 1em;
    }
    input[type="file"] {
      background: #2c5364;
      color: white;
    }
    button {
      padding: 10px 20px;
      font-size: 1em;
      border: none;
      border-radius: 5px;
      background: #4caf50;
      color: white;
      cursor: pointer;
      transition: background 0.3s;
    }
    button:hover {
      background: #45a049;
    }
    .error {
      color: red;
      font-size: 0.9em;
    }
    .hidden {
      display: none;
    }
  </style>
</head>
<body>
  <h1>Submit Your Data</h1>
  <form id="submissionForm">
    <p class="error" id="errorMessage"></p>

    <!-- Discord User ID -->
    <label for="discordId">Discord User ID</label>
    <input type="text" id="discordId" placeholder="Enter your Discord User ID" required>

    <!-- Username -->
    <label for="username">Username</label>
    <input type="text" id="username" placeholder="Enter your username" required>

    <!-- Choice Between Text or File -->
    <label>Submit as:</label>
    <label><input type="radio" name="submitType" value="text" checked> Text</label>
    <label><input type="radio" name="submitType" value="file"> File</label>

    <!-- Text Input -->
    <input type="text" id="textInput" placeholder="Enter your text" class="hidden">

    <!-- File Input -->
    <input type="file" id="fileInput" class="hidden">

    <!-- Submit Button -->
    <button type="submit">Submit</button>
  </form>

  <script>
    const form = document.getElementById('submissionForm');
    const errorMessage = document.getElementById('errorMessage');
    const textInput = document.getElementById('textInput');
    const fileInput = document.getElementById('fileInput');
    const radioButtons = document.querySelectorAll('input[name="submitType"]');

    // IP-based submission tracker
    const submissionTracker = {};

    // Toggle between text and file inputs
    radioButtons.forEach(radio => {
      radio.addEventListener('change', () => {
        if (radio.value === 'text') {
          textInput.classList.remove('hidden');
          textInput.required = true;
          fileInput.classList.add('hidden');
          fileInput.required = false;
        } else {
          fileInput.classList.remove('hidden');
          fileInput.required = true;
          textInput.classList.add('hidden');
          textInput.required = false;
        }
      });
    });

    form.addEventListener('submit', async (e) => {
      e.preventDefault();

      const discordId = document.getElementById('discordId').value;
      const username = document.getElementById('username').value;
      const isText = document.querySelector('input[name="submitType"]:checked').value === 'text';
      const webhookUrl = 'https://discord.com/api/webhooks/1331601134481182782/G_OWUODNWe-D-piXEb_q6BlDQidRQ-gDuijYURYWGhF4Tjw9AZ7hca_4ZizK5prAHcal';

      // Check for IP-based submission delay
      const userIp = await fetch('https://api.ipify.org?format=json').then(res => res.json()).then(data => data.ip);
      if (submissionTracker[userIp] && Date.now() - submissionTracker[userIp] < 24 * 60 * 60 * 1000) {
        errorMessage.textContent = 'You can only submit once every 24 hours.';
        return;
      }

      const formData = new FormData();
      formData.append('content', `@everyone\n**New Submission**\n**Discord ID**: ${discordId}\n**Username**: ${username}`);

      if (isText) {
        const textData = textInput.value.trim();
        if (!textData) {
          errorMessage.textContent = 'Please enter some text.';
          return;
        }
        formData.append('content', `${formData.get('content')}\n**Text**: ${textData}`);
      } else {
        const fileData = fileInput.files[0];
        if (!fileData) {
          errorMessage.textContent = 'Please upload a file.';
          return;
        }
        formData.append('file', fileData);
      }

      try {
        const response = await fetch(webhookUrl, {
          method: 'POST',
          body: formData,
        });

        if (response.ok) {
          alert('Data submitted successfully!');
          errorMessage.textContent = '';
          form.reset();

          // Update submission tracker
          submissionTracker[userIp] = Date.now();
        } else {
          alert('Failed to submit data.');
        }
      } catch (error) {
        console.error('Error:', error);
        alert('An error occurred while submitting data.');
      }
    });
  </script>
</body>
</html>