{% extends "page.html" %} {% block extra_head %}
<script src="https://cdn.jsdelivr.net/npm/vega@5"></script>
<script src="https://cdn.jsdelivr.net/npm/vega-lite@5"></script>
<script src="https://cdn.jsdelivr.net/npm/vega-embed@6"></script>
{% endblock extra_head %} {% block content %}

<header>
  <figure>
    <h1 class="post-title">{{ page.title }}</h1>
    <figcaption>Work journal</figcaption>
  </figure>

  <details>
    <summary>Stats</summary>
    <table>
      <thead>
        <tr>
          <td>Month</td>
          <td>Hours</td>
        </tr>
      </thead>
      <tbody>
        {% for month, hours in page.metadata.worklog.monthly_hours.items() %}
        <tr>
          <td>{{ month }}</td>
          <td>{{ hours['payed'] }}</td>
        </tr>
        {% endfor %}
      </tbody>
    </table>
  </details>
</header>
<article>
  <div id="vis"></div>
  {{ page.content }}
</article>
<script>
   const spec = {
     "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
     "width": 500,
     "height": 200,
     "data":
       {
         "name": "table",
         "values": [
         {% for date, item in page.metadata.worklog.data.items() %}
           {"date": "{{ date }}", "series": "Worked", "count": {{ item['payed_hours'] }}},
         {% endfor %}
         ]
       }
     ,
     "mark": "bar",
     "encoding": {
       "x": {
         "timeUnit": {"unit": "", "utc": true},
         "field": "date",
         "axis": {"format": "%d/%m"},
         "title": "Date"
       },
       "y": {
         "aggregate": "sum",
         "field": "count",
         "title": "Hours",
       },
       "color": {
         "field": "series",
         "scale": {
           "domain": ["Worked"],
           "range": ["#1f77b4"]
         }
       }
     }
   };

  vegaEmbed("#vis", spec)
   	// result.view provides access to the Vega View API
     .then(result => console.log(result))
     .catch(console.warn);
</script>
{% endblock content %}
