Allow to customize which items get shown on the homepage and in which order

This fixes issue #470 and #894
This commit is contained in:
Jan Böhmer 2025-09-07 19:27:02 +02:00
parent 617ae03b48
commit 4b00697f02
4 changed files with 117 additions and 17 deletions

View file

@ -4,18 +4,13 @@
{% import "components/search.macro.html.twig" as search %}
{% import "vars.macro.twig" as vars %}
{% block content %}
{% if is_granted('@system.show_updates') %}
{{ nv.new_version_alert(new_version_available, new_version, new_version_url) }}
{% endif %}
{% block item_search %}
{% if is_granted('@parts.read') %}
{{ search.search_form("standalone") }}
<div class="mb-2"></div>
{% endif %}
{% endblock %}
{% block item_banner %}
<div class="rounded p-4 bg-body-secondary">
<h1 class="display-3">{{ vars.partdb_title() }}</h1>
<h4>
@ -31,9 +26,11 @@
</div>
{% endif %}
</div>
{% endblock %}
{% block item_first_steps %}
{% if show_first_steps %}
<div class="card border-info mt-3">
<div class="card border-info">
<div class="card-header bg-info ">
<h4><i class="fa fa-circle-play fa-fw " aria-hidden="true"></i> {% trans %}homepage.first_steps.title{% endtrans %}</h4>
</div>
@ -51,8 +48,10 @@
</div>
</div>
{% endif %}
{% endblock %}
<div class="card border-primary mt-3">
{% block item_license %}
<div class="card border-primary">
<div class="card-header bg-primary text-white">
<h4><i class="fa fa-book fa-fw" aria-hidden="true"></i> {% trans %}homepage.license{% endtrans %}</h4>
</div>
@ -68,9 +67,11 @@
<strong><i class="fas fa-comments fa-fw"></i> {% trans %}homepage.forum.caption{% endtrans %}:</strong> {% trans with {'%href%': 'https://github.com/Part-DB/Part-DB-server/discussions'}%}homepage.forum.text{% endtrans %}<br>
</div>
</div>
{% endblock %}
{% block item_last_activity %}
{% if datatable is not null %}
<div class="card mt-3">
<div class="card">
<div class="card-header"><i class="fas fa-fw fa-history"></i> {% trans %}homepage.last_activity{% endtrans %}</div>
<div class="card-body">
{% import "components/history_log_macros.html.twig" as log %}
@ -78,4 +79,23 @@
</div>
</div>
{% endif %}
{% endblock %}
{% endblock %}
{% block content %}
{% if is_granted('@system.show_updates') %}
{{ nv.new_version_alert(new_version_available, new_version, new_version_url) }}
{% endif %}
{% for item in settings_instance('customization').homepageitems %}
{% if block('item_' ~ item.value) is defined %}
{{ block('item_' ~ item.value) }}
<div class="mb-2"></div>
{% else %}
<div class="alert alert-warning mt-3" role="alert">
Alert: The homepage item "{{ item.value }}" is not defined!
</div>
{% endif %}
{% endfor %}
{% endblock %}