_macro.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. {% macro title(topicId,replies) -%}
  2. <div class="panel-heading">
  3. {{ _('Received %(count)s replies',count=replies.total) }}
  4. <ul class="pull-right list-inline reply-order">
  5. <li><a href="{{ url_for('topic.topic',topicId=topicId,orderby='time')}}"> <i class="icon icon-time"></i>{{_('time')}}</a></li>
  6. <li><a href="{{ url_for('topic.topic',topicId=topicId,orderby='like')}}"> <i class="icon icon-thumbs-up"></i>{{_('likers')}}</a></li>
  7. </ul>
  8. </div>
  9. {%- endmacro %}
  10. {% macro body(reply) -%}
  11. {% import 'base/link.html' as link %}
  12. {% set author = reply.author %}
  13. <div class="panel-body media" id="reply-{{ reply.id }}" style="border-bottom:1px solid #eee;margin:0">
  14. <div class="media-left">
  15. <a href="{{ url_for('user.user',username=author.username) }}">
  16. {{ link.user_avatar(author) }}
  17. </a>
  18. </div>
  19. <div class="media-body">
  20. <small class="media-heading" style="color:#999">
  21. <span>{{ link.user(author.username)}}</span>
  22. <span>{{ reply.created_at | timesince }}</span>
  23. <a name="reply{{ reply.id }}" class="anchor" href="#reply{{ num }}" aria-hidden="true">#{{ num }}</a>
  24. </small>
  25. <div class="reply-content">
  26. {{ reply.content | safe_clean }}
  27. </div>
  28. </div>
  29. <div class="media-right">
  30. {{ like(reply) }}
  31. </div>
  32. <div class="media-right">
  33. <a href="javascript:void(0);" style="color:#ccc;padding:0" class="reply-author btn btn-sm" data-id="{{ reply.author.username }}" title="回复">
  34. <i class="icon-reply"></i>
  35. </a>
  36. </div>
  37. </div>
  38. {%- endmacro %}
  39. {% macro like(reply) -%}
  40. {% if g.user.is_authenticated and g.user in reply.likers %}
  41. <a href="javascript:void(0);" style="padding:0" class="like-reply btn btn-sm like-active" data-id="{{ reply.id}}" title="取消赞">
  42. <i class="icon-thumbs-up"></i>
  43. <span class="reply-count">{{ reply.likers.count() }}</span>
  44. </a>
  45. {% else %}
  46. <a href="javascript:void(0);" style="padding:0" class="like-reply btn btn-sm like-no-active" data-id="{{ reply.id}}" title="赞">
  47. <i class="icon-thumbs-up"></i>
  48. <span class="reply-count">{{ reply.likers.count() }}</span>
  49. </a>
  50. {% endif %}
  51. {%- endmacro %}
  52. {% macro reply_form(form) -%}
  53. <div class="panel panel-default">
  54. {% if g.user.is_authenticated %}
  55. <div class="panel-heading"> {{ _('Reply this topic') }} </div>
  56. <div class="panel-body">
  57. <form action="{{ url_for('reply.list',topicId=topicId)}}" method="POST">
  58. {{ form.hidden_tag() }}
  59. {{ form.content(class='form-control',rows=4)}}
  60. <button class="btn btn-sm btn-primary" type="submit" style="margin-top:10px;">{{ _('Post reply') }}</button>
  61. </form>
  62. </div>
  63. {% else %}
  64. <div class="panel-body" style="border:1px dashed #337ab7;margin:5px;">
  65. <span class="text-center" style="display:block;width:100%;color:#999">
  66. <span class="glyphicon glyphicon-lock" aria-hidden="true" style="font-size:16px;"></span>
  67. {{_('You need')}} <a href="{{ url_for('auth.login') }}">{{ _('Login')}}</a> {{_('before you can reply.')}}
  68. </span>
  69. </div>
  70. {% endif %}
  71. </div>
  72. {%- endmacro %}