Merge pull request #673 from hargata/Hargata/update.docs

Update screenshots and docs site.
This commit is contained in:
Hargata Softworks
2024-10-31 13:33:34 -06:00
committed by GitHub
18 changed files with 106 additions and 29 deletions

View File

@@ -17,8 +17,13 @@
<input type="text" id="inputUsername" class="form-control" placeholder="@translator.Translate(userLanguage, "Account Username")" value="@Model.UserName">
<label for="inputEmail">@translator.Translate(userLanguage, "Email Address")</label>
<input type="text" id="inputEmail" class="form-control" placeholder="@translator.Translate(userLanguage, "Email Address")" value="@Model.EmailAddress">
<label for="inputPassword">@translator.Translate(userLanguage, "New Password")</label>
<input type="password" id="inputPassword" class="form-control" placeholder="@translator.Translate(userLanguage, "New Password")" value="">
<label for="inputPassword">@translator.Translate(userLanguage, "New Password")</label>
<div class="input-group">
<input type="password" id="inputPassword" class="form-control" placeholder="@translator.Translate(userLanguage, "New Password")" value="">
<div class="input-group-text">
<button type="button" class="btn btn-sm text-secondary password-visible-button" onclick="togglePasswordVisibility(this)"><i class="bi bi-eye"></i></button>
</div>
</div>
<label for="inputToken">@translator.Translate(userLanguage, "Token")</label>
<input type="text" id="inputToken" class="form-control" placeholder="@translator.Translate(userLanguage, "Token")" value="">
<div class="row">

View File

@@ -16,7 +16,12 @@
<label for="inputUsername">@translator.Translate(userLanguage, "Username")</label>
<input type="text" id="inputUsername" class="form-control" placeholder="@translator.Translate(userLanguage, "Account Username")" value="@Model.UserName">
<label for="inputPassword">@translator.Translate(userLanguage, "Password")</label>
<input type="password" id="inputPassword" class="form-control" placeholder="@translator.Translate(userLanguage, "Password")" value="">
<div class="input-group">
<input type="password" id="inputPassword" class="form-control" placeholder="@translator.Translate(userLanguage, "Password")" value="">
<div class="input-group-text">
<button type="button" class="btn btn-sm text-secondary password-visible-button" onclick="togglePasswordVisibility(this)"><i class="bi bi-eye"></i></button>
</div>
</div>
</div>
</form>
</div>

View File

@@ -12,8 +12,8 @@
<script src="~/js/login.js?v=@StaticHelper.VersionNumber"></script>
}
<div class="container d-flex align-items-center justify-content-center" style="height:100vh">
<div class="row">
<div class="col-12">
<div>
<div style="max-width:204px;">
<img src="@logoUrl" />
<div class="form-group">
<label for="inputUserName">@translator.Translate(userLanguage, "Username")</label>

View File

@@ -15,16 +15,21 @@
<script src="~/js/login.js?v=@StaticHelper.VersionNumber"></script>
}
<div class="container d-flex align-items-center justify-content-center" style="height:100vh">
<div class="row">
<div class="col-12">
<div>
<div style="max-width:204px;">
<img src="@logoUrl" />
<div class="form-group">
<label for="inputUserName">@translator.Translate(userLanguage, "Username")</label>
<input type="text" id="inputUserName" class="form-control">
</div>
<div class="form-group">
<label for="inputUserPassword">@translator.Translate(userLanguage, "Password")</label>
<input type="password" id="inputUserPassword" onkeyup="handlePasswordKeyPress(event)" class="form-control">
<label for="inputUserPassword">@translator.Translate(userLanguage, "Password")</label>
<div class="input-group">
<input type="password" id="inputUserPassword" onkeyup="handlePasswordKeyPress(event)" class="form-control">
<div class="input-group-text">
<button type="button" class="btn btn-sm text-secondary password-visible-button" onclick="togglePasswordVisibility(this)"><i class="bi bi-eye"></i></button>
</div>
</div>
</div>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="inputPersistent">

View File

@@ -13,8 +13,8 @@
<script src="~/js/login.js?v=@StaticHelper.VersionNumber"></script>
}
<div class="container d-flex align-items-center justify-content-center" style="height:100vh">
<div class="row">
<div class="col-12">
<div>
<div style="max-width:204px;">
<img src="@logoUrl" />
<div class="form-group">
<label for="inputToken">@translator.Translate(userLanguage, "Token")</label>

View File

@@ -12,8 +12,8 @@
<script src="~/js/login.js?v=@StaticHelper.VersionNumber"></script>
}
<div class="container d-flex align-items-center justify-content-center" style="height:100vh">
<div class="row">
<div class="col-12">
<div>
<div style="max-width:204px;">
<img src="@logoUrl" />
<div class="form-group">
<label for="inputToken">@translator.Translate(userLanguage, "Token")</label>
@@ -29,7 +29,12 @@
</div>
<div class="form-group">
<label for="inputUserPassword">@translator.Translate(userLanguage, "Password")</label>
<input type="password" id="inputUserPassword" class="form-control">
<div class="input-group">
<input type="password" id="inputUserPassword" class="form-control">
<div class="input-group-text">
<button type="button" class="btn btn-sm text-secondary password-visible-button" onclick="togglePasswordVisibility(this)"><i class="bi bi-eye"></i></button>
</div>
</div>
</div>
<div class="d-grid">
<button type="button" class="btn btn-warning mt-2" onclick="performRegistration()"><i class="bi bi-box-arrow-in-right me-2"></i>@translator.Translate(userLanguage, "Register")</button>

View File

@@ -12,8 +12,8 @@
<script src="~/js/login.js?v=@StaticHelper.VersionNumber"></script>
}
<div class="container d-flex align-items-center justify-content-center" style="height:100vh">
<div class="row">
<div class="col-12">
<div>
<div style="max-width:204px;">
<img src="@logoUrl" />
<div class="form-group">
<label for="inputToken">@translator.Translate(userLanguage, "Token")</label>
@@ -25,7 +25,12 @@
</div>
<div class="form-group">
<label for="inputUserPassword">@translator.Translate(userLanguage, "New Password")</label>
<input type="password" id="inputUserPassword" class="form-control">
<div class="input-group">
<input type="password" id="inputUserPassword" class="form-control">
<div class="input-group-text">
<button type="button" class="btn btn-sm text-secondary password-visible-button" onclick="togglePasswordVisibility(this)"><i class="bi bi-eye"></i></button>
</div>
</div>
</div>
<div class="d-grid">
<button type="button" class="btn btn-warning mt-2" onclick="performPasswordReset()"><i class="bi bi-box-arrow-in-right me-2"></i>@translator.Translate(userLanguage, "Reset Password")</button>

View File

@@ -11,6 +11,14 @@
src="https://code.jquery.com/jquery-3.7.1.slim.min.js"
integrity="sha256-kmHvs0B+OpCW5GVHUNjv9rOmY0IvSIRcf7zGUDTDQM8="
crossorigin="anonymous"></script>
<style>
.password-visible-button {
padding: 0rem;
}
::-ms-reveal {
display: none;
}
</style>
</head>
<body>
<div class="container d-flex align-items-center justify-content-center" style="height:100vh">
@@ -76,7 +84,12 @@
</div>
<div class="form-group">
<label for="inputSmtpPassword">Password</label>
<input type="password" id="inputSmtpPassword" class="form-control">
<div class="input-group">
<input type="password" id="inputSmtpPassword" class="form-control">
<div class="input-group-text">
<button type="button" class="btn btn-sm text-secondary password-visible-button" onclick="togglePasswordVisibility(this)"><i class="bi bi-eye"></i></button>
</div>
</div>
<small class="text-body-secondary">Password for Authentication</small>
</div>
</div>
@@ -395,6 +408,19 @@ function copyToClipboard(){
$(".btn-copy").text("Copied");
setTimeout(() => {$(".btn-copy").text("Copy");}, 500)
}
function togglePasswordVisibility(elem) {
var passwordField = $(elem).parent().siblings("input");
var passwordButton = $(elem).find('.bi');
if (passwordField.attr("type") == "password") {
passwordField.attr("type", "text");
passwordButton.removeClass('bi-eye');
passwordButton.addClass('bi-eye-slash');
} else {
passwordField.attr("type", "password");
passwordButton.removeClass('bi-eye-slash');
passwordButton.addClass('bi-eye');
}
}
function setLocaleInput(){
var browserLocale = navigator.language;
$("#inputLocale").val(browserLocale.replace('-','_'));

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View File

@@ -5,6 +5,7 @@
<link rel="icon" type="image/x-icon" href="favicon.ico">
<title>LubeLogger</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<style>
.customCarouselCaption{
background-image: linear-gradient(to bottom, rgba(255,0,0,0), #000);
@@ -27,12 +28,12 @@
</div>
</div>
<div class="row">
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="#showcase">Showcase</a></div>
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="#features">Features</a></div>
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="#demo">Demo</a></div>
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="#download">Download</a></div>
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="https://docs.lubelogger.com">Documentation</a></div>
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="https://github.com/hargata/lubelog">GitHub Repo</a></div>
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="#showcase"><i class="bi bi-eyeglasses me-2"></i>Showcase</a></div>
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="#features"><i class="bi bi-card-checklist me-2"></i>Features</a></div>
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="#demo"><i class="bi bi-eyedropper me-2"></i>Demo</a></div>
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="#download"><i class="bi bi-download me-2"></i>Download</a></div>
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="https://docs.lubelogger.com"><i class="bi bi-file-text me-2"></i>Documentation</a></div>
<div class="col-12 col-sm-6 col-md-2"><a class="btn btn-dark" href="https://github.com/hargata/lubelog"><i class="bi bi-git me-2"></i>GitHub Repo</a></div>
</div>
<hr>
<div class="row" id="showcase">
@@ -120,17 +121,21 @@
<li class="list-group-item">No limit on how many vehicles you have in your garage</li>
<li class="list-group-item">Import existing records from CSV(supports imports from Fuelly)</li>
<li class="list-group-item">Attach documents for each record(receipts, invoices, etc)</li>
<li class="list-group-item">Keeps track of your To-Do's(Kanban Planner)</li>
<li class="list-group-item">Set recurring reminders so you never miss another scheduled maintenance</li>
</ul>
</div>
<div class="col-12 col-md-6">
<ul class="list-group">
<li class="list-group-item">Keeps track of your To-Do's(Kanban Planner)</li>
<li class="list-group-item">Set recurring reminders so you never miss another scheduled maintenance</li>
<li class="list-group-item">User-customizable fields</li>
<li class="list-group-item">Supports multiple users</li>
<li class="list-group-item">Reminder Emails</li>
<li class="list-group-item">Dark Mode</li>
<li class="list-group-item">Mobile/Small screen support</li>
<li class="list-group-item">Basic Authentication for security</li>
<li class="list-group-item">Basic and OpenID Connect(OIDC) Authentication for security</li>
<li class="list-group-item">API Endpoints</li>
<li class="list-group-item">Consolidated Vehicle Maintenance Report</li>
<li class="list-group-item">Trip Recorder(GPS Integration)</li>
</ul>
</div>
</div>
@@ -158,7 +163,7 @@
<div class="row">
<div class="col-12 d-flex justify-content-center">
<p class="lead">
LubeLogger is available as both a Docker Image and a Windows Standalone Executable(EXE)
LubeLogger is available as a Docker Image, a Windows Standalone Executable(EXE), and a Linux Standalone Executable
</p>
</div>
<div class="col-12 d-flex justify-content-center">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 106 KiB

View File

@@ -461,4 +461,12 @@ html[data-bs-theme="light"] .api-method:hover {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
}
.password-visible-button {
padding: 0rem;
}
::-ms-reveal {
display: none;
}

View File

@@ -1244,4 +1244,17 @@ function handleSwalEnter(e) {
if (e.which == 13) {
Swal.clickConfirm();
}
}
function togglePasswordVisibility(elem) {
var passwordField = $(elem).parent().siblings("input");
var passwordButton = $(elem).find('.bi');
if (passwordField.attr("type") == "password") {
passwordField.attr("type", "text");
passwordButton.removeClass('bi-eye');
passwordButton.addClass('bi-eye-slash');
} else {
passwordField.attr("type", "password");
passwordButton.removeClass('bi-eye-slash');
passwordButton.addClass('bi-eye');
}
}

View File

@@ -618,7 +618,7 @@ function getLastOdometerReadingAndIncrement(odometerFieldName) {
Swal.fire({
title: 'Increment Last Reported Odometer Reading',
html: `
<input type="text" id="inputOdometerIncrement" class="swal2-input" placeholder="Increment" onkeydown="handleSwalEnter(event)">
<input type="text" inputmode="decimal" id="inputOdometerIncrement" class="swal2-input" placeholder="Increment" onkeydown="handleSwalEnter(event)">
`,
confirmButtonText: 'Add',
focusConfirm: false,