régler problème avec les liens TRN
This commit is contained in:
@@ -42,17 +42,44 @@
|
||||
</div>
|
||||
<small class="form-text text-muted">Select all games you're signing in for.</small>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-4">
|
||||
<label for="trn_username"><i class="fas fa-chart-line"></i> TRN Username</label>
|
||||
<input type="text" id="trn_username" name="trn_username" value="{{ user.trn_username or '' }}" placeholder="Your Tracker Network username">
|
||||
<small class="form-text text-muted">Others can click your TRN to view your stats on tracker.gg.</small>
|
||||
|
||||
<!-- Gamertag inputs - will be shown when game is selected -->
|
||||
<div id="gamertag-section" style="display: none;">
|
||||
<hr class="section-divider">
|
||||
<h4 class="section-title"><i class="fas fa-chart-line"></i> Gamertags for TRN</h4>
|
||||
<p class="text-muted small">Enter your gamertag for each selected game to link to your Tracker Network profile.</p>
|
||||
|
||||
{% for game in esport_games %}
|
||||
{% set gamertag_data = user_gamertags.get(game) %}
|
||||
<div class="gamertag-input-row" data-game="{{ game }}" style="display: none; margin-bottom: 15px; padding: 15px; background: #f9fafb; border-radius: 8px;">
|
||||
<h5 style="margin-top: 0; margin-bottom: 10px;">{{ game }}</h5>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-6">
|
||||
<label for="gamertag_{{ game }}">Gamertag</label>
|
||||
<input type="text" id="gamertag_{{ game }}" name="gamertag_{{ game }}" value="{{ gamertag_data.gamertag if gamertag_data else '' }}" placeholder="Your {{ game }} gamertag">
|
||||
</div>
|
||||
{% if game_platforms.get(game) %}
|
||||
<div class="form-group col-6">
|
||||
<label for="platform_{{ game }}">Platform</label>
|
||||
<select id="platform_{{ game }}" name="platform_{{ game }}">
|
||||
<option value="">Select Platform</option>
|
||||
{% for platform in game_platforms[game] %}
|
||||
<option value="{{ platform }}" {% if gamertag_data and gamertag_data.platform == platform %}selected{% endif %}>{{ platform }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-4">
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-6">
|
||||
<label for="discord_username"><i class="fab fa-discord"></i> Discord Username</label>
|
||||
<input type="text" id="discord_username" name="discord_username" value="{{ user.discord_username or '' }}" placeholder="e.g. Name#1234">
|
||||
</div>
|
||||
<div class="form-group col-4">
|
||||
<div class="form-group col-6">
|
||||
<label for="league_os_profile"><i class="fas fa-link"></i> League OS Connection</label>
|
||||
<input type="text" id="league_os_profile" name="league_os_profile" value="{{ user.league_os_profile or '' }}" placeholder="League OS profile link or ID">
|
||||
</div>
|
||||
@@ -137,6 +164,45 @@
|
||||
</style>
|
||||
|
||||
<script>
|
||||
var GAME_PLATFORMS = {{ game_platforms|tojson }};
|
||||
|
||||
// Show/hide gamertag inputs when games are checked
|
||||
function toggleGamertagInputs() {
|
||||
var selectedGames = [];
|
||||
document.querySelectorAll('input[name="games"]:checked').forEach(function(cb) {
|
||||
selectedGames.push(cb.value);
|
||||
});
|
||||
|
||||
if (selectedGames.length > 0) {
|
||||
document.getElementById('gamertag-section').style.display = 'block';
|
||||
} else {
|
||||
document.getElementById('gamertag-section').style.display = 'none';
|
||||
}
|
||||
|
||||
document.querySelectorAll('.gamertag-input-row').forEach(function(row) {
|
||||
if (selectedGames.includes(row.dataset.game)) {
|
||||
row.style.display = 'block';
|
||||
} else {
|
||||
row.style.display = 'none';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Initialize on page load
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Set up event listeners for game checkboxes
|
||||
document.querySelectorAll('input[name="games"]').forEach(function(cb) {
|
||||
cb.addEventListener('change', toggleGamertagInputs);
|
||||
});
|
||||
|
||||
// Show gamertag inputs for already selected games
|
||||
toggleGamertagInputs();
|
||||
|
||||
{% if user.role == 'player' %}
|
||||
renderDisponibilityGrid();
|
||||
{% endif %}
|
||||
});
|
||||
|
||||
{% if user.role == 'player' %}
|
||||
// Generate time slots from 5pm (17:00) to 12am (24:00)
|
||||
var TIME_SLOTS = [];
|
||||
@@ -302,8 +368,6 @@ function clearDisponibilities() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', renderDisponibilityGrid);
|
||||
{% endif %}
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -54,17 +54,45 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-4">
|
||||
<label for="trn_username">TRN (Tracker Network) Username</label>
|
||||
<input type="text" id="trn_username" name="trn_username" value="{{ user.trn_username or '' }}" placeholder="Tracker Network username">
|
||||
|
||||
<!-- Gamertag inputs - will be shown when game is selected -->
|
||||
<div id="gamertag-section" style="display: none;">
|
||||
<hr class="section-divider">
|
||||
<h4 class="section-title"><i class="fas fa-chart-line"></i> Gamertags for TRN</h4>
|
||||
<p class="text-muted small">Enter gamertag for each selected game to link to Tracker Network.</p>
|
||||
|
||||
{% for game in esport_games %}
|
||||
{% set gamertag_data = user_gamertags.get(game) %}
|
||||
<div class="gamertag-input-row" data-game="{{ game }}" style="display: none; margin-bottom: 15px; padding: 15px; background: #f9fafb; border-radius: 8px;">
|
||||
<h5 style="margin-top: 0; margin-bottom: 10px;">{{ game }}</h5>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-6">
|
||||
<label for="gamertag_{{ game }}">Gamertag</label>
|
||||
<input type="text" id="gamertag_{{ game }}" name="gamertag_{{ game }}" value="{{ gamertag_data.gamertag if gamertag_data else '' }}" placeholder="Gamertag">
|
||||
</div>
|
||||
{% if game_platforms.get(game) %}
|
||||
<div class="form-group col-6">
|
||||
<label for="platform_{{ game }}">Platform</label>
|
||||
<select id="platform_{{ game }}" name="platform_{{ game }}">
|
||||
<option value="">Select Platform</option>
|
||||
{% for platform in game_platforms[game] %}
|
||||
<option value="{{ platform }}" {% if gamertag_data and gamertag_data.platform == platform %}selected{% endif %}>{{ platform }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-4">
|
||||
<label for="discord_username">Discord Username</label>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-6">
|
||||
<label for="discord_username"><i class="fab fa-discord"></i> Discord Username</label>
|
||||
<input type="text" id="discord_username" name="discord_username" value="{{ user.discord_username or '' }}" placeholder="e.g. Name#1234">
|
||||
</div>
|
||||
<div class="form-group col-4">
|
||||
<label for="league_os_profile">League OS Connection</label>
|
||||
<div class="form-group col-6">
|
||||
<label for="league_os_profile"><i class="fas fa-link"></i> League OS Connection</label>
|
||||
<input type="text" id="league_os_profile" name="league_os_profile" value="{{ user.league_os_profile or '' }}" placeholder="League OS profile link or ID">
|
||||
</div>
|
||||
</div>
|
||||
@@ -80,4 +108,39 @@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Show/hide gamertag inputs when games are checked
|
||||
function toggleGamertagInputs() {
|
||||
var selectedGames = [];
|
||||
document.querySelectorAll('input[name="games"]:checked').forEach(function(cb) {
|
||||
selectedGames.push(cb.value);
|
||||
});
|
||||
|
||||
if (selectedGames.length > 0) {
|
||||
document.getElementById('gamertag-section').style.display = 'block';
|
||||
} else {
|
||||
document.getElementById('gamertag-section').style.display = 'none';
|
||||
}
|
||||
|
||||
document.querySelectorAll('.gamertag-input-row').forEach(function(row) {
|
||||
if (selectedGames.includes(row.dataset.game)) {
|
||||
row.style.display = 'block';
|
||||
} else {
|
||||
row.style.display = 'none';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Initialize on page load
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Set up event listeners for game checkboxes
|
||||
document.querySelectorAll('input[name="games"]').forEach(function(cb) {
|
||||
cb.addEventListener('change', toggleGamertagInputs);
|
||||
});
|
||||
|
||||
// Show gamertag inputs for already selected games
|
||||
toggleGamertagInputs();
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -76,12 +76,20 @@
|
||||
<div class="detail-item">
|
||||
<span class="detail-label"><i class="fas fa-chart-line"></i> TRN (Tracker Network)</span>
|
||||
<span class="detail-value">
|
||||
{% if user.trn_username %}
|
||||
<a href="https://tracker.gg" target="_blank" rel="noopener noreferrer" class="trn-link">
|
||||
<i class="fas fa-external-link-alt"></i> {{ user.trn_username }}
|
||||
</a>
|
||||
{% if user.gamertags %}
|
||||
<div style="display: flex; flex-direction: column; gap: 8px;">
|
||||
{% for gamertag in user.gamertags %}
|
||||
<div>
|
||||
<span class="badge badge-esport" style="margin-right: 8px;">{{ gamertag.game }}</span>
|
||||
<a href="{{ gamertag.get_trn_url() }}" target="_blank" rel="noopener noreferrer" class="trn-link">
|
||||
<i class="fas fa-external-link-alt"></i> {{ gamertag.gamertag }}
|
||||
{% if gamertag.platform %}<small>({{ gamertag.platform }})</small>{% endif %}
|
||||
</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<span class="text-muted">Not connected</span>
|
||||
<span class="text-muted">Not connected</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user