📄 MatDenDagen/Components/Pages/Home.razor
@page "/"
@using MatDenDagen.Models
@using MatDenDagen.Services
@inject DateService dateService
@layout MainLayout

<div class="home-content">
  <h1>Välkommen till Mat den <span class="highlight">dagen</span></h1>
  
  <div class="cookbook-intro card">
    <p>Vi delar recept och matupplevelser från en och samma dag.</p>
  </div>

  @if (dateSpan is null)
  {
    <div class="card">
      <p>Ingen datumspan är konfigurerad ännu. Kontakta administratören.</p>
    </div>
  }
  else
  {
    <div class="date-section card">
      <h2>Datumspan</h2>
      <p><span class="highlight">Dagen</span> kommer att inträffa någon gång mellan:</p>
      <div class="date-range">
        <span class="date-start"><code>@dateSpan.Start</code></span>
        <span class="date-separator">och</span>
        <span class="date-end"><code>@dateSpan.End</code></span>
      </div>

      @if (actualDate is null)
      {
        <p>Datumet för "the day" har inte slumpats ännu.</p>
      }
      else
      {
        <div class="date-reveal-container">
          <input type="checkbox" id="date-reveal-checkbox" class="date-reveal-checkbox" style="display: none;">
          <label for="date-reveal-checkbox" class="date-reveal-toggle">
            <span class="reveal-button">Avslöja dagen</span>
          </label>
          <div class="date-reveal-content">
            <h2><span class="highlight">Dagen</span> är den <code>@actualDate</code></h2>
            <p>Spara datumet i din almanacka och se fram emot en underbar matupplevelse!</p>
          </div>
        </div>
      }
    </div>
  }
  
  <div class="action-buttons">
    <a href="/submission" class="btn">Skicka in din mat</a>
  </div>
</div>

@code {
  private DateSpan? dateSpan { get; set; }
  private DateOnly? actualDate { get; set; }
    
  protected override async Task OnInitializedAsync()
  {
    dateSpan = await dateService.GetDateSpanAsync();
    actualDate = (await dateService.GetDateConfigAsync())?.TheDay;
  }
}