load sponsors in ajax to account for users with slower internet connection.
This commit is contained in:
@@ -143,17 +143,21 @@ namespace CarCareTracker.Controllers
|
||||
UserConfig = userConfig,
|
||||
UILanguages = languages
|
||||
};
|
||||
return PartialView("_Settings", viewModel);
|
||||
}
|
||||
public async Task<IActionResult> Sponsors()
|
||||
{
|
||||
try
|
||||
{
|
||||
var httpClient = new HttpClient();
|
||||
var sponsorsData = await httpClient.GetFromJsonAsync<Sponsors>(StaticHelper.SponsorsPath) ?? new Sponsors();
|
||||
viewModel.Sponsors = sponsorsData;
|
||||
return PartialView("_Sponsors", sponsorsData);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError($"Unable to retrieve sponsors: {ex.Message}");
|
||||
return PartialView("_Sponsors", new Sponsors());
|
||||
}
|
||||
return PartialView("_Settings", viewModel);
|
||||
}
|
||||
[HttpPost]
|
||||
public IActionResult WriteToSettings(UserConfig userConfig)
|
||||
|
||||
@@ -4,6 +4,5 @@ namespace CarCareTracker.Models
|
||||
{
|
||||
public UserConfig UserConfig { get; set; }
|
||||
public List<string> UILanguages { get; set; }
|
||||
public Sponsors Sponsors { get; set; } = new Sponsors();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<h6>Parameters</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -40,7 +40,7 @@
|
||||
No Params
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -54,7 +54,7 @@
|
||||
VehicleId - Id of Vehicle(optional)
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -70,7 +70,7 @@
|
||||
odometer - Unadjusted odometer
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -84,7 +84,7 @@
|
||||
vehicleId - Id of Vehicle
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -98,7 +98,7 @@
|
||||
vehicleId - Id of Vehicle
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
POST
|
||||
</div>
|
||||
@@ -120,7 +120,7 @@
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -134,7 +134,7 @@
|
||||
vehicleId - Id of Vehicle
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
POST
|
||||
</div>
|
||||
@@ -157,7 +157,7 @@
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -171,7 +171,7 @@
|
||||
vehicleId - Id of Vehicle
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
POST
|
||||
</div>
|
||||
@@ -194,7 +194,7 @@
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -208,7 +208,7 @@
|
||||
vehicleId - Id of Vehicle
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
POST
|
||||
</div>
|
||||
@@ -231,7 +231,7 @@
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -245,7 +245,7 @@
|
||||
vehicleId - Id of Vehicle
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
POST
|
||||
</div>
|
||||
@@ -267,7 +267,7 @@
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -285,7 +285,7 @@
|
||||
useUKMPG(bool) - Use UK Imperial Calculation
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
POST
|
||||
</div>
|
||||
@@ -310,7 +310,7 @@
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -326,7 +326,7 @@
|
||||
</div>
|
||||
@if (User.IsInRole(nameof(UserData.IsRootUser)))
|
||||
{
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -341,7 +341,7 @@
|
||||
urgencies[]=[NotUrgent,Urgent,VeryUrgent,PastDue]
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
@@ -355,7 +355,7 @@
|
||||
No Params(must be root user)
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row api-method">
|
||||
<div class="col-1">
|
||||
GET
|
||||
</div>
|
||||
|
||||
@@ -279,7 +279,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@await Html.PartialAsync("_Sponsors", Model.Sponsors)
|
||||
<div class="row" id="sponsorsContainer"></div>
|
||||
<div class="modal fade" data-bs-focus="false" id="extraFieldModal" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content" id="extraFieldModalContent">
|
||||
@@ -375,4 +375,5 @@
|
||||
});
|
||||
}
|
||||
}
|
||||
loadSponsors();
|
||||
</script>
|
||||
@@ -7,7 +7,6 @@
|
||||
var enableAuth = userConfig.EnableAuth;
|
||||
var userLanguage = userConfig.UserLanguage;
|
||||
}
|
||||
<div class="row">
|
||||
<div class="d-flex justify-content-center">
|
||||
<h6 class="display-6 mt-2">@translator.Translate(userLanguage, "Sponsors")</h6>
|
||||
</div>
|
||||
@@ -69,5 +68,4 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
@@ -413,4 +413,9 @@ html[data-bs-theme="light"] .btn-adaptive {
|
||||
--bs-btn-disabled-color: #000;
|
||||
--bs-btn-disabled-bg: #f8f9fa;
|
||||
--bs-btn-disabled-border-color: #f8f9fa;
|
||||
}
|
||||
|
||||
.api-method:hover {
|
||||
border-bottom: 1px solid;
|
||||
border-top: 1px solid;
|
||||
}
|
||||
@@ -157,4 +157,10 @@ function handleDefaultReminderInputKeyDown() {
|
||||
if (event.which == 13) {
|
||||
updateSettings();
|
||||
}
|
||||
}
|
||||
|
||||
function loadSponsors() {
|
||||
$.get('/Home/Sponsors', function (data) {
|
||||
$("#sponsorsContainer").html(data);
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user