Upgrade interface do MMPSearch
Deploy / Deploy (push) Successful in 1m17s Details

This commit is contained in:
JotaChina 2025-11-30 18:56:03 -03:00
parent 656b90860b
commit 5b89dfea16
4 changed files with 54 additions and 88 deletions

View File

@ -19,7 +19,7 @@
> >
</li> </li>
<li> <li>
<a href="{{ '/creation/' | relative_url }}" class="has-text-primary" <a href="{{ './creation.html/' | relative_url }}" class="has-text-primary"
><span class="icon is-small"><i class="fa-solid fa-plus-circle"></i></span ><span class="icon is-small"><i class="fa-solid fa-plus-circle"></i></span
><span>Crie seu projeto</span></a ><span>Crie seu projeto</span></a
> >

View File

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

View File

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

View File

@ -31,29 +31,29 @@ permalink: /sample/
<div class="p-4" style="background-color: #fff; border-top: 1px solid #cfe8fc;"> <div class="p-4" style="background-color: #fff; border-top: 1px solid #cfe8fc;">
<div class="tags is-centered are-medium mb-0"> <div class="tags is-centered are-medium mb-0">
{% assign all_automation_string = "" %} {% assign all_sample_string = "" %}
{% for p in site.data.all %} {% for p in site.data.all %}
{% for track in p.tracks %} {% for track in p.tracks %}
{% if track.sample %} {% if track.sample %}
{% for inst in track.sample %} {% for inst in track.sample %}
{% if inst.instrument_name and inst.instrument_name != "" %} {% if inst.sample_name and inst.sample_name != "" %}
{% unless all_automation_string contains inst.instrument_name %} {% unless all_sample_string contains inst.sample_name %}
{% assign all_automation_string = all_automation_string | append: inst.instrument_name | append: "|||" %} {% assign all_sample_string = all_sample_string | append: inst.sample_name | append: "|||" %}
{% endunless %} {% endunless %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% elsif track.instrument_name and track.instrument_name != "" %} {% elsif track.sample_name and track.sample_name != "" %}
{% unless all_automation_string contains track.instrument_name %} {% unless all_sample_string contains track.sample_name %}
{% assign all_automation_string = all_automation_string | append: track.instrument_name | append: "|||" %} {% assign all_sample_string = all_sample_string | append: track.sample_name | append: "|||" %}
{% endunless %} {% endunless %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% endfor %} {% endfor %}
{% assign unique_automation = all_automation_string | split: "|||" | sort %} {% assign unique_sample = all_sample_string | split: "|||" | sort %}
{% for item in unique_automation %} {% for item in unique_sample %}
{% if item != "" %} {% if item != "" %}
<a href="#" class="tag is-white filter-item clickable-tag" <a href="#" class="tag is-white filter-item clickable-tag"
data-value="{{ item }}" data-value="{{ item }}"
@ -91,10 +91,10 @@ permalink: /sample/
{% for track in projeto.tracks %} {% for track in projeto.tracks %}
{% if track.sample %} {% if track.sample %}
{% for inst in track.sample %} {% for inst in track.sample %}
{% assign project_insts = project_insts | append: inst.instrument_name | append: "," %} {% assign project_insts = project_insts | append: inst.sample_name | append: "," %}
{% endfor %} {% endfor %}
{% elsif track.instrument_name %} {% elsif track.sample_name %}
{% assign project_insts = project_insts | append: track.instrument_name | append: "," %} {% assign project_insts = project_insts | append: track.sample_name | append: "," %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}