<%- include('head') %> <% if (admin) { %><% known.forEach(k => { %><% } %>

<%= lg.name %> – Session <%= gs.number %> (<%= gs.date %>)

← Standings

<% rounds.forEach(r => { %>

Round <%= r.round %>

<% r.matches.forEach(m => { %> <% }) %>
<%= m.p1 %> (<%= m.p1_deck || '?' %>) <% if (m.p2) { %><%= m.p2 %> (<%= m.p2_deck || '?' %>)<% } else { %>BYE<% } %> <%= m.p1_wins %>–<%= m.p2_wins %><%= m.draws ? '–' + m.draws : '' %>
<% }) %> <% if (!rounds.length && !results.length) { %>

No results yet.

<% } %> <% if (admin && players.length) { %>

Decks played

<% players.forEach(p => { %><% }) %>
PlayerDeck
<%= p.name %>
<% } %> <% if (results.length) { %>

Standings (imported)

<% results.forEach(r => { %><% }) %>
PlayerPointsW-D-LDeck
<%= r.name %><%= r.points %><%= r.rec %><%= r.deck || '' %>

If this session also has match rows, those are used for scoring instead.

<% } %> <% if (admin) { %>

Import Melee export

Upload the night's Melee exports (JSON or CSV): select every round's matches export and/or the standings export at once, or paste one. Re-importing a round replaces just that round; a standings export replaces the imported standings. Decks you've entered are kept. If anything in the batch is invalid, nothing is imported. If a session has matches, they are used for scoring.



Import matches by hand

One match per line: round, player1, deck1, player2, deck2, p1 wins, p2 wins, draws. Leave player 2 blank for a bye. Comma- or tab-separated. Saving replaces this session's matches; a blank deck keeps the one already entered.


<% } %>