Copy comment.html.twig template from Claro.

This commit is contained in:
Michael Stenta 2023-04-11 20:15:42 -04:00
parent 05bec09dba
commit 5ffa6f7ffa
2 changed files with 122 additions and 1 deletions

View File

@ -37,6 +37,13 @@ function farm_ui_theme_theme($existing, $type, $theme, $path) {
];
}
/**
* Implements hook_theme_registry_alter().
*/
function farm_ui_theme_theme_registry_alter(&$theme_registry) {
$theme_registry['comment']['path'] = \Drupal::service('extension.list.module')->getPath('farm_ui_theme') . '/templates';
}
/**
* Implements hook_theme_suggestions_HOOK().
*/
@ -143,7 +150,6 @@ function farm_ui_theme_gin_content_form_routes() {
* Implements hook_entity_type_build().
*/
function farm_ui_theme_entity_type_build(array &$entity_types) {
// Override the default add and edit form class.
$target_entity_types = [
'asset' => AssetForm::class,

View File

@ -0,0 +1,115 @@
{#
/**
* @file
* Theme override for comments.
*
* Available variables:
* - author: (optional) Comment author. Can be a link or plain text.
* - content: The content-related items for the comment display. Use
* {{ content }} to print them all, or print a subset such as
* {{ content.field_example }}. Use the following code to temporarily suppress
* the printing of a given child element:
* @code
* {{ content|without('field_example') }}
* @endcode
* - created: (optional) Formatted date and time for when the comment was
* created. Preprocess functions can reformat it by calling
* DateFormatter::format() with the desired parameters on the
* 'comment.created' variable.
* - changed: (optional) Formatted date and time for when the comment was last
* changed. Preprocess functions can reformat it by calling
* DateFormatter::format() with the desired parameters on the
* 'comment.changed' variable.
* - permalink: Comment permalink.
* - submitted: (optional) Submission information created from author and
* created during template_preprocess_comment().
* - user_picture: (optional) The comment author's profile picture.
* - status: Comment status. Possible values are:
* unpublished, published, or preview.
* - title: (optional) Comment title, linked to the comment.
* - attributes: HTML attributes for the containing element.
* The attributes.class may contain one or more of the following classes:
* - comment: The current template type; e.g., 'theming hook'.
* - by-anonymous: Comment by an unregistered user.
* - by-{entity-type}-author: Comment by the author of the parent entity,
* eg. by-node-author.
* - preview: When previewing a new or edited comment.
* The following applies only to viewers who are registered users:
* - unpublished: An unpublished comment visible only to administrators.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
* - content_attributes: List of classes for the styling of the comment content.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - threaded: A flag indicating whether the comments are threaded or not.
*
* These variables are provided to give context about the parent comment (if
* any, optional):
* - parent_comment: Full parent comment entity (if any).
* - parent_author: Equivalent to author for the parent comment.
* - parent_created: Equivalent to created for the parent comment.
* - parent_changed: Equivalent to changed for the parent comment.
* - parent_title: Equivalent to title for the parent comment.
* - parent_permalink: Equivalent to permalink for the parent comment.
* - parent: A text string of parent comment submission information created from
* 'parent_author' and 'parent_created' during template_preprocess_comment().
* This information is presented to help screen readers follow lengthy
* discussion threads. You can hide this from sighted users using the class
* visually-hidden.
*
* These two variables are provided for context:
* - comment: Full comment object.
* - commented_entity: Entity the comments are attached to.
*
* @see template_preprocess_comment()
*/
#}
{% if threaded %}
{{ attach_library('claro/classy.indented') }}
{% endif %}
{%
set classes = [
'comment',
'js-comment',
status != 'published' ? status,
comment.owner.anonymous ? 'by-anonymous',
author_id and author_id == commented_entity.getOwnerId() ? 'by-' ~ commented_entity.getEntityTypeId() ~ '-author',
]
%}
<article{{ attributes.addClass(classes) }}>
{#
Hide the "new" indicator by default, let a piece of JavaScript ask the
server which comments are new for the user. Rendering the final "new"
indicator here would break the render cache.
#}
<mark class="hidden" data-comment-timestamp="{{ new_indicator_timestamp }}"></mark>
{% if submitted %}
<footer class="comment__meta">
{{ user_picture }}
<p class="comment__submitted">{{ submitted }}</p>
{#
Indicate the semantic relationship between parent and child comments for
accessibility. The list is difficult to navigate in a screen reader
without this information.
#}
{% if parent %}
<p class="parent visually-hidden">{{ parent }}</p>
{% endif %}
{{ permalink }}
</footer>
{% endif %}
<div{{ content_attributes.addClass('content') }}>
{% if title %}
{{ title_prefix }}
<h3{{ title_attributes }}>{{ title }}</h3>
{{ title_suffix }}
{% endif %}
{{ content }}
</div>
</article>