Ik ga dit nu als v46 oplossen op systeemniveau, niet alleen cosmetisch.
De kern wordt: teams krijgen een echte vaste relatie met maximaal 4 actieve spelers + reservebank, trainers/spelers krijgen een teamId dat mee-exporteert, mobiel slepen krijgt een touch/pointer-variant én tik-naar-team als fallback, en bij Socratische antwoorden tonen we alleen de mensen die werkelijk in déze observatie aanwezig zijn.
Voor de teamlogica maak ik één duidelijke regel:
4 actieve spelers per team, onbeperkte reservebank.
Als we een vijfde speler naar een vol team verplaatsen, vraagt het systeem welke van de vijf op reserve komt.
Team, actieve spelers, reserves én gekoppelde trainers worden allemaal als echte velden opgeslagen in de totale JSON en in observaties als snapshot.
Op mobiel werkt de teamindeling nu op drie manieren tegelijk: slepen met touch/pointer, klassiek drag-and-drop waar de browser dat ondersteunt, én de betrouwbare fallback tik speler → tik team. Daardoor zijn we niet meer afhankelijk van mobiel HTML5-slepen.
Een team heeft nu maximaal 4 actieve spelers. Als we een vijfde speler in een vol team plaatsen, vraagt het systeem wat er moet gebeuren: de nieuwe speler kan naar de reservebank, of we kiezen speler 1, 2, 3 of 4 om naar de reservebank te verplaatsen zodat de nieuwe speler actief wordt.
Teams bewaren nu expliciet:
team → baan → actieve spelers → reservespelers → trainers.
Deze informatie gaat mee in de volledige JSON. Ook observaties bewaren een snapshot met actieve spelers, reserves en gekoppelde trainers, zodat een teamwijziging volgende week een oude observatie niet verandert.
Bij trainers en spelers is de teamrelatie nu ook onderdeel van hun profielgegevens. Een trainer kan een vast team hebben; een speler kan een vast team en gekoppelde trainers hebben. Handmatige trainer-spelerkoppelingen worden apart gehouden van koppelingen die automatisch uit het team ontstaan. Daardoor worden oude teamrelaties ook weer netjes verwijderd wanneer iemand naar een ander team verhuist.
Bij de Socratische vraag “Wie gaf het antwoord?” worden tijdens een actieve observatie voortaan alleen de aanwezigen getoond: de observerende trainer, lesgevende trainer, gekozen andere trainers, geselecteerde spelers en eventueel het gekozen team. Trainers en spelers die helemaal niet aanwezig zijn bij deze observatie verdwijnen uit die keuzelijst.
In Beheer → 🧩 Indelen staat nu een compacte mobiele teamindeling met de vijf teams tegelijk. Daar zien we ook direct trainers, vier actieve plaatsen en de reservebank.
Rechtsboven zijn bovendien − en + toegevoegd voor tekstgrootte. De standaard is iets groter dan voorheen; verkleinen stopt bij de bestaande minimumgrootte.