Still converting to bootstrap 5. Releases update + admin views
This commit is contained in:
@@ -5,40 +5,43 @@
|
||||
<div class="card">
|
||||
<h5 class="card-header">${tr:Lms.Admin.ScannerController.scanner}</h5>
|
||||
<div class="card-body">
|
||||
<div class="mb-3 row">
|
||||
<label class="col-sm-2 col-form-label" for="status">
|
||||
<form>
|
||||
<div class="row g-3">
|
||||
<div class="col-12">
|
||||
<label class="form-label" for="status">
|
||||
${tr:Lms.Admin.ScannerController.status}
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" readonly="readonly" class="form-control" id="status" value="${status}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label class="col-sm-2 col-form-label" for="step-status">
|
||||
<div class="col-12">
|
||||
<label class="form-label" for="step-status">
|
||||
${tr:Lms.Admin.ScannerController.step-status}
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" readonly="readonly" class="form-control" id="step-status" value="${step-status}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label class="col-sm-2 col-form-label" for="last-scan">
|
||||
<div class="col-12">
|
||||
<label class="form-label" for="last-scan">
|
||||
${tr:Lms.Admin.ScannerController.last-scan}
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<div class="input-group">
|
||||
<input type="text" readonly="readonly" class="form-control" id="last-scan" value="${last-scan}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<div class="offset-sm-2">
|
||||
${btn-report class="btn btn-sm"}
|
||||
${report-btn class="btn btn-outline-info"}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
${btn-action}
|
||||
<div class="btn-group">
|
||||
${scan-btn class="btn btn-primary"}
|
||||
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>${full-scan-btn class="dropdown-item"}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</message>
|
||||
|
||||
</messages>
|
||||
|
||||
@@ -2,20 +2,20 @@
|
||||
<messages xmlns:if="Wt.WTemplate.conditions">
|
||||
|
||||
<message id="Lms.Admin.Users.template">
|
||||
<h2>${tr:Lms.Admin.Users.users}</h2>
|
||||
${users}
|
||||
<h3>${tr:Lms.Admin.Users.users}</h3>
|
||||
${users class="d-grid gap-1"}
|
||||
${<if-can-create-user>}
|
||||
${add-btn class="btn btn-primary"}
|
||||
${</if-can-create-user>}
|
||||
</message>
|
||||
|
||||
<message id="Lms.Admin.Users.template.entry">
|
||||
<div class="row align-items-center mb-3">
|
||||
<div class="col-auto me-auto">
|
||||
<div class="d-flex align-items-center Lms-bg-dark-hover rounded">
|
||||
<div class="p-2 flex-fill">
|
||||
${name}${<if-tag>}<span class="badge bg-info ms-2">${tag}</span>${</if-tag>}
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
${<if-edit>}${edit-btn class="btn btn-sm btn-primary me-1"} ${del-btn class="btn btn-sm btn-danger"}${</if-edit>}
|
||||
<div class="p-2">
|
||||
${<if-edit>}${edit-btn class="btn btn-sm btn-secondary me-1"}${del-btn class="btn btn-sm btn-danger"}${</if-edit>}
|
||||
</div>
|
||||
</div>
|
||||
</message>
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
<message id="Lms.Admin.User.user-already-exists">User already exists!</message>
|
||||
<message id="Lms.Admin.User.user-create">New user</message>
|
||||
<message id="Lms.Admin.User.user-created">New user created!</message>
|
||||
<message id="Lms.Admin.User.user-edit">Edit user {1}</message>
|
||||
<message id="Lms.Admin.User.user-edit">Edit user '{1}'</message>
|
||||
<message id="Lms.Admin.User.user-updated">User updated!</message>
|
||||
|
||||
<!--Wizard-->
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
<message id="Lms.Admin.User.user-already-exists">L'utilisateur existe déjà !</message>
|
||||
<message id="Lms.Admin.User.user-create">Nouvel utilisateur</message>
|
||||
<message id="Lms.Admin.User.user-created">Nouvel utilisateur créé !</message>
|
||||
<message id="Lms.Admin.User.user-edit">Utilisateur {1}</message>
|
||||
<message id="Lms.Admin.User.user-edit">Utilisateur '{1}'</message>
|
||||
<message id="Lms.Admin.User.user-updated">L'utilisateur a été mis à jour !</message>
|
||||
|
||||
<!--Wizard-->
|
||||
|
||||
@@ -39,13 +39,13 @@
|
||||
</message>
|
||||
|
||||
<message id="Lms.Explore.Releases.template.entry-grid">
|
||||
<div class="card border-0 bg-transparent">
|
||||
<div class="Lms-responsive-square Lms-cover-container">
|
||||
${cover class="shadow-sm"}
|
||||
${release-name class="text-truncate text-nowrap text-decoration-none link-success"}
|
||||
${<if-has-artist>}${artist-name class=" text-truncate text-nowrap text-decoration-none link-secondary"}${</if-has-artist>}
|
||||
</div>
|
||||
${release-name class="d-block text-truncate text-nowrap text-decoration-none link-success"}
|
||||
${<if-has-artist>}${artist-name class="d-block text-truncate text-nowrap text-decoration-none link-secondary"}${</if-has-artist>}
|
||||
${<if-has-various-artists>}<div class="text-truncate text-nowrap text-secondary">${tr:Lms.Explore.various-artists}</div>${</if-has-various-artists>}
|
||||
${<if-has-year>}<div class="small text-muted">${year}</div>${</if-has-year>}
|
||||
</div>
|
||||
</message>
|
||||
|
||||
<message id="Lms.Explore.Releases.template.container">
|
||||
|
||||
+5
-9
@@ -40,20 +40,18 @@
|
||||
</message>
|
||||
|
||||
<message id="Lms.Explore.Tracks.template.entry">
|
||||
<div class="card bg-transparent">
|
||||
<div class="row align-items-center Lms-bg-dark-hover rounded">
|
||||
<div class="col-2 col-lg-1">
|
||||
<div class="d-flex align-items-center rounded Lms-bg-dark-hover">
|
||||
<div class="p-1 Lms-cover-small">
|
||||
${cover}
|
||||
</div>
|
||||
<div class="col-10 col-lg-11 d-flex align-items-center">
|
||||
<div class="flex-fill">
|
||||
<div class="p-2 flex-fill">
|
||||
<div>${name}</div>
|
||||
${<if-has-release>}${release class="text-decoration-none link-sucess"}${</if-has-release>}
|
||||
${<if-has-release>}${release class="text-decoration-none link-success"}${</if-has-release>}
|
||||
</div>
|
||||
<div class="p-2 d-none d-sm-block text-muted">
|
||||
${duration}
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<div class="p-2 d-flex">
|
||||
${play-btn class="btn btn-sm btn-outline-secondary border-0"}
|
||||
<div class="dropdown d-inline-block">
|
||||
${more-btn data-bs-toggle="dropdown" aria-expanded="false" class="btn btn-sm btn-outline-secondary border-0"}
|
||||
@@ -65,8 +63,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</message>
|
||||
|
||||
<message id="Lms.Explore.Tracks.template.entry-artist">
|
||||
|
||||
@@ -8,6 +8,11 @@ body {
|
||||
padding-bottom: 78px;
|
||||
}
|
||||
|
||||
.Lms-cover-small {
|
||||
width: 72px;
|
||||
min-width: 72px;
|
||||
}
|
||||
|
||||
.Lms-notification-container {
|
||||
position: fixed;
|
||||
bottom: 78px;
|
||||
@@ -22,3 +27,29 @@ body {
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.Lms-cover {
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
width: auto;
|
||||
height: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.Lms-cover-container {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.Lms-responsive-square {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.Lms-responsive-square:after {
|
||||
content: "";
|
||||
display: block;
|
||||
padding-bottom: 100%;
|
||||
}
|
||||
|
||||
@@ -23,10 +23,8 @@
|
||||
|
||||
#include <Wt/Http/Response.h>
|
||||
#include <Wt/WDateTime.h>
|
||||
#include <Wt/WPopupMenu.h>
|
||||
#include <Wt/WPushButton.h>
|
||||
#include <Wt/WResource.h>
|
||||
#include <Wt/WSplitButton.h>
|
||||
|
||||
#include "services/database/Session.hpp"
|
||||
#include "services/database/Track.hpp"
|
||||
@@ -156,25 +154,19 @@ ScannerController::refreshContents()
|
||||
{
|
||||
using namespace Scanner;
|
||||
|
||||
Wt::WPushButton* reportBtn {bindNew<Wt::WPushButton>("btn-report", Wt::WString::tr("Lms.Admin.ScannerController.get-report"))};
|
||||
Wt::WPushButton* reportBtn {bindNew<Wt::WPushButton>("report-btn", Wt::WString::tr("Lms.Admin.ScannerController.get-report"))};
|
||||
|
||||
Wt::WSplitButton* actionBtn {bindNew<Wt::WSplitButton>("btn-action")};
|
||||
actionBtn->actionButton()->addStyleClass("btn-primary");
|
||||
actionBtn->actionButton()->setText(Wt::WString::tr("Lms.Admin.ScannerController.scan-now"));
|
||||
actionBtn->actionButton()->clicked().connect([]
|
||||
Wt::WPushButton* scanBtn {bindNew<Wt::WPushButton>("scan-btn", Wt::WString::tr("Lms.Admin.ScannerController.scan-now"))};
|
||||
scanBtn->clicked().connect([]
|
||||
{
|
||||
Service<Scanner::IScannerService>::get()->requestImmediateScan(false);
|
||||
});
|
||||
|
||||
auto popup = std::make_unique<Wt::WPopupMenu>();
|
||||
popup->addItem(Wt::WString::tr("Lms.Admin.ScannerController.force-scan-now"));
|
||||
popup->itemSelected().connect([]
|
||||
Wt::WPushButton* fullScanBtn {bindNew<Wt::WPushButton>("full-scan-btn", Wt::WString::tr("Lms.Admin.ScannerController.force-scan-now"))};
|
||||
fullScanBtn->clicked().connect([]
|
||||
{
|
||||
Service<Scanner::IScannerService>::get()->requestImmediateScan(true);
|
||||
});
|
||||
actionBtn->dropDownButton()->setMenu(std::move(popup));
|
||||
actionBtn->dropDownButton()->addStyleClass("btn-primary");
|
||||
|
||||
|
||||
const IScannerService::Status status {Service<IScannerService>::get()->getStatus()};
|
||||
if (status.lastCompleteScanStats)
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace UserInterface::ReleaseListHelpers
|
||||
Wt::WAnchor* anchor = entry->bindWidget("cover", LmsApplication::createReleaseAnchor(release, false));
|
||||
auto cover = std::make_unique<Wt::WImage>();
|
||||
cover->setImageLink(LmsApp->getCoverResource()->getReleaseUrl(release->getId(), CoverResource::Size::Large));
|
||||
cover->setStyleClass("img-fluid rounded");
|
||||
cover->setStyleClass("Lms-cover rounded");
|
||||
cover->setAttributeValue("onload", LmsApp->javaScriptClass() + ".onLoadCover(this)");
|
||||
anchor->setImage(std::move(cover));
|
||||
|
||||
@@ -83,7 +83,8 @@ namespace UserInterface::ReleaseListHelpers
|
||||
}
|
||||
}
|
||||
|
||||
entry->setStyleClass("col-6 col-md-4 col-lg-3 col-xl-2");
|
||||
// hack
|
||||
entry->setStyleClass("p-2 Lms-bg-dark-hover rounded col-6 col-md-4 col-lg-3 col-xl-2");
|
||||
return entry;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user