mirror of
https://github.com/ToxicCrack/PrintABrick.git
synced 2025-05-18 21:20:09 -07:00
126 lines
5.0 KiB
Twig
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 %} |