{% import "../components/text.html" %} {% import "../components/image-icon.html" %} {% macro crewMemberCard(data = {}) -%} {% set args = { "image": { "src" : "", "alt" : "" }, "name" : "", "title" : "", "description" : "", "visibility" : { "show_image": true, "show_name" : true, "show_title" : true, "show_description" : true, "style" : "floating", }, "alignment" : "default" } %} {% do args.update(data) %} {% set wrapperClass = ['crew-card-item','d-flex','flex-column','flex-grow-1'] %} {% do !!args.class ? wrapperClass.append(args.class) : '' %} {% set itemAttributes = { "class" : wrapperClass|join(' ') } %}
{% set card_classes = ['item-inner'] %} {% do card_classes.append(args.class) %} {% do (alignment != 'default') ? card_classes.append('text-'+args.alignment) : '' %}
{% if args.visibility.show_image %}
{{ imageComponent({ "image" : { "src" : args.image.src }, "type" : "plain", "size" : "cover", "ratio" : "square" }) }}
{% endif %} {% set floatingDetails = args.visibility.style == 'floating' %}
{{ headingComponent({ "tag" : "h4", "text" : args.name && args.visibility.show_name ? args.name : '', "class" : "mb-1" }) }} {{ subheadingComponent({ "text" : args.title && args.visibility.show_title ? args.title : '', , "class" : "my-0" }) }} {{ textComponent({ "text" : args.description && args.visibility.show_description ? args.description|striptags : '', "class" : "mt-2" }) }}
{%- endmacro %} {% macro crewMembersComponent(data = {},makeCarousel = true) -%} {% set args = { "source" : "", "crew_members" : [], "globalKeys" : { "global" : "crew_members" }, "layout" : {}, "alignment" : "center", "class" : "" } %} {% do args.update(data) %} {% if !!args.source %} {# Get Source - 'global' or 'custom' #} {% set items = (!!args.globalKeys[args.source] ? global_options|attr(args.globalKeys[args.source]) : args.crew_members) || [] %} {# Get Enabled #} {% set crewMembers = [] %} {% for item in items %} {% do item.update({ "visible" : ((item.visible is defined && item.visible) || item.visible is not defined), "layout" : args.layout || {} }) %} {% do crewMembers.append(item) %} {% endfor %} {% set crewMembers = crewMembers|rejectattr('visible',false) %} {% if crewMembers|length %}
{% set horizontal_alignment = 'justify-content-'+(args.alignment || 'center') %}
{% set columns = args.layout.columns || 4 %} {% set col_size = (12/columns)|int %} {% for crewMember in crewMembers %}
{{ crewMemberCard({ "image": crewMember.image.image, "name" : crewMember.full_name, "title" : crewMember.title, "description" : crewMember.description, "visibility" : args.layout }) }}
{% endfor %}
{% endif %} {% endif %} {%- endmacro %}