Skip to content

Commit

Permalink
Leave only localized code on localized_scripts.js
Browse files Browse the repository at this point in the history
Signed-off-by: George Araújo <[email protected]>
  • Loading branch information
george-gca committed Feb 4, 2025
1 parent a5e7a17 commit 76b8ef5
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 16 deletions.
23 changes: 8 additions & 15 deletions _scripts/localized_scripts.js.liquid
Original file line number Diff line number Diff line change
@@ -1,32 +1,25 @@
---
permalink: /assets/js/localized_scripts.js
---
import { addFavoriteTag, filterCards, getTagsFromCards, insertCardsIntoHtml, loadFavoriteCardsId, searchCards, sortCardsByTitle } from '
{{- '/assets/js/cards.js' | relative_url -}}
';
import { addFavoriteTag, filterCards, getCardsFromJson, getTagsFromCards, insertCardsIntoHtml, loadFavoriteCardsId, searchCards, sortCardsByTitle }
from '{{ '/assets/js/cards.js' | relative_url }}';

{% if site.active_lang == site.default_lang -%}
const res = await fetch('{{ '/assets/data/cards.json' | relative_url }}');
{%- else -%}
const res = await fetch('{{ '/assets/data/cards.json' | prepend: site.active_lang | prepend: '/' | relative_url }}');
{%- endif %}

// variables that need to be set by jekyll const allTag = '{{ site.data[site.active_lang].strings.all }}'; const favoriteTag = '
{{- site.data[site.active_lang].strings.favorites -}}
'; const noResultsAlt = '{{ site.data[site.active_lang].strings.no_results.alt }}'; const noResultsText = `
{% comment %} variables that need to be set by jekyll {% endcomment %}
const allTag = '{{ site.data[site.active_lang].strings.all }}'; const favoriteTag = '{{ site.data[site.active_lang].strings.favorites }}'; const
noResultsAlt = '{{ site.data[site.active_lang].strings.no_results.alt }}'; const noResultsText = `
{{- site.data[site.active_lang].strings.no_results.text -}}
`;

async function getCardsFromJson() { try {
{% if site.active_lang == site.default_lang -%}
const res = await fetch('{{ '/assets/data/cards.json' | relative_url }}');
const jsonPath = '{{ '/assets/data/cards.json' | relative_url }}';
{%- else -%}
const res = await fetch('{{ '/assets/data/cards.json' | prepend: site.active_lang | prepend: '/' | relative_url }}');
const jsonPath = '{{ '/assets/data/cards.json' | prepend: site.active_lang | prepend: '/' | relative_url }}';
{%- endif %}
const data = await res.json(); const sortedCards = await sortCardsByTitle(data); document.getElementById('total-terms').textContent =
sortedCards.length; await loadFavoriteCardsId(); await addFavoriteTag(sortedCards, favoriteTag); getTagsFromCards(sortedCards, favoriteTag);
insertCardsIntoHtml(sortedCards, favoriteTag, allTag, noResultsAlt, noResultsText); } catch (error) { console.error('An error occurred while fetching
card data.', error); } }

document.querySelector('#search-input').addEventListener('input', searchCards); document.querySelector('#tags-filter').addEventListener('change',
filterCards(allTag)); getCardsFromJson();
filterCards(allTag)); getCardsFromJson(jsonPath, favoriteTag, allTag, noResultsAlt, noResultsText);
17 changes: 16 additions & 1 deletion assets/js/cards.js
Original file line number Diff line number Diff line change
Expand Up @@ -317,4 +317,19 @@ function generateContentId(title = "", description = "", hash = 5381) {
return hashString;
}

export { addFavoriteTag, filterCards, getTagsFromCards, insertCardsIntoHtml, loadFavoriteCardsId, searchCards, sortCardsByTitle };
async function getCardsFromJson(jsonPath, favoriteTag, allTag, noResultsAlt, noResultsText) {
try {
const res = await fetch(jsonPath);
const data = await res.json();
const sortedCards = await sortCardsByTitle(data);
document.getElementById("total-terms").textContent = sortedCards.length;
await loadFavoriteCardsId();
await addFavoriteTag(sortedCards, favoriteTag);
getTagsFromCards(sortedCards, favoriteTag);
insertCardsIntoHtml(sortedCards, favoriteTag, allTag, noResultsAlt, noResultsText);
} catch (error) {
console.error("An error occurred while fetching card data.", error);
}
}

export { addFavoriteTag, filterCards, getCardsFromJson, getTagsFromCards, insertCardsIntoHtml, loadFavoriteCardsId, searchCards, sortCardsByTitle };

0 comments on commit 76b8ef5

Please sign in to comment.