aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Lib/ThreadItem.php5
-rw-r--r--boot.php2
-rw-r--r--include/conversation.php6
-rw-r--r--view/js/main.js11
-rw-r--r--view/tpl/conv_item.tpl6
5 files changed, 20 insertions, 10 deletions
diff --git a/Zotlabs/Lib/ThreadItem.php b/Zotlabs/Lib/ThreadItem.php
index fcc676e24..46fe6d815 100644
--- a/Zotlabs/Lib/ThreadItem.php
+++ b/Zotlabs/Lib/ThreadItem.php
@@ -353,10 +353,11 @@ class ThreadItem {
$contact = App::$contacts[$item['author_xchan']];
}
+ $blog_mode = $this->get_display_mode() === 'list';
$load_more = false;
$load_more_title = '';
$comments_total_percent = 0;
- if ($conv->comments_total > $conv->comments_loaded) {
+ if (($conv->comments_total > $conv->comments_loaded) || ($blog_mode && $conv->comments_total > 3)) {
// provide a load more comments button
$load_more = true;
$load_more_title = sprintf(t('Load the next few of total %d comments'), $conv->comments_total);
@@ -491,7 +492,7 @@ class ThreadItem {
'tentativeaccept' => intval($item['observer_tentativeaccept_count'] ?? 0)
],
'threaded' => $this->threaded,
- 'blog_mode' => $this->get_display_mode() === 'list',
+ 'blog_mode' => $blog_mode,
'collapse_comments' => t('show less'),
'expand_comments' => $this->threaded ? t('show more') : t('show all'),
'load_more' => $load_more,
diff --git a/boot.php b/boot.php
index 22695758d..ecefd4c48 100644
--- a/boot.php
+++ b/boot.php
@@ -70,7 +70,7 @@ require_once('include/security.php');
define('PLATFORM_NAME', 'hubzilla');
-define('STD_VERSION', '10.3.69');
+define('STD_VERSION', '10.3.70');
define('ZOT_REVISION', '6.0');
define('DB_UPDATE_VERSION', 1263);
diff --git a/include/conversation.php b/include/conversation.php
index bd1b7f863..051670d7b 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -1426,7 +1426,7 @@ function get_responses($response_verbs, $item) {
}
$ret[$v]['count'] = $item[$v . '_count'] ?? 0;
- $ret[$v]['button'] = get_response_button_text($v, $ret[$v]['count']);
+ $ret[$v]['button'] = get_response_button_text($v, $ret[$v]['count'], $item['item_thread_top']);
}
//logger('ret: ' . print_r($ret,true));
@@ -1434,7 +1434,7 @@ function get_responses($response_verbs, $item) {
return $ret;
}
-function get_response_button_text($v, $count = 0) {
+function get_response_button_text($v, $count = 0, $top_level) {
switch($v) {
case 'like':
return ['label' => tt('Like','Likes',$count,'noun'), 'icon' => 'hand-thumbs-up', 'class' => 'like', 'action' => 'dolike'];
@@ -1446,7 +1446,7 @@ function get_response_button_text($v, $count = 0) {
return ['label' => tt('Dislike','Dislikes',$count,'noun'), 'icon' => 'hand-thumbs-down', 'class' => 'dislike', 'action' => 'dolike'];
break;
case 'comment':
- return ['label' => tt('Reply','Replies',$count,'noun'), 'icon' => 'chat', 'class' => 'comment', 'action' => ''];
+ return ['label' => (($top_level) ? tt('Comment', 'Comments' ,$count, 'noun') : tt('Reply', 'Replies', $count, 'noun')), 'icon' => 'chat', 'class' => 'comment', 'action' => ''];
break;
case 'accept':
return ['label' => tt('Attending','Attending',$count,'noun'), 'icon' => 'calendar-check', 'class' => 'accept', 'action' => 'dolike'];
diff --git a/view/js/main.js b/view/js/main.js
index a80efd33b..ff8e61ec8 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -102,6 +102,15 @@ $(document).ready(function() {
const isCommentBtn = target.classList.contains('wall-item-comment');
if (isCommentBtn) {
+ if (id === parentId) {
+ // Handle blog mode
+ target.classList.add('disabled');
+ document.getElementById(`load-more-progress-wrapper-${id}`).classList.remove('d-none');
+ document.getElementById(`load-more-${id}`).classList.remove('d-none')
+ request(id, mid, 'load', parentId, uuid, isUserClick);
+ return;
+ }
+
// Get relevant DOM elements
const threadWrapper = document.getElementById(`thread-wrapper-${id}`);
const parentWrapper = document.getElementById(`thread-wrapper-${parentId}`);
@@ -124,7 +133,7 @@ $(document).ready(function() {
parentSubThreadWrapper.querySelectorAll('.thread-wrapper.item-highlight').forEach(el => el.classList.remove('item-highlight'));
if (isUserClick && parentIndentedThreads.length === 0 && !subThreadWrapper.children.length) {
- // Handle first-time expansion and highlighting
+ // Handle first-time expansion and highlighting but not for toplevels (blog mode)
threadWrapper.classList.add('item-highlight');
} else {
// Handle indentation and zooming
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index c04e3860b..112e2705b 100644
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -222,11 +222,11 @@
</div>
</div>
{{if $item.thread_level == 1}}
- {{if $item.toplevel && $item.load_more && $item.threaded && !$item.blog_mode}}
- <div id="load-more-progress-wrapper-{{$item.id}}" class="progress " role="progressbar" aria-valuenow="{{$item.comments_total_percent}}" aria-valuemin="0" aria-valuemax="100" style="height: 1px">
+ {{if $item.toplevel && $item.load_more && $item.threaded}}
+ <div id="load-more-progress-wrapper-{{$item.id}}" class="progress{{if $item.blog_mode}} d-none{{/if}}" role="progressbar" aria-valuenow="{{$item.comments_total_percent}}" aria-valuemin="0" aria-valuemax="100" style="height: 1px">
<div id="load-more-progress-{{$item.id}}" class="progress-bar bg-info" style="width: {{$item.comments_total_percent}}%; margin-left: auto; margin-right: auto;" data-comments-total="{{$item.comments_total}}"></div>
</div>
- <div id="load-more-{{$item.id}}" class="text-center text-secondary cursor-pointer" title="{{$item.load_more_title}}" onclick="request(0, '{{$item.rawmid}}', 'load', {{$item.parent}}, ''); return false;">
+ <div id="load-more-{{$item.id}}" class="text-center text-secondary cursor-pointer{{if $item.blog_mode}} d-none{{/if}}" title="{{$item.load_more_title}}" onclick="request(0, '{{$item.rawmid}}', 'load', {{$item.parent}}, ''); return false;">
<span id="load-more-dots-{{$item.id}}" class=""><span class="dot-1">-</span> <span class="dot-2">-</span> <span class="dot-3">-</span></span>
</div>
{{/if}}