forked from a64f7bb4-7358-4778-9fbe-3b882c34cc1d/v1
43 lines
1.1 KiB
Twig
43 lines
1.1 KiB
Twig
{#
|
|
/**
|
|
* @file
|
|
* Default theme implementation for flag links.
|
|
*
|
|
* Available functions:
|
|
* - flagcount(flag, flaggable) gets the number of flaggings for the given flag and flaggable.
|
|
*
|
|
* Available variables:
|
|
* - attributes: HTML attributes for the link element.
|
|
* - title: The flag link title.
|
|
* - action: 'flag' or 'unflag'
|
|
* - flag: The flag object.
|
|
* - flaggable: The flaggable entity.
|
|
*/
|
|
#}
|
|
{% apply spaceless %}
|
|
{# Attach the flag CSS library.#}
|
|
{{ attach_library('flag/flag.link') }}
|
|
|
|
{# Depending on the flag action, set the appropriate action class. #}
|
|
{% if action == 'unflag' %}
|
|
{% set action_class = 'action-unflag' %}
|
|
{% else %}
|
|
{% set action_class = 'action-flag' %}
|
|
{% endif %}
|
|
|
|
{# Set the remaining Flag CSS classes. #}
|
|
{%
|
|
set classes = [
|
|
'flag',
|
|
'flag-' ~ flag.id()|clean_class,
|
|
'js-flag-' ~ flag.id()|clean_class ~ '-' ~ flaggable.id(),
|
|
action_class
|
|
]
|
|
%}
|
|
|
|
{# Set nofollow to prevent search bots from crawling anonymous flag links #}
|
|
{% set attributes = attributes.setAttribute('rel', 'nofollow') %}
|
|
|
|
<div class="{{classes|join(' ')}}"><a{{ attributes }}>{{ title }}</a></div>
|
|
{% endapply %}
|