octane-website/public/suggestions.html

82 lines
3.4 KiB
HTML
Raw Normal View History

2026-07-08 11:05:21 +02:00
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Suggestions — Octane</title>
2026-07-08 14:24:23 +02:00
<script src="/js/theme-init.js"></script>
2026-07-08 11:05:21 +02:00
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<header class="app-header">
<nav id="main-nav"></nav>
</header>
<main>
<h1>Suggestions de morceaux</h1>
<p class="page-subtitle">Proposez un morceau et votez sur les suggestions des autres — chaque vote est nominatif.</p>
2026-07-08 11:05:21 +02:00
<div id="error"></div>
2026-07-08 14:46:48 +02:00
<div class="section-header">
<h2 style="margin:0">Toutes les suggestions</h2>
<div class="view-toggle">
<button type="button" class="view-toggle-btn active" id="view-toggle-list">Liste</button>
<button type="button" class="view-toggle-btn" id="view-toggle-swipe">Vote rapide</button>
</div>
2026-07-08 14:46:48 +02:00
</div>
<div id="add-suggestion-panel-wrap">
<div class="section-header">
<div></div>
<button type="button" class="secondary" id="toggle-add-suggestion">+ Proposer un morceau</button>
</div>
<div class="panel" id="add-suggestion-panel" style="display:none">
<form id="add-suggestion-form" class="stacked-form">
<div class="autocomplete-wrapper">
<label>Titre
<input name="title" id="suggestion-title-input" autocomplete="off" required>
</label>
<div class="autocomplete-dropdown" id="suggestion-title-dropdown" style="display:none"></div>
</div>
<label>Artiste <input name="artist" id="suggestion-artist-input"></label>
<label>Lien YouTube <input name="youtubeUrl" id="suggestion-youtube-input" type="url" required placeholder="https://youtube.com/watch?v=..."></label>
<label>Lien Spotify <input name="spotifyUrl" id="suggestion-spotify-input" type="url" placeholder="https://open.spotify.com/track/..."></label>
<label>Note / détails <textarea name="description" placeholder="Pourquoi ce morceau, difficulté, arrangement envisagé..."></textarea></label>
<p class="note" id="suggestion-link-status"></p>
<button type="submit">Proposer</button>
</form>
</div>
</div>
2026-07-08 11:05:21 +02:00
<div id="suggestions-list" class="card-grid"></div>
<div id="swipe-view" style="display:none">
<div class="swipe-header">
<span id="swipe-counter"></span>
<button type="button" class="secondary icon-btn" id="open-votes-modal">Voir mes votes</button>
</div>
<div class="swipe-stack" id="swipe-stack"></div>
<div class="swipe-controls">
<button type="button" class="swipe-btn reject" id="swipe-reject-btn" title="Rejeter">&#10008;</button>
<button type="button" class="swipe-btn approve" id="swipe-approve-btn" title="Approuver">&#10004;</button>
</div>
<p class="empty" id="swipe-empty" style="display:none">Tout est voté ! <button type="button" class="secondary icon-btn" id="swipe-empty-review-btn">Voir mes votes</button></p>
</div>
<div class="modal-overlay hidden" id="votes-modal-overlay">
<div class="modal card modal-wide">
<button type="button" class="modal-close icon-btn secondary" id="votes-modal-close">&times;</button>
<h2 style="margin-top:0">Mes votes</h2>
<div id="votes-modal-list"></div>
</div>
</div>
2026-07-08 11:05:21 +02:00
</main>
<script src="/js/api.js"></script>
<script src="/js/render.js"></script>
<script src="/js/nav.js"></script>
<script src="/js/autocomplete.js"></script>
2026-07-08 11:05:21 +02:00
<script src="/js/suggestions.js"></script>
</body>
</html>