123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- {% block note_actions %}
- {% if app.user or note_actions_hide is defined %}
- <menu class="note-actions note-info-end">
- <li class="note-actions-extra">
- <details class="note-actions-extra-details">
- <summary>
- {{ icon('kebab', 'icon icon-note-actions-extra') | raw }} {# button-container #}
- </summary>
- <ul>
- <li>
- <a href="{{ note.getUrl() }}">{{ 'Permalink' | trans }}</a>
- </li>
- <hr>
- {% for current_action in get_extra_note_actions(note) %}
- <li>
- <a class="{{ current_action["classes"] }}"
- href="{{ current_action["url"] }}">{{ current_action['title'] }}</a>
- </li>
- {% endfor %}
- </ul>
- </details>
- </li>
- <span class="note-actions-separator"></span>
- {% for current_action in get_note_actions(note) %}
- <li>
- <a title="{{ current_action["title"] | trans }}"
- class="{{ current_action["classes"] }}"
- href="{{ current_action["url"] }}"></a>
- </li>
- {% endfor %}
- </menu>
- {% endif %}
- {% endblock note_actions %}
- {% block note_replies %}
- {% if replies is defined and replies is not empty %}
- <div class="u-in-reply-to replies">
- <span class="note-replies-start"
- tabindex="0">{{ 'Replies to ' | trans }}{{ nickname }}{{ '\'s note' | trans }}</span>
- {% for conversation in replies %}
- {{ _self.macro_note(conversation['note'], conversation['replies']) }}
- <hr tabindex="0" title="{{ 'End of reply' | trans }}">
- {% endfor %}
- </div>
- {% endif %}
- {% endblock note_replies %}
- {% block note_attachments %}
- {% if hide_attachments is not defined %}
- {% if note.getAttachments() is not empty %}
- <section class="note-attachments" tabindex="0"
- title="{{ 'Note attachments.' | trans }}">
- {% for attachment in note.getAttachments() %}
- {% include '/cards/attachments/view.html.twig' with {'attachment': attachment, 'note': note, 'title': attachment.getBestTitle(note)} only %}
- {% endfor %}
- </section>
- {% endif %}
- {% endif %}
- {% endblock note_attachments %}
- {% block note_links %}
- {% if note.getLinks() is not empty %}
- <div class="note-links" title="{{ 'Shared links.' | trans }}">
- {% for link in note.getLinks() %}
- {% for block in handle_event('ViewLink', {'link': link, 'note': note}) %}
- {{ block | raw }}
- {% endfor %}
- {% endfor %}
- </div>
- {% endif %}
- {% endblock note_links %}
- {% block note_text %}
- <div class="note-text" tabindex="0"
- title="{{ 'Note text content.' | trans }}">
- {{ note.getRendered() | raw }}
- </div>
- {% endblock note_text %}
- {% block note_author %}
- {# Microformat's h-card properties indicates a face icon is a "u-logo" #}
- <a href="{{ actor_url }}">
- <header class="note-author-fullname" tabindex="0"
- title="{{ 'Begin a note by the user: ' | trans }} {{ nickname }}">
- {% if fullname is not null %}
- {{ fullname }}
- {% else %}
- {{ nickname }}
- {% endif %}
- </header>
- </a>
- <small class="note-author-nickname">
- <a href="{{ actor_uri }}"
- class="note-author-url u-url">{{ mention }}</a>
- </small>
- {% endblock note_author %}
- {% block note_sidebar %}
- <aside class="note-sidebar">
- {% set actor_avatar_dimensions = actor.getAvatarDimensions() %}
- <img class="u-logo avatar" src="{{ note.getActorAvatarUrl() }}"
- alt="{{ nickname }}'s avatar"
- width="{{ actor_avatar_dimensions['width'] }}"
- height="{{ actor_avatar_dimensions['height'] }}">
- </aside>
- {% endblock note_sidebar %}
- {% block note_info %}
- <div class="note-info-start">
- {{ block('note_author') }}
- <small class="note-conversation-info">
- <a href="{{ note.getConversationUrl() }}"
- class="note-conversation-url">{{ 'in conversation' | trans }}</a>
- <a href="{{ note.getUrl() }}"
- class="note-url">{{ note.getModified() | ago }}</a>
- </small>
- </div>
- {% endblock note_info %}
- {% block note_complementary_info %}
- {% for complementary_info in handle_event('AppendCardNote', {'note': note }) %}
- <aside title="{{ 'Note\'s complementary information' | trans }}"
- class="note-complementary">
- {% set actor_count = complementary_info['actors'] | length %}
- {% set counter = 0 %}
- {% for complementary_info_actor in complementary_info['actors'] %}
- {% if complementary_info_actor is defined %}
- <a href="{{ complementary_info_actor.getUrl() }}">{{ complementary_info_actor.getNickname() }}{% if actor_count > 1 and counter < actor_count - 2 %}{{ ', ' | trans }}{% endif %}</a>
- {% if counter == actor_count - 2 %}
- {{ ' and ' | trans }}
- {% endif %}
- {% endif %}
- {% set counter = counter + 1 %}
- {% endfor %}
- {% if complementary_info['action'] is defined and not null %}
- {% if counter > 1 %}
- {{ ' have ' | trans }}
- {% else %}
- {{ ' has ' | trans }}
- {% endif %}
- {{ complementary_info['action'] ~ ' this note' | trans }}
- {% endif %}
- </aside>
- {% endfor %}
- {% endblock note_complementary_info %}
- {% macro macro_note(note, replies) %}
- {% set actor = note.getActor() %}
- {% set nickname = actor.getNickname() %}
- {% set fullname = actor.getFullname() %}
- {% set actor_uri = actor.getUri() %}
- {% set actor_url = actor.getUrl() %}
- {% set mention = mention(actor) %}
- {% set note_language = note.getNoteLanguageShortDisplay() %}
- <article id="{{ 'note-anchor-' ~ note.getId() }}"
- class="h-entry hentry note" lang={{ note.getLanguageLocale() }}>
- {{ block('note_sidebar') }}
- <div class="note-wrapper">
- <header class="note-info">
- {{ block('note_info') }}
- {{ block('note_actions') }}
- </header>
- <section role="dialog" class="e-content entry-content note-content">
- {{ block('note_text') }}
- {{ block('note_attachments') }}
- {{ block('note_links') }}
- </section>
- {{ block('note_replies') }}
- {{ block('note_complementary_info') }}
- </div>
- </article>
- {% endmacro macro_note %}
- {% macro macro_note_minimal(note) %}
- {% set actor = note.getActor() %}
- {% set nickname = actor.getNickname() %}
- {% set fullname = actor.getFullname() %}
- {% set actor_uri = actor.getUri() %}
- {% set actor_url = actor.getUrl() %}
- {% set mention = mention(actor) %}
- <article class="h-entry hentry note" lang={{ note.getLanguageLocale() }}>
- {{ block('note_sidebar') }}
- <div class="note-wrapper">
- <header class="note-info">
- <div class="note-info-start">
- {{ block('note_author') }}
- </div>
- </header>
- <section role="dialog" class="e-content entry-content note-content">
- <small class="note-conversation-info">
- <a href="{{ note.getConversationUrl() }}"
- class="note-conversation-url">{{ 'in conversation' | trans }}</a>
- <a href="{{ note.getUrl() }}"
- class="note-url">{{ note.getModified() | ago }}</a>
- </small>
- <hr>
- {{ block('note_text') }}
- </section>
- </div>
- </article>
- {% endmacro macro_note_minimal %}
|