Upgrade interface do MMPSearch

This commit is contained in:
JotaChina committed 2025-11-30 18:56:03 -03:00
1 parent c9b759842b
commit bf402eb3dd
4 files changed
+54 -88

No files matched your search

+22 -39
View File
@@ -8,6 +8,7 @@ permalink: /bassline/
<main class="main-content">
<div class="publication">
{% include sidebar.html %}
<div class="container">
<br />
@@ -22,8 +23,8 @@ permalink: /bassline/
<summary class="p-4 is-flex is-justify-content-space-between is-align-items-center"
style="cursor: pointer; background-color: #f0f8ff; transition: background-color 0.2s; user-select: none;">
<div class="is-flex is-align-items-center">
<span class="icon has-text-info mr-2"><i class="fa-solid fa-guitar"></i></span>
<span class="has-text-grey-dark has-text-weight-bold">Todos as Basslines Disponíveis</span>
<span class="icon has-text-info mr-2"><i class="fa-solid fa-sliders"></i></span>
<span class="has-text-grey-dark has-text-weight-bold">Todas as Basslines Disponíveis</span>
<span id="filter-counter" class="tag is-info is-light ml-3 is-hidden">0 selecionados</span>
</div>
<span class="icon has-text-grey-light chevron-icon"><i class="fa-solid fa-chevron-down"></i></span>
@@ -31,29 +32,22 @@ permalink: /bassline/
<div class="p-4" style="background-color: #fff; border-top: 1px solid #cfe8fc;">
<div class="tags is-centered are-medium mb-0">
{% assign all_automation_string = "" %}
{% assign all_bassline_string = "" %}
{% for p in site.data.all %}
{% for track in p.tracks %}
{% if track.bassline %}
{% for inst in track.bassline %}
{% if inst.instrument_name and inst.instrument_name != "" %}
{% unless all_automation_string contains inst.instrument_name %}
{% assign all_automation_string = all_automation_string | append: inst.instrument_name | append: "|||" %}
{% endunless %}
{% endif %}
{% endfor %}
{% elsif track.instrument_name and track.instrument_name != "" %}
{% unless all_automation_string contains track.instrument_name %}
{% assign all_automation_string = all_automation_string | append: track.instrument_name | append: "|||" %}
{% endunless %}
{% endif %}
{% endfor %}
{% if p.tags.bassline %}
{% for item in p.tags.bassline %}
{% if item != "" %}
{% unless all_bassline_string contains item %}
{% assign all_bassline_string = all_bassline_string | append: item | append: "|||" %}
{% endunless %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% assign unique_automation = all_automation_string | split: "|||" | sort %}
{% assign unique_bassline = all_bassline_string | split: "|||" | sort %}
{% for item in unique_automation %}
{% for item in unique_bassline %}
{% if item != "" %}
<a href="#" class="tag is-white filter-item clickable-tag"
data-value="{{ item }}"
@@ -86,20 +80,10 @@ permalink: /bassline/
<div id="project-list" class="columns is-multiline">
{% for projeto in site.data.all %}
{% assign project_insts = "" %}
{% for track in projeto.tracks %}
{% if track.bassline %}
{% for inst in track.bassline %}
{% assign project_insts = project_insts | append: inst.instrument_name | append: "," %}
{% endfor %}
{% elsif track.instrument_name %}
{% assign project_insts = project_insts | append: track.instrument_name | append: "," %}
{% endif %}
{% endfor %}
{% if projeto.tags.TAG contains "bassline" %}
<div class="column is-12-mobile is-6-tablet is-4-desktop is-3-widescreen project-item"
data-bassline="{{ project_insts }}">
data-bassline="{{ projeto.tags.bassline | join: ',' }}">
<div class="card project-card" style="height: 100%; background-color: #f0f8ff; border: 1px solid #cfe8fc; border-radius: 12px; display: flex; flex-direction: column;">
@@ -129,10 +113,9 @@ permalink: /bassline/
<div style="flex: 1;"></div>
{% assign unique_proj_insts = project_insts | split: "," | uniq %}
{% if unique_proj_insts.size > 0 %}
{% if projeto.tags.bassline and projeto.tags.bassline.size > 0 %}
<div class="tags is-centered is-gapless mb-0 mt-2" style="gap: 4px; justify-content: center;">
{% for item in unique_proj_insts %}
{% for item in projeto.tags.bassline %}
{% if item != "" %}
<span class="tag is-white filter-item clickable-tag" data-value="{{ item }}"
style="font-size: 0.65rem; border: 1px solid #deeaf6; color: #5b7da3; padding: 0 6px; height: 1.5em; text-decoration: none; cursor: pointer;">
@@ -154,6 +137,7 @@ permalink: /bassline/
</div>
</div>
{% endif %}
{% endfor %}
</div>
</div>
@@ -216,14 +200,13 @@ permalink: /bassline/
});
projects.forEach(project => {
// CORREÇÃO: Ler data-bassline em vez de data-plugins
const projectInstStr = project.getAttribute('data-bassline');
// Cria array de automações deste projeto
const projectInsts = projectInstStr.split(',').map(s => s.trim());
if (activeFilters.length === 0) {
project.style.display = 'block';
} else {
// Lógica OR: Se tiver pelo menos uma das automações filtradas, exibe
const hasMatch = activeFilters.some(filter => projectInsts.includes(filter));
project.style.display = hasMatch ? 'block' : 'none';
}
@@ -257,7 +240,7 @@ permalink: /bassline/
document.querySelectorAll('.filter-item').forEach(tag => {
tag.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation(); // Evita clique no card se for dentro dele
e.stopPropagation();
const val = this.getAttribute('data-value');
toggleFilter(val);
});