mirror of
https://github.com/ToxicCrack/PrintABrick.git
synced 2025-05-28 09:40:14 -07:00
115 lines
4.6 KiB
Twig
115 lines
4.6 KiB
Twig
{% extends 'base.html.twig' %}
|
|
|
|
{% block title %}#{{ model.number }} - {{ model.name }}{% endblock %}
|
|
|
|
{% block header %}#{{ model.number }} - {{ model.name }}{% endblock %}
|
|
|
|
{% block content %}
|
|
|
|
<div class="ui grid">
|
|
<div class="column ten wide">
|
|
<div id="model-viewer" class="model-container">
|
|
{{ blocks.modelImageLarge(model, -1) }}
|
|
</div>
|
|
</div>
|
|
<div class="column six wide">
|
|
<div class="item-info ui">
|
|
<a class="ui download primary button" href="{{ path('model_zip', {number: model.number}) }}">{{ 'model.download'|trans }}</a>
|
|
|
|
<table class="ui very basic table">
|
|
<tr>
|
|
<td>{{ 'model.category' | trans }}</td><td>{{ model.category ? model.category.name }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ 'model.author' | trans }}</td><td>{{ model.author.name }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ 'model.set.count' | trans }}</td><td>{{ sets|length }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ 'model.license' | trans }}</td>
|
|
<td>
|
|
{{ blocks.ccal2_license(model.name,model.author.name) }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ 'model.keywords' | trans }}</td>
|
|
<td>
|
|
{% for keyword in model.keywords %}
|
|
<span class="ui label">{{ keyword.name }}</span>
|
|
{% endfor %}
|
|
</td>
|
|
</tr>
|
|
{% if model.aliases|length %}
|
|
<tr>
|
|
<td>{{ 'model.aliases' | trans }}</td>
|
|
<td>
|
|
{% for alias in model.aliases | slice(0,10)%}
|
|
<span>{{ alias.number }}</span>{% if not loop.last %},{% endif %}
|
|
{% endfor %}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ui segment vertical item-info">
|
|
<div class="ui tabular pointing secondary menu">
|
|
<a class="item active" data-tab="subparts"><i class="cubes icon"></i> Subparts ({{ model.subparts|length }})</a>
|
|
<a class="item" data-tab="related"><i class="cubes icon"></i> Related ({{ related|length }})</a>
|
|
<a class="item" data-tab="parents"><i class="cubes icon"></i> Parents ({{ model.parents|length }})</a>
|
|
<a class="item" data-tab="sets"><i class="cubes icon"></i> Sets ({{ sets|length }})</a>
|
|
</div>
|
|
<div class="ui vertical segment">
|
|
|
|
<div class="ui tab active" data-tab="subparts">
|
|
<div class="ui eight column grid">
|
|
{% for subpart in model.subparts %}
|
|
<div class="column">
|
|
{{ blocks.part(subpart.subpart) }}
|
|
<p>{{ subpart.count }}</p>
|
|
<p style="border-bottom: 2px solid #{{ subpart.color.rgb }}">color: {{ subpart.color.name }}</p>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ui tab" data-tab="related">
|
|
<div class="ui eight column grid">
|
|
{% for subpart in related %}
|
|
<div class="column">
|
|
{{ blocks.part(subpart) }}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ui tab" data-tab="parents">
|
|
<div class="ui eight column grid">
|
|
{% for subpart in model.parents %}
|
|
<div class="column">
|
|
{{ blocks.part(subpart.parent) }}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ui tab" data-tab="sets">
|
|
{% for set in sets %}
|
|
<span style="margin: 5px"><a href="{{ url('set_detail', {number:set.number}) }}">{{ set.number }}</a></span>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block javascripts %}
|
|
{{ parent() }}
|
|
<script type="text/javascript">
|
|
window.onload = function() {
|
|
$('#model-viewer').ModelViewer('{{ url('media_file', {'path': model.path }) }}');
|
|
};
|
|
</script>
|
|
{% endblock %} |