@SharedLibraryCore.Utilities.CurrentLocalization.LocalizationIndex["WEBFRONT_CLIENT_META_NONE"]
+}
+
+@foreach (var meta in Model.OrderByDescending(_meta => _meta.When))
{
@switch (meta.Type)
{
case SharedLibraryCore.Dtos.ProfileMeta.MetaType.ChatMessage:
-
+
>
@meta.Value
break;
+ case SharedLibraryCore.Dtos.ProfileMeta.MetaType.ReceivedPenalty:
+ case SharedLibraryCore.Dtos.ProfileMeta.MetaType.Penalized:
+
@Html.Raw(formatPenalty(meta))
+ break;
}
}
\ No newline at end of file
diff --git a/WebfrontCore/wwwroot/css/bootstrap-custom.css b/WebfrontCore/wwwroot/css/bootstrap-custom.css
index 202dcc56..6dc8073b 100644
--- a/WebfrontCore/wwwroot/css/bootstrap-custom.css
+++ b/WebfrontCore/wwwroot/css/bootstrap-custom.css
@@ -6375,6 +6375,9 @@ form *, select {
padding: 5px;
visibility: hidden; }
+.loader-load-more {
+ border-radius: 0; }
+
.input-border-transition {
-webkit-transition: border 500ms ease-out;
-moz-transition: border 500ms ease-out;
diff --git a/WebfrontCore/wwwroot/css/bootstrap-custom.scss b/WebfrontCore/wwwroot/css/bootstrap-custom.scss
index c2a87ccd..d430b955 100644
--- a/WebfrontCore/wwwroot/css/bootstrap-custom.scss
+++ b/WebfrontCore/wwwroot/css/bootstrap-custom.scss
@@ -163,6 +163,10 @@ form *, select {
visibility: hidden;
}
+.loader-load-more {
+ border-radius: 0;
+}
+
.input-border-transition {
-webkit-transition: border 500ms ease-out;
-moz-transition: border 500ms ease-out;
diff --git a/WebfrontCore/wwwroot/js/loader.js b/WebfrontCore/wwwroot/js/loader.js
index 944800aa..f5dcf255 100644
--- a/WebfrontCore/wwwroot/js/loader.js
+++ b/WebfrontCore/wwwroot/js/loader.js
@@ -1,5 +1,6 @@
let loaderOffset = 10;
let loadCount = 10;
+let startAt = null;
let isLoaderLoading = false;
let loadUri = '';
let loaderResponseId = '';
@@ -19,13 +20,14 @@ function loadMoreItems() {
showLoader();
isLoaderLoading = true;
- $.get(loadUri, { offset: loaderOffset, count : loadCount })
+ $.get(loadUri, { offset: loaderOffset, count: loadCount, startAt: startAt })
.done(function (response) {
$(loaderResponseId).append(response);
if (response.trim().length === 0) {
staleLoader();
}
$(document).trigger("loaderFinished", response);
+ startAt = $(response).filter('.loader-data-time').last().data('time');
hideLoader();
isLoaderLoading = false;
})
@@ -37,47 +39,52 @@ function loadMoreItems() {
}
function setupListeners() {
-if ($(loaderResponseId).length === 1) {
-/*
- https://stackoverflow.com/questions/19731730/jquery-js-detect-users-scroll-attempt-without-any-window-overflow-to-scroll
- */
+ if ($(loaderResponseId).length === 1) {
+ /*
+ https://stackoverflow.com/questions/19731730/jquery-js-detect-users-scroll-attempt-without-any-window-overflow-to-scroll
+ */
- $('html').bind('mousewheel DOMMouseScroll', function (e) {
- var delta = e.originalEvent.wheelDelta || -e.originalEvent.detail;
+ $('html').bind('mousewheel DOMMouseScroll', function (e) {
+ var delta = e.originalEvent.wheelDelta || -e.originalEvent.detail;
- if (delta < 0 && !hasScrollBar) {
- loadMoreItems();
- }
- });
-
- /*
- https://stackoverflow.com/questions/3898130/check-if-a-user-has-scrolled-to-the-bottom
- */
-
- var _throttleTimer = null;
- var _throttleDelay = 100;
- var $window = $(window);
- var $document = $(document);
- var hasScrollBar = false;
-
- $document.ready(function () {
- $window
- .off('scroll', ScrollHandler)
- .on('scroll', ScrollHandler);
- });
-
- function ScrollHandler(e) {
- //throttle event:
- hasScrollBar = true;
- clearTimeout(_throttleTimer);
- _throttleTimer = setTimeout(function () {
-
- //do work
- if ($window.scrollTop() + $window.height() > $document.height() - 100) {
- loadMoreItems();
+ if (delta < 0 && !hasScrollBar) {
+ loadMoreItems();
}
+ });
- }, _throttleDelay);
+ /*
+ https://stackoverflow.com/questions/3898130/check-if-a-user-has-scrolled-to-the-bottom
+ */
+
+ var _throttleTimer = null;
+ var _throttleDelay = 100;
+ var $window = $(window);
+ var $document = $(document);
+ var hasScrollBar = false;
+
+ $document.ready(function () {
+ $window
+ .off('scroll', ScrollHandler)
+ .on('scroll', ScrollHandler);
+ $('.loader-load-more').click(function (e) {
+ if (!isLoaderLoading) {
+ loadMoreItems();
+ }
+ })
+ });
+
+ function ScrollHandler(e) {
+ //throttle event:
+ hasScrollBar = true;
+ clearTimeout(_throttleTimer);
+ _throttleTimer = setTimeout(function () {
+
+ //do work
+ if ($window.scrollTop() + $window.height() > $document.height() - 100) {
+ loadMoreItems();
+ }
+
+ }, _throttleDelay);
+ }
}
-}
}
\ No newline at end of file
diff --git a/WebfrontCore/wwwroot/js/profile.js b/WebfrontCore/wwwroot/js/profile.js
index 91541851..74de5c6f 100644
--- a/WebfrontCore/wwwroot/js/profile.js
+++ b/WebfrontCore/wwwroot/js/profile.js
@@ -13,6 +13,7 @@
/*
* load context of chat
*/
+ $(document).off('click', '.client-message');
$(document).on('click', '.client-message', function (e) {
showLoader();
const location = $(this);
@@ -33,6 +34,7 @@
/*
* load info on ban/flag
*/
+ $(document).off('click', '.automated-penalty-info-detailed');
$(document).on('click', '.automated-penalty-info-detailed', function (e) {
showLoader();
const location = $(this).parent();