82 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {% extends "base.html" %}
 | |
| {% from 'utils.html' import custom_render_form_row,make_tabs %}
 | |
| {% from 'bootstrap/utils.html' import render_icon %}
 | |
| {% from 'bootstrap/form.html' import render_form, render_field, render_form_row %}
 | |
| 
 | |
| {% macro make_row(title,items) %}
 | |
|     <div class="d-flex flex-wrap">
 | |
|     {% for item in items %}
 | |
|         {{item|safe}}
 | |
|     {% endfor %}
 | |
|     </div>
 | |
| {% endmacro %}
 | |
| 
 | |
| {% macro make_tabs(tabs) %}
 | |
|     <div class="row">
 | |
|         <div class="col">
 | |
|             <ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
 | |
|                 {% for (label,_) in tabs %}
 | |
|                     {% set slug = (label|slugify) %}
 | |
|                     {% if not (loop.first and loop.last) %}
 | |
|                     <li class="nav-item">
 | |
|                         <a class="nav-link {{'active' if loop.first}}" id="nav-{{slug}}-tab" data-toggle="pill" href="#pills-{{slug}}" role="tab" aria-controls="pills-{{slug}}" aria-selected="{{loop.first}}">
 | |
|                             {{label}}
 | |
|                         </a>
 | |
|                     </li>
 | |
|                     {% endif %}
 | |
|                 {% endfor %}
 | |
|             </ul>
 | |
|         </div>
 | |
|     </div>
 | |
|     
 | |
|     <div class="tab-content" id="searchResults">
 | |
|         {% for (label,items) in tabs %}
 | |
|             {% set slug = (label|slugify) %}
 | |
|             <div class="tab-pane fade {{'show active' if loop.first}}" id="pills-{{slug}}" role="tabpanel" aria-labelledby="nav-{{slug}}-tab">
 | |
|                 {{make_row(label,items)}}
 | |
|             </div>
 | |
|         {% endfor %}
 | |
|     </div>
 | |
| {% endmacro %}
 | |
| 
 | |
| {% macro make_table(items) %}
 | |
|     <table class="table table-sm table-bordered">
 | |
|         {% for item in items|sort(attribute="Name")%}
 | |
|             <tr>
 | |
|                 <td><a href="{{url_for('jellyfin.details',item_id=item.Id)}}">{{item.Name}}</a> ({{item.ProductionYear}})</td>
 | |
|             </tr>
 | |
|         {% endfor %}
 | |
|     </table>
 | |
| {% endmacro %}
 | |
| 
 | |
| {% block app_content %}
 | |
|     <h1><a href={{info.LocalAddress}}>Jellyfin</a> v{{info.Version}}</h1>
 | |
|     {% if status.HasUpdateAvailable %}
 | |
|         <h3>Update available</h3>
 | |
|     {% endif %}
 | |
|     {% if status.HasPendingRestart %}
 | |
|         <h3>Restart pending</h3>
 | |
|     {% endif %}
 | |
| 
 | |
|     <h3>Library statistics</h3>
 | |
| 
 | |
|     <table class="table table-sm table-bordered">
 | |
|             {% for name, value in counts.items() %}
 | |
|                 {% if value != 0 %}
 | |
|                     <tr>
 | |
|                         <td>{{name}}</td>
 | |
|                         <td>{{value}}</td>
 | |
|                     </tr>
 | |
|                 {% endif %}
 | |
|             {% endfor %}
 | |
|     </table>
 | |
|     {% if library %}
 | |
|         <h3>{{library|count}} Items</h3>
 | |
|     {% endif %}
 | |
| 
 | |
|     {% set tabs = [] %}
 | |
|     {% for title,group in library.values()|groupby("Type") %}
 | |
|         {% do tabs.append((title,[make_table(group)])) %}
 | |
|     {% endfor %}
 | |
|     {{make_tabs(tabs)}}
 | |
| {% endblock %}
 |