1
0
mirror of https://github.com/ToxicCrack/PrintABrick.git synced 2025-05-18 21:20:09 -07:00
PrintABrick/app/Resources/views/macros/blocks.html.twig
2017-06-28 00:26:57 +02:00

126 lines
5.0 KiB
Twig

{% macro partImage(number, filter, color = -1) %}
<div class="ui image load">
{% if 'large' in filter %}
{% set placeholder = asset("resources/images/transparent_large.png") %}
{% else %}
{% set placeholder = asset("resources/images/transparent_min.png") %}
{% endif %}
<img src="{{ placeholder }}"
data-src="{{ asset(color~'/'~number~'.png') | imagine_filter(filter) }}"
alt="{{ 'part.image.alt'|trans({'%number%':number}) }}">
</div>
{% endmacro %}
{% macro setImage(number, filter) %}
<div class="ui image load">
{% if 'large' in filter %}
{% set placeholder = asset("resources/images/transparent_large.png") %}
{% else %}
{% set placeholder = asset("resources/images/transparent_min.png") %}
{% endif %}
<img src="{{ placeholder }}"
data-src="{{ asset(number~'.jpg')|imagine_filter(filter) }}"
alt="{{ 'set.image.alt'|trans({'%number%':number}) }}">
</div>
{% endmacro %}
{% macro model(model, quantity = null, color = -1) %}
<a class="column part" href="{{ url('model_detail', {'id': model.id})}}">
<div class="ui card">
{% import _self as blocks %}
{{ blocks.partImage(model.id, 'part_min', color) }}
<div class="content">
<h3 class="header truncate">{{ model.id }}</h3>
<div class="meta">
<span class="truncate-multiline"><small>{{ model.name }}</small></span>
</div>
<div class="description">
{% if model.category is not null %}
<span><small>{{ model.category.name }}</small></span>
{% endif %}
{% if quantity %}<span class="right floated">{{ quantity }}x</span>{% endif %}
</div>
</div>
</div>
</a>
{% endmacro %}
{% macro part(part, quantity = null, color = -1) %}
<a class="column part" href="{{ url('part_detail', {'id': part.id})}}">
<div class="ui card">
{% import _self as blocks %}
{{ blocks.partImage(part.id,'part_min', color) }}
<div class="content">
<h3 class="header truncate">{{ part.id }}</h3>
<div class="meta">
<span class="truncate-multiline"><small>{{ part.name }}</small></span>
</div>
<div class="description">
{% if quantity %}<div class="right floated">{{ quantity }}x</div>{% endif %}
</div>
</div>
</div>
</a>
{% endmacro %}
{% macro set(set, quantity = null) %}
<a class="set column" href="{{ url('set_detail', {'id': set.id}) }}">
<div class="ui card">
{% import _self as blocks %}
{{ blocks.setImage(set.id,'set_min') }}
<div class="content">
<h3 title="{{ set.name }}" class="header truncate">
{{ set.name }}
</h3>
<div class="meta">
<span title="{{ set.id }}" class="left truncate">{{ set.id }}</span>
<br>
{% if set.theme is not null %}
<span title="{{ set.theme.fullName }}" class="left floated truncate"><small>{{ set.theme.fullName }}</small></span>
{% endif %}
</div>
<div class="description">
<small>
<span class="right floated">{{ set.year }}</span>
<span>{{ set.partCount }} parts</span>
</small>
</div>
</div>
{% if quantity %}
<div class="extra content">
<div class="right floated">{{ quantity }}x</div>
</div>
{% endif %}
</div>
</a>
{% endmacro %}
{% macro empty(title, message = null) %}
<h3 class="ui center aligned icon header empty">
<i class="circular frown icon"></i>
<div class="content">
{{ title }}
{% if message %}
<div class="sub header">{{ message }}</div>
{% endif %}
</div>
</h3>
{% endmacro %}
{% macro ccal2_license(title,author) %}
"{{ title }}" by {{ author }}, used under <a href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a> / Converted to stl from original
{% endmacro %}
{% macro meta(title, url, description, image, imageHeight = 600, imageWidth = 900) %}
<meta property="og:title" content="{{ title }}">
<meta property="og:description" content="{{ description }}">
<meta property="og:url" content="{{ url }}">
<meta property="og:image" content="{{ image }}">
<meta property="og:image:width" content="{{ imageWidth }}">
<meta property="og:image:height" content="{{ imageHeight }}">
<meta property="og:site_name" content="{{ name }}">
<meta property="twitter:card" content="summary">
{% endmacro %}