Turneringsadmin
{#if activeTab() === 'overview'}

Översikt

Filtrera turneringar och öppna deras publika sidor.

{#if filteredOverview().length > 0}
{#each filteredOverview() as tournament (tournament.id)}

{tournament.game}

{tournament.title}

{#if tournament.tagline}

{tournament.tagline}

{/if} {#if tournament.start_at}

{formatDateTime(tournament.start_at) ?? tournament.start_at}

{/if}

{registrationSummary(tournament)}

Öppna sida {#if tournament.slug} Visa anmälningar {/if}
{/each}
{:else}

Inga turneringar hittades. Skapa en ny via fliken "Skapa ny".

{/if}
{:else if activeTab() === 'create'}

Skapa turnering

Fälten används även för att automatiskt bygga anmälningssidan.

Sektioner för anmälningssidan

{#if createState.form.sections.length === 0}

Lägg till sektioner som beskriver regler, format eller andra detaljer.

{:else}
{#each createState.form.sections as section, index (sectionKey(index))}
{/each}
{/if}

Anmälningsinställningar

Ställ in vad som krävs när spelare eller lag registrerar sig.

{#if createState.form.signup.mode === 'team'}
{/if}

Anmälningsfält

{#if createState.form.signup.entry_fields.length === 0}

Ange vilka uppgifter laget eller spelaren ska fylla i vid anmälan.

{:else}
{#each createState.form.signup.entry_fields as field, index (signupFieldKey(index, field))}
{/each}
{/if}
{#if createState.form.signup.mode === 'team'}

Spelaruppgifter

{#if createState.form.signup.participant_fields.length === 0}

Lägg till fält för varje spelare, t.ex. nick eller kontaktuppgifter.

{:else}
{#each createState.form.signup.participant_fields as field, index (signupFieldKey(index, field))}
{/each}
{/if}
{/if}
{#if createState.success} {createState.success} {:else if createState.error} {createState.error} {:else if createState.saving} Sparar… {:else} Förhandsgranska och spara turneringen. {/if}
{#if createState.form.title.trim()}

Förhandsvisning av anmälningssida

Visas för deltagare på /tournament/{createState.form.slug || 'slug'}.

{createState.form.game || 'Spel'}

{createState.form.title || 'Titel'}

{#if createState.form.tagline.trim()}

{createState.form.tagline}

{/if}
{#if createState.form.start_at}

Start {formatDateTime(new Date(createState.form.start_at).toISOString()) ?? ''}

{/if} {#if createState.form.location.trim()}

Plats: {createState.form.location}

{/if} {#if createState.form.description.trim()}

{createState.form.description}

{/if} {#if createState.form.sections.length > 0}
{#each payloadSections(createState.form.sections) as section, index (sectionKey(index))}

{section.title}

{section.body}

{/each}
{/if} {#if createState.form.contact.trim()}

Kontakt: {createState.form.contact}

{/if} {#if createState.form.signup.entry_fields.length > 0}

Anmälningsfält

    {#each createState.form.signup.entry_fields as field}
  • {field.label} · {field.field_type === 'text' ? 'Text' : field.field_type} {field.required ? '• obligatoriskt' : ''} {field.unique ? '• unikt' : ''}
  • {/each}
{/if} {#if createState.form.signup.mode === 'team' && createState.form.signup.participant_fields.length > 0}

Spelaruppgifter

    {#each createState.form.signup.participant_fields as field}
  • {field.label} · {field.field_type === 'text' ? 'Text' : field.field_type} {field.required ? '• obligatoriskt' : ''} {field.unique ? '• unikt' : ''}
  • {/each}
{/if}
{/if}
{:else}

Hantera turneringar

Välj en turnering i listan för att uppdatera innehållet.

{#if selectedTournamentInfo()} {@const selected = selectedTournamentInfo()!}

{registrationSummary(selected)}

{/if}

Sektioner

{#if manageState.form.sections.length === 0}

Inga sektioner ännu. Lägg till regler, format eller andra detaljer.

{:else}
{#each manageState.form.sections as section, index (sectionKey(index))}
{/each}
{/if}
{#if manageState.success} {manageState.success} {:else if manageState.error} {manageState.error} {:else if manageState.saving} Sparar… {:else} Ändringarna publiceras direkt. {/if}
{#if manageState.selectedId !== null} {/if}
{#if manageState.form.title.trim()}

Förhandsvisning av anmälningssida

Visas för deltagare på /tournament/{manageState.form.slug || 'slug'}.

{manageState.form.game || 'Spel'}

{manageState.form.title || 'Titel'}

{#if manageState.form.tagline.trim()}

{manageState.form.tagline}

{/if}
{#if manageState.form.start_at}

Start {formatDateTime(new Date(manageState.form.start_at).toISOString()) ?? ''}

{/if} {#if manageState.form.location.trim()}

Plats: {manageState.form.location}

{/if} {#if manageState.form.description.trim()}

{manageState.form.description}

{/if} {#if manageState.form.sections.length > 0}
{#each payloadSections(manageState.form.sections) as section, index (sectionKey(index))}

{section.title}

{section.body}

{/each}
{/if} {#if manageState.form.contact.trim()}

Kontakt: {manageState.form.contact}

{/if} {#if manageState.form.signup.entry_fields.length > 0}

Anmälningsfält

    {#each manageState.form.signup.entry_fields as field}
  • {field.label} · {field.field_type === 'text' ? 'Text' : field.field_type} {field.required ? '• obligatoriskt' : ''} {field.unique ? '• unikt' : ''}
  • {/each}
{/if} {#if manageState.form.signup.mode === 'team' && manageState.form.signup.participant_fields.length > 0}

Spelaruppgifter

    {#each manageState.form.signup.participant_fields as field}
  • {field.label} · {field.field_type === 'text' ? 'Text' : field.field_type} {field.required ? '• obligatoriskt' : ''} {field.unique ? '• unikt' : ''}
  • {/each}
{/if}
{/if} {#if manageState.selectedId !== null} {/if}
{/if}