automated push from the terminal

This commit is contained in:
Software Shinobi
2026-02-18 21:44:06 -05:00
parent 2218991ff6
commit 1588ad7d2a
2 changed files with 206 additions and 1744 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,213 +1,240 @@
{% load static %}
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Card Players Unite | The Lounge</title>
<link href="https://fonts.googleapis.com/css2?family=Sen:wght@400;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
:root {
--aria-gold: #4dbf00; /* Matching your theme brand color [cite: 113] */
--aria-dark: #151515; /* [cite: 121] */
--aria-surface: #1f1f1f;
}
<title> body {
font-family: 'Sen', sans-serif;
background-color: var(--aria-dark);
color: white;
margin: 0;
padding: 40px;
}
(shinobi test) Card Players Unite / card tournaments and events near you .header {
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 2px solid var(--aria-gold);
padding-bottom: 20px;
margin-bottom: 40px;
}
</title> .btn-gold {
background-color: var(--aria-gold);
color: white;
border: none;
padding: 12px 24px;
border-radius: 8px;
font-weight: bold;
cursor: pointer;
transition: transform 0.2s;
}
<link rel="stylesheet" href="{% static '/listing/listing.css' %}"> .btn-gold:hover {
transform: scale(1.05);
background-color: #3e9a00;
}
<meta charset="UTF-8"> /* Tournament Table Styling */
.tournament-grid {
width: 100%;
border-collapse: collapse;
background: var(--aria-surface);
border-radius: 12px;
overflow: hidden;
}
<meta http-equiv="X-UA-Compatible" content="IE=edge"> th, td {
padding: 18px;
text-align: left;
border-bottom: 1px solid #333;
}
<meta name="viewport" content="width=device-width, initial-scale=1.0"> th {
background-color: #2a2a2a;
color: var(--aria-gold);
text-transform: uppercase;
font-size: 0.8rem;
}
<link rel="stylesheet" href="/listing/listing.css"> /* Modal / Popup Box */
.modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.8);
justify-content: center;
align-items: center;
}
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&family=Sen:wght@400;700;800&display=swap" rel="stylesheet"> .modal-content {
background: var(--aria-surface);
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css"> padding: 40px;
border-radius: 15px;
</head> width: 400px;
border: 1px solid var(--aria-gold);
}
.form-group { margin-bottom: 20px; }
input, textarea {
width: 100%;
padding: 10px;
background: #111;
border: 1px solid #444;
color: white;
border-radius: 5px;
}
</style>
</head>
<body> <body>
<div class="navbar"> <div class="header">
<h1>Card Players Unite <small style="font-size: 0.5em; color: gray;">Tournament Management</small></h1>
<button class="btn-gold" onclick="toggleModal(true)">
<i class="fas fa-plus"></i> NEW TOURNAMENT
</button>
</div>
<div class="navbar-container"> <table class="tournament-grid">
<thead>
<tr>
<th>Tournament Name</th>
<th>Description</th>
<th>Buy-in (Price)</th>
<th>Status</th>
</tr>
</thead>
<tbody id="tournament-list">
</tbody>
</table>
<div class="logo-container"> <div id="createModal" class="modal">
<div class="modal-content">
<h1 class="logo"> <h2 style="color: var(--aria-gold);">Host a New Table</h2>
<form id="tournamentForm">
Card Players Unite <div class="form-group">
<label>Name</label>
</h1> <input type="text" id="name" required placeholder="High Roller Hold'em">
</div>
<div class="menu-container">
<ul class="menu-list">
<li class="menu-list-item active">Home</li>
<li class="menu-list-item">Tournaments</li>
<li class="menu-list-item">Teams</li>
<li class="menu-list-item">Login</li>
</ul>
</div>
<div class="profile-container">
<div class="toggle">
<i class="fas fa-moon toggle-icon"></i>
<i class="fas fa-sun toggle-icon"></i>
<div class="toggle-ball"></div>
</div> </div>
</div> <div class="form-group">
<label>Description</label>
<textarea id="description" rows="3" placeholder="No-limit stakes..."></textarea>
</div>
<div class="form-group">
<label>Price</label>
<input type="number" id="rental_price" step="0.01" value="999.99">
</div>
<input type="hidden" id="rented_user_id" value="0">
<div style="display: flex; gap: 10px;">
<button type="submit" class="btn-gold">START EVENT</button>
<button type="button" class="btn-gold" style="background:#444;" onclick="toggleModal(false)">CLOSE</button>
</div>
</form>
</div> </div>
</div> </div>
<div class="sidebar"> <script>
// Toggle the popup
function toggleModal(show) {
document.getElementById('createModal').style.display = show ? 'flex' : 'none';
}
<i class="left-menu-icon fas fa-home"></i> // Fetch and List Tournaments
async function fetchTournaments() {
const response = await fetch('/tournament/');
const data = await response.json();
const list = document.getElementById('tournament-list');
list.innerHTML = '';
<i class="left-menu-icon fas fa-users"></i> data.forEach(t => {
const row = `<tr>
<td><strong>${t.name}</strong></td>
<td>${t.description}</td>
<td>$${t.rental_price}</td>
<td>${t.rented_user_id === 0 ? 'AVAILABLE' : 'BOOKED'}</td>
</tr>`;
list.innerHTML += row;
});
}
<i class="left-menu-icon fas fa-bookmark"></i> // Create Tournament [cite: 150, 155]
document.getElementById('tournamentForm').addEventListener('submit', async (e) => {
e.preventDefault();
const payload = {
name: document.getElementById('name').value,
description: document.getElementById('description').value,
rental_price: parseFloat(document.getElementById('rental_price').value),
rented_user_id: parseInt(document.getElementById('rented_user_id').value)
};
<i class="left-menu-icon fas fa-tv"></i> const response = await fetch('/tournament/create/', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'X-CSRFToken': '{{ csrf_token }}' },
body: JSON.stringify(payload)
});
</div> if (response.ok) {
toggleModal(false);
fetchTournaments();
document.getElementById('tournamentForm').reset();
} else {
alert("The house always wins... but this time, your form failed.");
}
});
<div class="container"> // This function captures the form data and sends it to the house (the database)
async function saveTournament() {
// 1. Gather the intel from the form fields
const tournamentData = {
name: document.getElementById('name').value,
description: document.getElementById('description').value,
rental_price: parseFloat(document.getElementById('rental_price').value),
rented_user_id: 0 // Defaulting to 0 for available tables
};
<div class="content-container"> // 2. Place the bet (The POST request)
const response = await fetch('/tournament/create/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
// Ensure you handle CSRF if this is rendered via Django [cite: 95]
},
body: JSON.stringify(tournamentData)
});
<div class="featured-content" style="background: linear-gradient(to bottom, rgba(0,0,0,0), #151515), url('{% static 'listing/imagery/18.jpg' %}');"> if (response.ok) {
console.log("Record saved to the vault.");
// Refresh the list to show the new table
fetchTournaments();
} else {
console.error("The house declined the transaction.");
}
}
<p class="featured-desc"> // This listener waits for the user to hit 'START EVENT'
document.getElementById('tournamentForm').addEventListener('submit', async (e) => {
e.preventDefault(); // Keep the lounge smooth—no page reloads
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Iusto illo dolor deserunt nam assumenda ipsa eligendi dolore, ipsum id fugiat quo enim impedit, laboriosam omnis minima voluptatibus incidunt. Accusamus, provident. await saveTournament(); // This is the moment the record hits the database
});
</p>
<button class="featured-button">
LEARN MORE
</button>
</div>
<div class="movie-list-container"> // Initialize the floor
<h1 class="movie-list-title">Alll Tournaments</h1> fetchTournaments();
<div class="movie-list-wrapper"> </script>
<div class="movie-list">
<div class="movie-list-item">
<img class="movie-list-item-img" src="{% static '/listing/imagery/8.jpg' %}" alt="">
<span class="movie-list-item-title">Her</span>
<p class="movie-list-item-desc">Lorem ipsum dolor sit amet consectetur adipisicing elit. At
hic fugit similique accusantium.</p>
<button class="movie-list-item-button">Watch</button>
</div>
<div class="movie-list-item">
<img class="movie-list-item-img" src="{% static '/listing/imagery/9.jpg' %}" alt="">
<span class="movie-list-item-title">Her</span>
<p class="movie-list-item-desc">Lorem ipsum dolor sit amet consectetur adipisicing elit. At
hic fugit similique accusantium.</p>
<button class="movie-list-item-button">Watch</button>
</div>
<div class="movie-list-item">
<img class="movie-list-item-img" src="{% static '/listing/imagery/10.jpg' %}" alt="">
<span class="movie-list-item-title">Her</span>
<p class="movie-list-item-desc">Lorem ipsum dolor sit amet consectetur adipisicing elit. At
hic fugit similique accusantium.</p>
<button class="movie-list-item-button">Watch</button>
</div>
<div class="movie-list-item">
<img class="movie-list-item-img" src="{% static '/listing/imagery/11.jpg' %}" alt="">
<span class="movie-list-item-title">Her</span>
<p class="movie-list-item-desc">Lorem ipsum dolor sit amet consectetur adipisicing elit. At
hic fugit similique accusantium.</p>
<button class="movie-list-item-button">Watch</button>
</div>
<div class="movie-list-item">
<img class="movie-list-item-img" src="{% static '/listing/imagery/12.jpg' %}" alt="">
<span class="movie-list-item-title">Her</span>
<p class="movie-list-item-desc">Lorem ipsum dolor sit amet consectetur adipisicing elit. At
hic fugit similique accusantium.</p>
<button class="movie-list-item-button">Watch</button>
</div>
<div class="movie-list-item">
<img class="movie-list-item-img" src="{% static '/listing/imagery/1.jpg' %}" alt="">
<span class="movie-list-item-title">Her</span>
<p class="movie-list-item-desc">Lorem ipsum dolor sit amet consectetur adipisicing elit. At
hic fugit similique accusantium.</p>
<button class="movie-list-item-button">Watch</button>
</div>
<div class="movie-list-item">
<img class="movie-list-item-img" src="{% static '/listing/imagery/1.jpg' %}" alt="">
<span class="movie-list-item-title">Her</span>
<p class="movie-list-item-desc">Lorem ipsum dolor sit amet consectetur adipisicing elit. At
hic fugit similique accusantium.</p>
<button class="movie-list-item-button">Watch</button>
</div>
</div>
<i class="fas fa-chevron-right arrow"></i>
</div>
</div>
<div class="featured-content" style="background: linear-gradient(to bottom, rgba(0,0,0,0), #151515), url('{% static 'listing/imagery/7.jpg' %}');">
<img class="featured-title" src="{% static '/listing/imagery/f-t-2.png" alt="">
<p class="featured-desc">Lorem ipsum, dolor sit amet consectetur adipisicing elit. Iusto illo dolor
deserunt nam assumenda ipsa eligendi dolore, ipsum id fugiat quo enim impedit, laboriosam omnis
minima voluptatibus incidunt. Accusamus, provident.</p>
<button class="featured-button">111WATCH</button>
</div>
<div class="featured-content" style="background: linear-gradient(to bottom, rgba(0,0,0,0), #151515), url('{% static 'listing/imagery/6.jpg' %}');">
<img class="featured-title" src="{% static '/listing/imagery/f-t-2.png" alt="">
<p class="featured-desc">Lorem ipsum, dolor sit amet consectetur adipisicing elit. Iusto illo dolor
deserunt nam assumenda ipsa eligendi dolore, ipsum id fugiat quo enim impedit, laboriosam omnis
minima voluptatibus incidunt. Accusamus, provident.</p>
<button class="featured-button">WATCH</button>
</div>
<div class="featured-content" style="background: linear-gradient(to bottom, rgba(0,0,0,0), #151515), url('{% static 'listing/imagery/8.jpg' %}');">
<img class="featured-title" src="{% static '/listing/imagery/f-t-2.png" alt="">
<p class="featured-desc">Lorem ipsum, dolor sit amet consectetur adipisicing elit. Iusto illo dolor
deserunt nam assumenda ipsa eligendi dolore, ipsum id fugiat quo enim impedit, laboriosam omnis
minima voluptatibus incidunt. Accusamus, provident.</p>
<button class="featured-button">WATCH</button>
</div>
<div class="featured-content" style="background: linear-gradient(to bottom, rgba(0,0,0,0), #151515), url('{% static 'listing/imagery/9.jpg' %}');">
<img class="featured-title" src="{% static '/listing/imagery/f-t-2.png" alt="">
<p class="featured-desc">Lorem ipsum, dolor sit amet consectetur adipisicing elit. Iusto illo dolor
deserunt nam assumenda ipsa eligendi dolore, ipsum id fugiat quo enim impedit, laboriosam omnis
minima voluptatibus incidunt. Accusamus, provident.</p>
<button class="featured-button">WATCH</button>
</div>
</div>
</div>
<!--
<script src="{% static 'listing/listing.js' %}"></script>
<script src="{% static 'listing/features.js' %}"></script>
-->
</body> </body>
</html> </html>