mirror of
https://github.com/linuxserver/fleet.git
synced 2026-02-20 05:11:08 +08:00
Ensure all synched repositories are shown as tabs on home page
This commit is contained in:
parent
c7c15a659e
commit
b5af2a2809
1
.gitignore
vendored
1
.gitignore
vendored
@ -29,4 +29,5 @@ out/
|
||||
*.iml
|
||||
config/fleet.properties
|
||||
src/main/resources/assets/js/all*.js
|
||||
src/main/resources/assets/css/all*.css
|
||||
.gradle/
|
||||
File diff suppressed because one or more lines are too long
9
src/main/resources/assets/css/all.min.css
vendored
9
src/main/resources/assets/css/all.min.css
vendored
File diff suppressed because one or more lines are too long
@ -37,6 +37,18 @@ h2 {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.nav--repositories .nav-item .nav-link {
|
||||
|
||||
font-family: 'Nunito', cursive;
|
||||
font-weight: 600;
|
||||
color: #eaeaea;
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
.nav--repositories .nav-item .nav-link.active {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.table thead tr th {
|
||||
|
||||
border-top: 0;
|
||||
|
||||
@ -3,110 +3,130 @@
|
||||
<@base.base title="Image Status" context="home">
|
||||
|
||||
<#if populatedRepositories?size > 0>
|
||||
<#list populatedRepositories as populatedRepository>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h2><a href="https://hub.docker.com/r/${populatedRepository.repository.name}">${populatedRepository.repository.name}</a></h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<#if populatedRepository.everyImageStable>
|
||||
<div class="row my-3">
|
||||
<div class="col-12">
|
||||
<div class="fleet-alert fleet-alert--success">
|
||||
<i class="fas fa-check text-success"></i> No issues reported
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<#else>
|
||||
<div class="row my-3">
|
||||
<div class="col-12">
|
||||
<div class="fleet-alert fleet-alert--warning">
|
||||
<i class="fas fa-exclamation-triangle text-warning"></i> Some instability reported
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</#if>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table--sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Version</th>
|
||||
<th class="sorter-pullCount">Pull Count</th>
|
||||
<th class="text-center">Status</th>
|
||||
<#if __AUTHENTICATED_USER?has_content>
|
||||
<th>Admin</th>
|
||||
</#if>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<#list populatedRepository.images as image>
|
||||
<#if !image.hidden || __AUTHENTICATED_USER?has_content>
|
||||
<tr <#if image.hidden>class="hidden-image"</#if> data-image-id="#{image.id}" data-image-name="${image.name}">
|
||||
<td class="image-name">
|
||||
<a target="_blank" href="https://hub.docker.com/r/${populatedRepository.repository.name}/${image.name}">${image.name}</a>
|
||||
</td>
|
||||
<td>
|
||||
<#if image.version?has_content>
|
||||
<code>${image.version}</code>
|
||||
</#if>
|
||||
</td>
|
||||
<td>
|
||||
<span class="number">${image.pullCount}</span>
|
||||
</td>
|
||||
<td class="text-center image-status">
|
||||
|
||||
<#if image.unstable>
|
||||
<i class="fas fa-exclamation-triangle text-warning" title="Potentially unstable"></i>
|
||||
<#else>
|
||||
<i class="fas fa-check-circle text-success" title="No issues reported"></i>
|
||||
</#if>
|
||||
|
||||
</td>
|
||||
<#if __AUTHENTICATED_USER?has_content>
|
||||
<td class="admin-actions">
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-info btn-xsm dropdown-toggle" type="button" id="admin-actions_#{populatedRepository.repository.id}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Actions
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="admin-actions_#{populatedRepository.repository.id}">
|
||||
|
||||
<#if image.hidden>
|
||||
<button type="button" class="image--show dropdown-item btn-clickable">Show in list</button>
|
||||
<#else>
|
||||
<button type="button" class="image--hide dropdown-item btn-clickable">Hide from list</button>
|
||||
</#if>
|
||||
<#if image.unstable>
|
||||
<button type="button" class="image--mark-stable dropdown-item btn-clickable">Mark as stable</button>
|
||||
<#else>
|
||||
<button type="button" class="image--mark-unstable dropdown-item btn-clickable">Mark as unstable</button>
|
||||
</#if>
|
||||
<button type="button" class="dropdown-item btn-clickable" data-toggle="modal" data-target="#update-image-version-mask">Apply version mask</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</#if>
|
||||
</tr>
|
||||
</#if>
|
||||
</#list>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<ul class="nav nav--repositories" id="all-repositories-tablist" role="tablist">
|
||||
<#list populatedRepositories as populatedRepository>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link <#if populatedRepository?index == 0>active</#if>" data-toggle="tab" role="tab" aria-controls="repository_#{populatedRepository.repository.id}" id="repository-tab_#{populatedRepository.repository.id}" href="#repository_#{populatedRepository.repository.id}">${populatedRepository.repository.name}</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</#list>
|
||||
<div class="tab-content" id="repository-tab-content">
|
||||
<#list populatedRepositories as populatedRepository>
|
||||
|
||||
<div class="tab-pane<#if populatedRepository?index == 0> show active</#if>" id="repository_#{populatedRepository.repository.id}" role="tabpanel" aria-labelledby="repository-tab_#{populatedRepository.repository.id}">
|
||||
<div class="container">
|
||||
|
||||
<#if populatedRepository.everyImageStable>
|
||||
<div class="row my-3">
|
||||
<div class="col-12">
|
||||
<div class="fleet-alert fleet-alert--success">
|
||||
<i class="fas fa-check text-success"></i> No issues reported
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<#else>
|
||||
<div class="row my-3">
|
||||
<div class="col-12">
|
||||
<div class="fleet-alert fleet-alert--warning">
|
||||
<i class="fas fa-exclamation-triangle text-warning"></i> Some instability reported
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</#if>
|
||||
|
||||
<#if populatedRepository.images?size > 0>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table--sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Version</th>
|
||||
<th class="sorter-pullCount">Pull Count</th>
|
||||
<th class="text-center">Status</th>
|
||||
<#if __AUTHENTICATED_USER?has_content>
|
||||
<th>Admin</th>
|
||||
</#if>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<#list populatedRepository.images as image>
|
||||
<#if !image.hidden || __AUTHENTICATED_USER?has_content>
|
||||
<tr <#if image.hidden>class="hidden-image"</#if> data-image-id="#{image.id}" data-image-name="${image.name}">
|
||||
<td class="image-name">
|
||||
<a target="_blank" href="https://hub.docker.com/r/${populatedRepository.repository.name}/${image.name}">${image.name}</a>
|
||||
</td>
|
||||
<td>
|
||||
<#if image.version?has_content>
|
||||
<code>${image.version}</code>
|
||||
</#if>
|
||||
</td>
|
||||
<td>
|
||||
<span class="number">${image.pullCount}</span>
|
||||
</td>
|
||||
<td class="text-center image-status">
|
||||
|
||||
<#if image.unstable>
|
||||
<i class="fas fa-exclamation-triangle text-warning" title="Potentially unstable"></i>
|
||||
<#else>
|
||||
<i class="fas fa-check-circle text-success" title="No issues reported"></i>
|
||||
</#if>
|
||||
|
||||
</td>
|
||||
<#if __AUTHENTICATED_USER?has_content>
|
||||
<td class="admin-actions">
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-info btn-xsm dropdown-toggle" type="button" id="admin-actions_#{populatedRepository.repository.id}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Actions
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="admin-actions_#{populatedRepository.repository.id}">
|
||||
|
||||
<#if image.hidden>
|
||||
<button type="button" class="image--show dropdown-item btn-clickable">Show in list</button>
|
||||
<#else>
|
||||
<button type="button" class="image--hide dropdown-item btn-clickable">Hide from list</button>
|
||||
</#if>
|
||||
<#if image.unstable>
|
||||
<button type="button" class="image--mark-stable dropdown-item btn-clickable">Mark as stable</button>
|
||||
<#else>
|
||||
<button type="button" class="image--mark-unstable dropdown-item btn-clickable">Mark as unstable</button>
|
||||
</#if>
|
||||
<button type="button" class="dropdown-item btn-clickable" data-toggle="modal" data-target="#update-image-version-mask">Apply version mask</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</#if>
|
||||
</tr>
|
||||
</#if>
|
||||
</#list>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<#else>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 text-center p-3">
|
||||
No images!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</#if>
|
||||
</div>
|
||||
</div>
|
||||
</#list>
|
||||
</div>
|
||||
|
||||
<#if __AUTHENTICATED_USER?has_content>
|
||||
|
||||
@ -128,16 +148,6 @@
|
||||
|
||||
</#if>
|
||||
|
||||
<#else>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 text-center p-3">
|
||||
No images!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</#if>
|
||||
|
||||
</@base.base>
|
||||
Loading…
x
Reference in New Issue
Block a user