diff options
author | Mario Vavti <mario@mariovavti.com> | 2018-04-13 11:58:12 +0200 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2018-04-13 11:58:12 +0200 |
commit | e04d3c45a4fe7e503ea727c54e4c541d40e14661 (patch) | |
tree | 5e773cdb978fe1778cb4906620f6f3a4aa2ec2cd | |
parent | 4aaea422bc78b351f055df66b1491e476bf65e12 (diff) | |
download | volse-hubzilla-e04d3c45a4fe7e503ea727c54e4c541d40e14661.tar.gz volse-hubzilla-e04d3c45a4fe7e503ea727c54e4c541d40e14661.tar.bz2 volse-hubzilla-e04d3c45a4fe7e503ea727c54e4c541d40e14661.zip |
provide visible star status for starred posts
-rw-r--r-- | Zotlabs/Lib/ThreadItem.php | 6 | ||||
-rw-r--r-- | include/conversation.php | 2 | ||||
-rw-r--r-- | view/js/main.js | 7 | ||||
-rwxr-xr-x | view/tpl/conv_item.tpl | 40 | ||||
-rwxr-xr-x | view/tpl/conv_list.tpl | 37 |
5 files changed, 30 insertions, 62 deletions
diff --git a/Zotlabs/Lib/ThreadItem.php b/Zotlabs/Lib/ThreadItem.php index c2aa920b9..61a012f9d 100644 --- a/Zotlabs/Lib/ThreadItem.php +++ b/Zotlabs/Lib/ThreadItem.php @@ -238,9 +238,9 @@ class ThreadItem { 'do' => t("Add Star"), 'undo' => t("Remove Star"), 'toggle' => t("Toggle Star Status"), - 'classdo' => (intval($item['item_starred']) ? "hidden" : ""), - 'classundo' => (intval($item['item_starred']) ? "" : "hidden"), - 'isstarred' => (intval($item['item_starred']) ? "starred fa-star" : "unstarred fa-star-o"), + 'classdo' => ((intval($item['item_starred'])) ? "hidden" : ""), + 'classundo' => ((intval($item['item_starred'])) ? "" : "hidden"), + 'isstarred' => ((intval($item['item_starred'])) ? true : false), 'starred' => t('starred'), ); diff --git a/include/conversation.php b/include/conversation.php index 4aa097d07..30acd6329 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1724,7 +1724,7 @@ function network_tabs() { if(feature_enabled(local_channel(),'star_posts')) { $tabs[] = array( 'label' => t('Starred'), - 'url'=>z_root() . '/' . $cmd . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&star=1', + 'url'=>z_root() . '/' . $cmd . '/?f=' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '') . '&star=1', 'sel'=>$starred_active, 'title' => t('Favourite Posts'), ); diff --git a/view/js/main.js b/view/js/main.js index 02f2f6a3d..6493d2f0f 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -1075,18 +1075,21 @@ function dostar(ident) { if(data.result == 1) { $('#starred-' + ident).addClass('starred'); $('#starred-' + ident).removeClass('unstarred'); - $('#starred-' + ident).addClass('fa-star-full'); + $('#starred-' + ident).addClass('fa-star'); $('#starred-' + ident).removeClass('fa-star-o'); $('#star-' + ident).addClass('hidden'); $('#unstar-' + ident).removeClass('hidden'); + var btn_tpl = '<div class="btn-group" id="star-button-' + ident + '"><button type="button" class="btn btn-outline-secondary btn-sm wall-item-like" onclick="dostar(' + ident + ');"><i class="fa fa-star"></i></button></div>' + $('#wall-item-tools-left-' + ident).prepend(btn_tpl); } else { $('#starred-' + ident).addClass('unstarred'); $('#starred-' + ident).removeClass('starred'); $('#starred-' + ident).addClass('fa-star-o'); - $('#starred-' + ident).removeClass('fa-star-full'); + $('#starred-' + ident).removeClass('fa-star'); $('#star-' + ident).removeClass('hidden'); $('#unstar-' + ident).addClass('hidden'); + $('#star-button-' + ident).remove(); } $('#like-rotator-' + ident).hide(); }); diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl index 7b3d545ac..cfafa5ffd 100755 --- a/view/tpl/conv_item.tpl +++ b/view/tpl/conv_item.tpl @@ -27,9 +27,9 @@ {{/if}} {{/if}} <div class="p-2 clearfix wall-item-head{{if $item.is_new && !$item.title && !$item.event && !$item.is_comment}} wall-item-head-new rounded-top{{/if}}"> - <div class="wall-item-info" id="wall-item-info-{{$item.id}}" > - <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}} h-card p-author" id="wall-item-photo-wrapper-{{$item.id}}" data-toggle="dropdown"> - <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link u-url" id="wall-item-photo-link-{{$item.id}}"><img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" /></a> + <div class="wall-item-info " id="wall-item-info-{{$item.id}}" > + <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}} h-card p-author" id="wall-item-photo-wrapper-{{$item.id}}"> + <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" data-toggle="dropdown" /> {{if $item.thread_author_menu}} <div class="dropdown-menu"> {{foreach $item.thread_author_menu as $mitem}} @@ -48,7 +48,7 @@ {{/if}} <div class="wall-item-author"> {{if $item.previewing}}<span class="preview-indicator"><i class="fa fa-eye" title="{{$item.preview_lbl}}"></i></span> {{/if}} - <a href="#" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}} dropdown" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}} {{$item.via}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}} + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link u-url"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}} {{$item.via}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}} </div> <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}"> {{if $item.verified}}<i class="fa fa-check item-verified" title="{{$item.verified}}"></i> {{elseif $item.forged}}<i class="fa fa-exclamation item-forged" title="{{$item.forged}}"></i> {{/if}}{{if $item.location}}<span class="wall-item-location p-location" id="wall-item-location-{{$item.id}}">{{$item.location}}, </span>{{/if}}<span class="autotime" title="{{$item.isotime}}"><time class="dt-published" datetime="{{$item.isotime}}">{{$item.localtime}}</time>{{if $item.editedtime}} {{$item.editedtime}}{{/if}}{{if $item.expiretime}} {{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}} <i class="fa fa-pencil"></i>{{/if}} {{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}} @@ -66,32 +66,9 @@ {{/if}} {{if $item.has_tags}} <div class="p-2 wall-item-tools clearfix"> - <div class="body-tags"> <span class="tag">{{$item.mentions}} {{$item.tags}} {{$item.categories}} {{$item.folders}}</span> </div> - {{** - {{if $item.mentions}} - <div class="body-tags" id="item-mentions"> - <span class="tag">{{$item.mentions}}</span> - </div> - {{/if}} - {{if $item.tags}} - <div class="body-tags" id="item-tags"> - <span class="tag">{{$item.tags}}</span> - </div> - {{/if}} - {{if $item.categories}} - <div class="body-tags" id="item-categories"> - <span class="tag p-category">{{$item.categories}}</span> - </div> - {{/if}} - {{if $item.folders}} - <div class="body-tags" id="item-folders"> - <span class="tag">{{$item.folders}}</span> - </div> - {{/if}} - **}} </div> {{/if}} <div class="p-2 clearfix wall-item-tools"> @@ -187,7 +164,7 @@ <a class="dropdown-item" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-calendar" title="{{$item.addtocal}}"></i>{{$item.addtocal}}</a> {{/if}} {{if $item.star}} - <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-star {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a> + <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav fa fa-fw{{if $item.star.isstarred}} starred fa-star{{else}} unstarred fa-star-o{{/if}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a> {{/if}} {{if $item.thread_action_menu}} {{foreach $item.thread_action_menu as $mitem}} @@ -207,7 +184,12 @@ </div> {{if $item.responses || $item.attachments}} - <div class="wall-item-tools-left{{if ($item.responses.count > 1) || ($item.responses.count && $item.attachments)}} btn-group{{/if}}"> + <div class="wall-item-tools-left btn-group" id="wall-item-tools-left-{{$item.id}}"> + {{if $item.star.isstarred}} + <div class="btn-group" id="star-button-{{$item.id}}"> + <button type="button" class="btn btn-outline-secondary btn-sm wall-item-like" onclick="dostar({{$item.id}});"><i class="fa fa-star"></i></button> + </div> + {{/if}} {{if $item.attachments}} <div class="btn-group"> <button type="button" class="btn btn-outline-secondary btn-sm wall-item-like dropdown-toggle" data-toggle="dropdown" id="attachment-menu-{{$item.id}}"><i class="fa fa-paperclip"></i></button> diff --git a/view/tpl/conv_list.tpl b/view/tpl/conv_list.tpl index 5bfc10bf8..286bdc54f 100755 --- a/view/tpl/conv_list.tpl +++ b/view/tpl/conv_list.tpl @@ -28,8 +28,8 @@ {{/if}} <div class="p-2 clearfix wall-item-head{{if $item.is_new && !$item.title && !$item.event && !$item.is_comment}} wall-item-head-new rounded-top{{/if}}"> <div class="wall-item-info" id="wall-item-info-{{$item.id}}" > - <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}} h-card p-author" id="wall-item-photo-wrapper-{{$item.id}}" data-toggle="dropdown"> - <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link u-url" id="wall-item-photo-link-{{$item.id}}"><img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" /></a> + <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}} h-card p-author" id="wall-item-photo-wrapper-{{$item.id}}"> + <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" data-toggle="dropdown" /></a> {{if $item.thread_author_menu}} <div class="dropdown-menu"> {{foreach $item.thread_author_menu as $mitem}} @@ -47,7 +47,7 @@ </div> {{/if}} <div class="wall-item-author"> - <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}} {{$item.via}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}} + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link u-url"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}} {{$item.via}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}} </div> <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}"> {{if $item.verified}}<i class="fa fa-check item-verified" title="{{$item.verified}}"></i> {{elseif $item.forged}}<i class="fa fa-exclamation item-forged" title="{{$item.forged}}"></i> {{/if}}{{if $item.location}}<span class="wall-item-location p-location" id="wall-item-location-{{$item.id}}">{{$item.location}}, </span>{{/if}}<span class="autotime" title="{{$item.isotime}}"><time class="dt-published" datetime="{{$item.isotime}}">{{$item.localtime}}</time>{{if $item.editedtime}} {{$item.editedtime}}{{/if}}{{if $item.expiretime}} {{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}} <i class="fa fa-pencil"></i>{{/if}} {{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}} @@ -67,28 +67,6 @@ <div class="body-tags"> <span class="tag">{{$item.mentions}} {{$item.tags}} {{$item.categories}} {{$item.folders}}</span> </div> - {{** - {{if $item.mentions}} - <div class="body-tags" id="item-mentions"> - <span class="tag">{{$item.mentions}}</span> - </div> - {{/if}} - {{if $item.tags}} - <div class="body-tags" id="item-tags"> - <span class="tag">{{$item.tags}}</span> - </div> - {{/if}} - {{if $item.categories}} - <div class="body-tags" id="item-categories"> - <span class="tag p-category">{{$item.categories}}</span> - </div> - {{/if}} - {{if $item.folders}} - <div class="body-tags" id="item-folders"> - <span class="tag">{{$item.folders}}</span> - </div> - {{/if}} - **}} </div> {{/if}} <div class="p-2 clearfix wall-item-tools"> @@ -179,7 +157,7 @@ <a class="dropdown-item" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-calendar" title="{{$item.addtocal}}"></i>{{$item.addtocal}}</a> {{/if}} {{if $item.star}} - <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-star {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a> + <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav fa fa-fw{{if $item.star.isstarred}} starred fa-star{{else}} unstarred fa-star-o{{/if}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a> {{/if}} {{if $item.thread_action_menu}} {{foreach $item.thread_action_menu as $mitem}} @@ -198,7 +176,12 @@ </div> </div> <div id="like-rotator-{{$item.id}}" class="like-rotator"></div> - <div class="wall-item-tools-left{{if $item.unseen_comments || $item.like_count || $item.dislike_count || $item.attachments}} btn-group{{/if}}"> + <div class="wall-item-tools-left btn-group" id="wall-item-tools-left-{{$item.id}}"> + {{if $item.star.isstarred}} + <div class="btn-group" id="star-button-{{$item.id}}"> + <button type="button" class="btn btn-outline-secondary btn-sm wall-item-like" onclick="dostar({{$item.id}});"><i class="fa fa-star"></i></button> + </div> + {{/if}} {{if $item.attachments}} <div class="btn-group"> <button type="button" class="btn btn-outline-secondary btn-sm wall-item-like dropdown-toggle" data-toggle="dropdown" id="attachment-menu-{{$item.id}}"><i class="fa fa-paperclip"></i></button> |