<?xml version="1.0" encoding="utf-8"?>
<!--
  =====================================================
  Presentation Map — Sonos SMAPI (korgi-sonos)
  =====================================================
  Décrit l'affichage côté contrôleur Sonos (browse, search, now playing).
  Référence : https://docs.sonos.com/docs/presentation-map

  IMPORTANT : Sonos valide ce fichier via les self-tests.
  La structure doit être conforme à la spec Sonos.

  Servi sur GET /presentationMap
-->
<prePresentationMap type="Sonos">

  <!-- =====================================================
       BROWSE — affichage des containers et items
       ===================================================== -->
  <presentation>
    <Browse>
      <!-- Taille des items : "large" pour les ambiances (cover art visible) -->
      <BrowseItems size="large" />

      <!-- Container "root" : affiche les entrées principales -->
      <BrowsePage pageId="root">
        <BrowseItems size="large" />
      </BrowsePage>

      <!-- Container "ambiances" : liste des streams -->
      <BrowsePage pageId="ambiances">
        <BrowseItems size="large" />
      </BrowsePage>

      <!-- Container "daily" -->
      <BrowsePage pageId="daily">
        <BrowseItems size="large" />
      </BrowsePage>

      <!-- Container "selection" -->
      <BrowsePage pageId="selection">
        <BrowseItems size="large" />
      </BrowsePage>
    </Browse>

    <!-- =====================================================
         SEARCH — catégories de recherche
         ===================================================== -->
    <Search>
      <SearchCategories>
        <category id="stations" title="Ambiances Korgi" map="stations" />
      </SearchCategories>
    </Search>

    <!-- =====================================================
         NOW PLAYING — actions disponibles pendant la lecture
         ===================================================== -->
    <NowPlaying>
      <Actions>
        <!-- Rate (pouce haut/bas) — Sonos teste cette fonctionnalité -->
        <Action token="rate" title="Noter cette ambiance" />
        <!-- Info : affiche la description étendue -->
        <Action token="info" title="À propos" />
      </Actions>

      <!-- Métadonnées affichées dans Now Playing -->
      <InfoFields>
        <InfoField title="Ambiance" map="trackMetadata.album" />
        <InfoField title="Morceau" map="trackMetadata.trackTitle" />
        <InfoField title="Artiste" map="trackMetadata.artist" />
      </InfoFields>

      <!-- =====================================================
           RATINGS — configuration des notations
           Sonos self-test TestPresentationMapParsing::test_parse_ratings_config
           vérifie la présence de cette section.
           ===================================================== -->
      <Ratings>
        <!-- Type de rating supporté : "thumbs" (pouce haut/bas) -->
        <Rating type="thumbs" title="Noter cette ambiance" />
      </Ratings>
    </NowPlaying>
  </presentation>

</prePresentationMap>
