Show better error when no tags matching the tag filtered by

This commit is contained in:
Kalle 2026-03-20 18:08:03 +02:00
parent 19213056a7
commit 254425ef7f
18 changed files with 44 additions and 18 deletions

View File

@ -26,7 +26,11 @@ export const loader = async ({ request }: LoaderFunctionArgs) => {
? cachedArts.allTags.find((t) => t.name === filteredTagName)
: null;
if (!filteredTag) return cachedArts;
if (!filteredTag) {
return filteredTagName
? { ...cachedArts, showcaseArts: [] }
: cachedArts;
}
return {
...cachedArts,

View File

@ -160,7 +160,13 @@ export default function ArtPage() {
<ArtGrid arts={recentlyUploadedArts} showUploadDate />
</SendouTabPanel>
<SendouTabPanel id={TABS.SHOWCASE}>
<ArtGrid arts={showcaseArts} />
{filteredTag && showcaseArts.length === 0 ? (
<div className="no-results mt-4">
{t("art:noArtForTag", { tag: filteredTag })}
</div>
) : (
<ArtGrid arts={showcaseArts} />
)}
</SendouTabPanel>
</SendouTabs>
</Main>

View File

@ -29,5 +29,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "Maks antal etiketter opnået",
"delete.title": "",
"unlink.title": ""
"unlink.title": "",
"noArtForTag": ""
}

View File

@ -29,5 +29,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "",
"delete.title": "",
"unlink.title": ""
"unlink.title": "",
"noArtForTag": ""
}

View File

@ -29,5 +29,6 @@
"forms.tags.placeholder": "Select a tag",
"forms.tags.maxReached": "Max tags reached",
"delete.title": "Are you sure you want to delete the art?",
"unlink.title": "Are you sure you want to remove this art from your profile (only {{username}} can add it back)?"
"unlink.title": "Are you sure you want to remove this art from your profile (only {{username}} can add it back)?",
"noArtForTag": "No uploaded art found for #{{tag}}"
}

View File

@ -30,5 +30,6 @@
"forms.tags.placeholder": "Selecciona una etiqueta",
"forms.tags.maxReached": "Limite máximo de etiquetas",
"delete.title": "¿Seguro que quieres eliminar este arte?",
"unlink.title": "¿Seguro que quieres desvincular este arte de tu perfil? (solo {{username}} puede volver a añadirlo)"
"unlink.title": "¿Seguro que quieres desvincular este arte de tu perfil? (solo {{username}} puede volver a añadirlo)",
"noArtForTag": ""
}

View File

@ -30,5 +30,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "Limite máximo de etiquetas",
"delete.title": "",
"unlink.title": ""
"unlink.title": "",
"noArtForTag": ""
}

View File

@ -30,5 +30,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "Limite de tags atteinte",
"delete.title": "",
"unlink.title": ""
"unlink.title": "",
"noArtForTag": ""
}

View File

@ -30,5 +30,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "Limite de tags atteinte",
"delete.title": "Êtes vous sûre de vouloir supprimer cette œuvre?",
"unlink.title": "Êtes vous sûre de vouloir supprimer cette œuvre de votre profil? (Seulement {{username}} pourra le remettre)"
"unlink.title": "Êtes vous sûre de vouloir supprimer cette œuvre de votre profil? (Seulement {{username}} pourra le remettre)",
"noArtForTag": ""
}

View File

@ -30,5 +30,6 @@
"forms.tags.placeholder": "הגעת למקסימום תגים",
"forms.tags.maxReached": "הגעת לכמות תגים מקסימלית",
"delete.title": "האם אתה בטוח שאתה רוצה למחוק את הציור?",
"unlink.title": "האם אתה בטוח שאתה רוצה להסיר את הציור הזה מהפרופיל שלך (רק {{username}} יוכל להוסיף אותו חזרה)?"
"unlink.title": "האם אתה בטוח שאתה רוצה להסיר את הציור הזה מהפרופיל שלך (רק {{username}} יוכל להוסיף אותו חזרה)?",
"noArtForTag": ""
}

View File

@ -30,5 +30,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "Numero massimo di tag raggiunto.",
"delete.title": "",
"unlink.title": ""
"unlink.title": "",
"noArtForTag": ""
}

View File

@ -27,5 +27,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "タグの最大数に到達しました",
"delete.title": "",
"unlink.title": ""
"unlink.title": "",
"noArtForTag": ""
}

View File

@ -27,5 +27,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "",
"delete.title": "",
"unlink.title": ""
"unlink.title": "",
"noArtForTag": ""
}

View File

@ -29,5 +29,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "",
"delete.title": "",
"unlink.title": ""
"unlink.title": "",
"noArtForTag": ""
}

View File

@ -31,5 +31,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "",
"delete.title": "",
"unlink.title": ""
"unlink.title": "",
"noArtForTag": ""
}

View File

@ -30,5 +30,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "Quantidade máxima de marcações atingida",
"delete.title": "",
"unlink.title": ""
"unlink.title": "",
"noArtForTag": ""
}

View File

@ -31,5 +31,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "Максимальное кол-во тегов достигнуто",
"delete.title": "Вы точно хотите удалить этот арт?",
"unlink.title": "Вы точно хотите удалить этот арт с вашего профиля (только {{username}} может добавить его обратно)?"
"unlink.title": "Вы точно хотите удалить этот арт с вашего профиля (только {{username}} может добавить его обратно)?",
"noArtForTag": ""
}

View File

@ -27,5 +27,6 @@
"forms.tags.placeholder": "",
"forms.tags.maxReached": "已达到最大标签数",
"delete.title": "",
"unlink.title": ""
"unlink.title": "",
"noArtForTag": ""
}