mirror of
https://github.com/ToxicCrack/PrintABrick.git
synced 2025-05-18 13:10:08 -07:00
Add credit to source of data
This commit is contained in:
parent
c01abcd657
commit
e7c97f4f1a
@ -39,6 +39,9 @@
|
||||
|
||||
.item-info {
|
||||
min-height: 300px;
|
||||
background: #EEEEEE;
|
||||
padding: 20px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.ui.fixed + .ui.header {
|
||||
|
@ -1,6 +1,6 @@
|
||||
set:
|
||||
filter.title: Filter
|
||||
id: Set number
|
||||
id: Number
|
||||
name: Name
|
||||
year: Released
|
||||
theme: Theme
|
||||
@ -12,6 +12,12 @@ set:
|
||||
text: |
|
||||
This set inventory has been obtained from Rebrickable.
|
||||
According to the Brickset, this set has %brickset% parts. The inventory from Rebrickable contains %rebrickable% parts.
|
||||
rebrickable:
|
||||
credit: |
|
||||
This set inventory and model images has been obtained from Rebrickable. To view more information about set visit <a href="https://rebrickable.com/" title="Rebrickable">Rebrickable.com</a>.
|
||||
brickset:
|
||||
credit: |
|
||||
This data has been obtained from <a href="https://brickset.com/" title="Brickset">Brickset</a>
|
||||
instructions:
|
||||
description: Description
|
||||
filesize: Filesize
|
||||
@ -49,10 +55,11 @@ set:
|
||||
|
||||
model:
|
||||
filter.title: Filter
|
||||
id: Model number
|
||||
id: Number
|
||||
name: Name
|
||||
category: Category
|
||||
author: Author
|
||||
set.count:
|
||||
set.count: In sets
|
||||
license: License
|
||||
keywords: Keywords
|
||||
aliases: Aliases
|
||||
@ -66,6 +73,7 @@ page:
|
||||
model.index: Browse models
|
||||
set.index: Browse sets
|
||||
search: "Search: \"%query%\""
|
||||
color: Colors
|
||||
|
||||
filter:
|
||||
model:
|
||||
|
@ -9,7 +9,12 @@
|
||||
{% endfor %}
|
||||
|
||||
{% if description|length %}
|
||||
{{ description|raw }}
|
||||
<div class="ui segment vertical">
|
||||
{{ description|raw }}
|
||||
</div>
|
||||
<div class="ui segment vertical">
|
||||
<p class="ui text right">{{ 'set.brickset.credit' | trans | raw }}</p>
|
||||
</div>
|
||||
{% else %}
|
||||
{{ blocks.empty('empty.description'|trans) }}
|
||||
{% endif %}
|
||||
|
@ -9,14 +9,19 @@
|
||||
{% endfor %}
|
||||
|
||||
{% if images|length %}
|
||||
<div class="ui six doubling cards">
|
||||
{% for image in images %}
|
||||
<div class="card">
|
||||
<a class="ui bordered fluid image" href="{{ image.imageURL }}" data-lightbox="setImages">
|
||||
<img src="{{ image.thumbnailURL }}">
|
||||
</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="ui segment vertical">
|
||||
<div class="ui six doubling cards">
|
||||
{% for image in images %}
|
||||
<div class="card">
|
||||
<a class="ui bordered fluid image" href="{{ image.imageURL }}" data-lightbox="setImages">
|
||||
<img src="{{ image.thumbnailURL }}">
|
||||
</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui segment vertical">
|
||||
<p class="ui text right">{{ 'set.brickset.credit' | trans | raw }}</p>
|
||||
</div>
|
||||
{% else %}
|
||||
{{ blocks.empty('empty.images') }}
|
||||
|
@ -9,27 +9,31 @@
|
||||
{% endfor %}
|
||||
|
||||
{% if instructions|length != 0 %}
|
||||
<p><cite>{{ 'set.instructions.text' | trans | raw | nl2br }}</cite></p>
|
||||
<p class="ui text right">Text and data obtained from <a href="https://brickset.com/" title="Brickset">Brickset</a></p>
|
||||
<div class="ui segment vertical">
|
||||
<p><cite>{{ 'set.instructions.text' | trans | raw | nl2br }}</cite></p>
|
||||
|
||||
<table class="ui celled padded table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ 'set.instructions.description' | trans }}</th>
|
||||
<th>{{ 'set.instructions.filesize' | trans }}</th>
|
||||
<th>{{ 'set.instructions.filename' | trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for instruction in instructions %}
|
||||
<table class="ui celled padded table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ instruction.description }}</td>
|
||||
<td>{{ remoteSize(instruction.uRL) | bytesToSize }}</td>
|
||||
<td><a href="{{ instruction.uRL }}">{{ remoteFilename(instruction.uRL) }}</a></td>
|
||||
<th>{{ 'set.instructions.description' | trans }}</th>
|
||||
<th>{{ 'set.instructions.filesize' | trans }}</th>
|
||||
<th>{{ 'set.instructions.filename' | trans }}</th>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for instruction in instructions %}
|
||||
<tr>
|
||||
<td>{{ instruction.description }}</td>
|
||||
<td>{{ remoteSize(instruction.uRL) | bytesToSize }}</td>
|
||||
<td><a href="{{ instruction.uRL }}">{{ remoteFilename(instruction.uRL) }}</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="ui segment vertical">
|
||||
<p class="ui text right">{{ 'set.brickset.credit' | trans | raw }}</p>
|
||||
</div>
|
||||
{% else %}
|
||||
{{ blocks.empty('empty.instructions') }}
|
||||
{% endif %}
|
||||
|
@ -9,62 +9,68 @@
|
||||
{% endfor %}
|
||||
|
||||
{% if reviews|length != 0 %}
|
||||
<div class="ui comments">
|
||||
{% for review in reviews | slice(0,4) %}
|
||||
<div class="ui segment vertical">
|
||||
<div class="ui container divided stackable grid comment">
|
||||
<div class="row">
|
||||
<div class="column four wide ratings">
|
||||
<dl>
|
||||
{% if review.overallRating %}
|
||||
<dt>Overall rating</dt>
|
||||
<dd><span class="ui star rating" data-rating="{{ review.overallRating }}" data-max-rating="5"></span></dd>
|
||||
{% endif %}
|
||||
{% if review.valueForMoney %}
|
||||
<dt>Value for money</dt>
|
||||
<dd><span class="ui star rating" data-rating="{{ review.valueForMoney }}" data-max-rating="5"></span></dd>
|
||||
{% endif %}
|
||||
{% if review.playability %}
|
||||
<dt>Playability</dt>
|
||||
<dd><span class="ui star rating" data-rating="{{ review.playability }}" data-max-rating="5"></span></dd>
|
||||
{% endif %}
|
||||
{% if review.parts %}
|
||||
<dt>Parts</dt>
|
||||
<dd><span class="ui star rating" data-rating="{{ review.parts }}" data-max-rating="5"></span></dd>
|
||||
{% endif %}
|
||||
{% if review.buildingExperience %}
|
||||
<dt>Building experience</dt>
|
||||
<dd><span class="ui star rating" data-rating="{{ review.buildingExperience }}" data-max-rating="5"></span></dd>
|
||||
{% endif %}
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<div class="column twelve wide comment">
|
||||
<div class="content">
|
||||
<div class="header">
|
||||
<h2>{{ review.title }}</h2>
|
||||
</div>
|
||||
<span class="author">{{ review.author }}</span>
|
||||
<div class="metadata">
|
||||
<span class="date">{{ review.datePosted|date("Y.m.d H:m:i")}}</span>
|
||||
|
||||
</div>
|
||||
<div class="text">
|
||||
{% if review.hTML %}
|
||||
{{ review.review|raw }}
|
||||
{% else %}
|
||||
<p>{{ review.review }}</p>
|
||||
<div class="ui segment vertical">
|
||||
<div class="ui comments">
|
||||
{% for review in reviews | slice(0,4) %}
|
||||
<div class="ui segment vertical">
|
||||
<div class="ui container divided stackable grid comment">
|
||||
<div class="row">
|
||||
<div class="column four wide ratings">
|
||||
<dl>
|
||||
{% if review.overallRating %}
|
||||
<dt>Overall rating</dt>
|
||||
<dd><span class="ui star rating" data-rating="{{ review.overallRating }}" data-max-rating="5"></span></dd>
|
||||
{% endif %}
|
||||
{% if review.valueForMoney %}
|
||||
<dt>Value for money</dt>
|
||||
<dd><span class="ui star rating" data-rating="{{ review.valueForMoney }}" data-max-rating="5"></span></dd>
|
||||
{% endif %}
|
||||
{% if review.playability %}
|
||||
<dt>Playability</dt>
|
||||
<dd><span class="ui star rating" data-rating="{{ review.playability }}" data-max-rating="5"></span></dd>
|
||||
{% endif %}
|
||||
{% if review.parts %}
|
||||
<dt>Parts</dt>
|
||||
<dd><span class="ui star rating" data-rating="{{ review.parts }}" data-max-rating="5"></span></dd>
|
||||
{% endif %}
|
||||
{% if review.buildingExperience %}
|
||||
<dt>Building experience</dt>
|
||||
<dd><span class="ui star rating" data-rating="{{ review.buildingExperience }}" data-max-rating="5"></span></dd>
|
||||
{% endif %}
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<div class="column twelve wide comment">
|
||||
<div class="content">
|
||||
<div class="header">
|
||||
<h2>{{ review.title }}</h2>
|
||||
</div>
|
||||
<span class="author">{{ review.author }}</span>
|
||||
<div class="metadata">
|
||||
<span class="date">{{ review.datePosted|date("Y.m.d H:m:i")}}</span>
|
||||
|
||||
</div>
|
||||
<div class="text">
|
||||
{% if review.hTML %}
|
||||
{{ review.review|raw }}
|
||||
{% else %}
|
||||
<p>{{ review.review }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<a class="fluid ui button" href="https://brickset.com/reviews/set-{{ id }}">{{ 'set.reviews.link' | trans }}</a>
|
||||
<a class="fluid ui button" href="https://brickset.com/reviews/set-{{ id }}">{{ 'set.reviews.link' | trans }}</a>
|
||||
|
||||
</div>
|
||||
<div class="ui segment vertical">
|
||||
<p class="ui text right">{{ 'set.brickset.credit' | trans | raw }}</p>
|
||||
</div>
|
||||
{% else %}
|
||||
{{ blocks.empty('empty.reviews') }}
|
||||
{% endif %}
|
||||
|
@ -20,6 +20,10 @@
|
||||
<td>{{ 'model.id' | trans }}</td>
|
||||
<td><h2>{{ model.id }}</h2></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ 'model.name' | trans }}</td>
|
||||
<td>{{ model.name }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ 'model.category' | trans }}</td>
|
||||
<td><a href="{{ path('model_index',{'m[category]':model.category.id}) }}">{{ model.category ? model.category.name }}</a></td>
|
||||
@ -58,7 +62,6 @@
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
|
||||
<a class="ui download fluid primary button" href="{{ path('model_zip', {id: model.id}) }}">{{ 'model.download'|trans }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
{% import 'macros/blocks.html.twig' as blocks %}
|
||||
|
||||
{% block header %}#{{ part.id }} - {{ part.name }}{% endblock %}
|
||||
{% block header %}{{ part.name }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="ui grid">
|
||||
@ -15,7 +15,7 @@
|
||||
<div class="item-info ui">
|
||||
<table class="ui very basic table">
|
||||
<tr>
|
||||
<td>{{ 'part.id' | trans }}</td><td>{{ part.id}}</td>
|
||||
<td>{{ 'part.id' | trans }}</td><td><h2>{{ part.id}}</h2></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ 'part.name' | trans }}</td><td>{{ part.name}}</td>
|
||||
@ -49,11 +49,16 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><a href="{{ apiPart.url }}">Rebrickable</a></td>
|
||||
<td>{{ 'part.prints' | trans }}</td>
|
||||
<td>
|
||||
{% for mold in apiPart.prints %}
|
||||
<a href="{{ url('reb_part_detail', {'id': mold})}}">{{ mold }}</a>
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
{#{{ dump(apiPart.externalIds, apiPart) }}#}
|
||||
<td></td>
|
||||
<td><a class="rebrickable link" href="{{ apiPart.url }}">Rebrickable</a></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
@ -61,21 +66,16 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4 class="ui horizontal divider header">
|
||||
<i class="puzzle icon"></i> Sets
|
||||
</h4>
|
||||
{#<div class="segment ui vertical">#}
|
||||
{#<h4 class="ui horizontal divider header">#}
|
||||
{#<i class="puzzle icon"></i> Sets#}
|
||||
{#</h4>#}
|
||||
|
||||
<div class="ui eight column grid">
|
||||
{% for set in sets %}
|
||||
<div class="column">
|
||||
<div class="ui fluid bordered image">
|
||||
<a href="{{ url('set_detail', {id:set.id}) }}">
|
||||
{{ blocks.setImage(set.id,'set_min') }}
|
||||
<div class="ui bottom attached label">{{ set.id }}<br></div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{#<div class="ui eight column grid">#}
|
||||
{#{% for set in sets %}#}
|
||||
{#{{ blocks.set(set) }}#}
|
||||
{#{% endfor %}#}
|
||||
{#</div>#}
|
||||
{#</div>#}
|
||||
|
||||
{% endblock %}
|
||||
|
@ -62,7 +62,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui segment vertical item-info">
|
||||
<div class="ui segment vertical">
|
||||
<div class="ui tabular pointing secondary menu">
|
||||
<a class="item active" data-tab="inventory"><i class="cubes icon"></i> Inventory ({{ set ? set.partCount : 0}})</a>
|
||||
{% if brset %}
|
||||
|
@ -8,36 +8,42 @@
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% if inventorySets %}
|
||||
<h3 class="ui horizontal divider header">Sets</h3>
|
||||
<div class="ui eight column doubling grid sets">
|
||||
{% for inventorySet in inventorySets %}
|
||||
{{ blocks.set(inventorySet.set, inventorySet.quantity) }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% if missingCount > 0 %}
|
||||
<div class="ui warning icon message">
|
||||
<i class="warning icon"></i>
|
||||
<div class="content">
|
||||
<div class="header">
|
||||
{{ 'set.download.warning.title' | trans }}
|
||||
<div class="ui segment vertical">
|
||||
{% if inventorySets %}
|
||||
<h3 class="ui horizontal divider header">Sets</h3>
|
||||
<div class="ui eight column doubling grid sets">
|
||||
{% for inventorySet in inventorySets %}
|
||||
{{ blocks.set(inventorySet.set, inventorySet.quantity) }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% if missingCount > 0 %}
|
||||
<div class="ui warning icon message">
|
||||
<i class="warning icon"></i>
|
||||
<div class="content">
|
||||
<div class="header">
|
||||
{{ 'set.download.warning.title' | trans }}
|
||||
</div>
|
||||
<p> {{ 'set.download.warning.text' | trans({'%percent%':((1 - missingCount/partCount)*100)|number_format(2, '.', ','), '%total%':partCount, '%missing%': missingCount, '%unique%': missing|length}) | raw | nl2br }}</p>
|
||||
</div>
|
||||
<p> {{ 'set.download.warning.text' | trans({'%percent%':((1 - missingCount/partCount)*100)|number_format(2, '.', ','), '%total%':partCount, '%missing%': missingCount, '%unique%': missing|length}) | raw | nl2br }}</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="ui tabular icon pointing secondary menu submenu">
|
||||
<a class="ui item active button" data-tab="inventory/models"><i class="grid layout icon"></i> Uni-Color</a>
|
||||
<a class="ui item button" data-tab="inventory/colors"><i class="list layout icon"></i> Multi-Color</a>
|
||||
</div>
|
||||
|
||||
<div class="ui tab active" data-tab="inventory/models">
|
||||
{{ render(path('set_models', {id: set.id})) }}
|
||||
</div>
|
||||
<div class="ui tab" data-tab="inventory/colors">
|
||||
{{ render(path('set_colors', {id: set.id})) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="ui tabular icon pointing secondary menu submenu">
|
||||
<a class="ui item active button" data-tab="inventory/models"><i class="grid layout icon"></i> Uni-Color</a>
|
||||
<a class="ui item button" data-tab="inventory/colors"><i class="list layout icon"></i> Multi-Color</a>
|
||||
</div>
|
||||
|
||||
<div class="ui tab active" data-tab="inventory/models">
|
||||
{{ render(path('set_models', {id: set.id})) }}
|
||||
</div>
|
||||
<div class="ui tab" data-tab="inventory/colors">
|
||||
{{ render(path('set_colors', {id: set.id})) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="ui segment vertical">
|
||||
<p class="ui text right">{{ 'set.rebrickable.credit' | trans | raw }}</p>
|
||||
</div>
|
||||
{% endblock %}
|
Loading…
x
Reference in New Issue
Block a user