{% extends "base.html" %}
{% load static %}
{% load humanize %}
{% load naturalduration %}

{% block head_extra  %}
<style>
 .container { margin-bottom:100px; }
 h2 { padding-top:20px; }
 .image-wrapper {
    contain: content;
 }
 .image-wrapper :hover {
     background:rgba(0,0,0,0.3);
 }
 .caption {
     position: fixed;
     top: 5px;
     left: 5px;
     padding: 3px;
     font-size: 90%;
     color:white;
     background:rgba(0,0,0,0.4);
 }

 .caption-medium {
     position: fixed;
     top: 5px;
     left: 5px;
     padding: 3px;
     font-size: 75%;
     color:white;
     background:rgba(0,0,0,0.4);

 }
 .caption-small {
     position: fixed;
     top: 5px;
     left: 5px;
     padding: 3px;
     font-size: 60%;
     color:white;
     background:rgba(0,0,0,0.4);

 }
 .in-progress {
     background: #CCFFFF;
 }
 .in-progress a { color: black }
</style>
{% endblock %}
{% block content %}
<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4">
    <div
        class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
        <h1 class="h2">{% if date %}{{date|naturaltime}}{% else %}{{title}}{% endif %}</h1>
        <div class="btn-toolbar mb-2 mb-md-0">
            {% if user.is_authenticated %}
            <div class="btn-group me-2">
                <form action="/admin/" method="get">
                    <button type="submit" class="btn btn-sm btn-outline-secondary">
                        <span data-feather="key"></span>
                        Admin
                    </button>
                </form>
            </div>
            <div class="btn-group me-2">
                {% if user.profile.lastfm_username and not user.profile.lastfm_auto_import %}
                <form action="{% url 'scrobbles:lastfm-import' %}" method="get">
                    <button type="submit" class="btn btn-sm btn-outline-secondary">Last.fm Sync</button>
                </form>
                {% endif %}
                {% if prev_link %}
                <a type="button" class="btn btn-sm btn-outline-secondary" href="{{prev_link}}"
                    data-bs-target="#">Previous</a>
                {% endif %}
                {% if today_link %}
                <a type="button" class="btn btn-sm btn-outline-secondary" href="{{today_link}}"
                    data-bs-target="#">Today</a>
                {% endif %}
                {% if next_link %}
                <a type="button" class="btn btn-sm btn-outline-secondary" href="{{next_link}}"
                    data-bs-target="#">Next</a>
                {% endif %}
            </div>
            <div class="btn-group me-2">
                {% if user.profile.lastfm_username and not user.profile.lastfm_auto_import %}

                <form action="{% url 'scrobbles:lastfm-import' %}" method="get">
                    <button type="submit" class="btn btn-sm btn-outline-secondary">Last.fm Sync</button>
                </form>
                {% endif %}
                <button type="button" class="btn btn-sm btn-outline-secondary" data-bs-toggle="modal"
                    data-bs-target="#importModal">Import</button>
                <button type="button" class="btn btn-sm btn-outline-secondary" data-bs-toggle="modal"
                    data-bs-target="#exportModal">Export</button>
            </div>
            {% endif %}
            <div class="dropdown">
                <button type="button" class="btn btn-sm btn-outline-secondary dropdown-toggle" id="graphDateButton"
                    data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                    <div data-feather="calendar"></div>
                    {{title}}
                </button>
                <div class="dropdown-menu" data-bs-toggle="#graphDataChange" aria-labelledby="graphDateButton">
                    <a class="dropdown-item" href="?date=today">Today</a>
                    <a class="dropdown-item" href="?date=this_week">This week</a>
                    <a class="dropdown-item" href="?date=this_month">This month</a>
                    <a class="dropdown-item" href="?date=this_year">This year</a>
                </div>
            </div>
        </div>
    </div>

    {% if not user.is_authenticated %}
    <p>Today <b>{{counts.today}}</b> | This Week <b>{{counts.week}}</b> | This Month <b>{{counts.month}}</b> | This Year <b>{{counts.year}}</b> | All Time <b>{{counts.alltime}}</b></p>
    <canvas class="my-4 w-100" id="myChart" width="900" height="300"></canvas>
    {% else %}
    <div class="container">
        <div class="row">
            {% include "scrobbles/_last_scrobbles.html" %}
        </div>
    </div>
    {% endif %}

</main>

<div class="modal fade" id="importModal" tabindex="-1" role="dialog" aria-labelledby="importModalLabel"
    aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="importModalLabel">Import scrobbles</h5>
                <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
                    <div aria-hidden="true">&times;</div>
                </button>
            </div>
            <form action="{% url 'scrobbles:audioscrobbler-file-upload' %}" method="post" enctype="multipart/form-data">
                <div class="modal-body">
                    {% csrf_token %}
                    <div class="form-group">
                        <label for="tsv_file" class="col-form-label">Audioscrobbler TSV file:</label>
                        <input type="file" name="tsv_file" class="form-control" id="id_tsv_file">
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="submit" class="btn btn-primary">Import</button>
                </div>
            </form>
            <form action="{% url 'scrobbles:koreader-file-upload' %}" method="post" enctype="multipart/form-data">
                <div class="modal-body">
                    {% csrf_token %}
                    <div class="form-group">
                        <label for="tsv_file" class="col-form-label">KOReader sqlite file:</label>
                        <input type="file" name="sqlite_file" class="form-control" id="id_sqlite_file">
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="submit" class="btn btn-primary">Import</button>
                </div>
            </form>
        </div>
    </div>
</div>

<div class="modal fade" id="exportModal" tabindex="-1" role="dialog" aria-labelledby="exportModalLabel"
    aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="exportModalLabel">Export scrobbles</h5>
                <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
                    <div aria-hidden="true">&times;</div>
                </button>
            </div>
            <form action="{% url 'scrobbles:export' %}" method="get">
                <div class="modal-body">
                    {% csrf_token %}
                    <div class="form-group">
                        {{export_form.as_div}}
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="submit" class="btn btn-primary">Export</button>
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
                </div>
            </form>
        </div>
    </div>
</div>
{% endblock %}

{% block extra_js %}

<script src="https://cdn.jsdelivr.net/npm/feather-icons@4.28.0/dist/feather.min.js" integrity="sha384-uO3SXW5IuS1ZpFPKugNNWqTZRRglnUJK6UAZ/gxOX80nxEkN9NcGZTftn6RzhGWE" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/npm/chart.js@2.9.4/dist/Chart.min.js" integrity="sha384-zNy6FEbO50N+Cg5wap8IKA4M/ZnLJgzc6w2NqACZaK0u0FXfOWRRJOnQtpZun8ha" crossorigin="anonymous"></script>
<script>
    /* globals Chart:false, feather:false */
    (function () {
    'use strict'

    feather.replace({ 'aria-hidden': 'true' })

    // Graphs
    var ctx = document.getElementById('myChart')
    // eslint-disable-next-line no-unused-vars
    var myChart = new Chart(ctx, {
        type: 'line',
        data: {
            labels: [
                {% for day in weekly_data.keys %}
                "{{day}}"{% if not forloop.last %},{% endif %}
                {% endfor %}
            ],
            datasets: [{
                data: [
                {% for count in weekly_data.values %}
                {{count}}{% if not forloop.last %},{% endif %}
                {% endfor %}
                ],
                lineTension: 0,
                backgroundColor: 'transparent',
                borderColor: '#007bf0',
                borderWidth: 4,
                pointBackgroundColor: '#007bff'
            }]
        },
        options: {
            scales: {
                yAxes: [{
                ticks: {
                    beginAtZero: true
                }
                }]
            },
            legend: {
                display: false
            }
        }
    })
    })()

</script>
{% endblock %}
