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) ? cachedArts.allTags.find((t) => t.name === filteredTagName)
: null; : null;
if (!filteredTag) return cachedArts; if (!filteredTag) {
return filteredTagName
? { ...cachedArts, showcaseArts: [] }
: cachedArts;
}
return { return {
...cachedArts, ...cachedArts,

View File

@ -160,7 +160,13 @@ export default function ArtPage() {
<ArtGrid arts={recentlyUploadedArts} showUploadDate /> <ArtGrid arts={recentlyUploadedArts} showUploadDate />
</SendouTabPanel> </SendouTabPanel>
<SendouTabPanel id={TABS.SHOWCASE}> <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> </SendouTabPanel>
</SendouTabs> </SendouTabs>
</Main> </Main>

View File

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

View File

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

View File

@ -29,5 +29,6 @@
"forms.tags.placeholder": "Select a tag", "forms.tags.placeholder": "Select a tag",
"forms.tags.maxReached": "Max tags reached", "forms.tags.maxReached": "Max tags reached",
"delete.title": "Are you sure you want to delete the art?", "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.placeholder": "Selecciona una etiqueta",
"forms.tags.maxReached": "Limite máximo de etiquetas", "forms.tags.maxReached": "Limite máximo de etiquetas",
"delete.title": "¿Seguro que quieres eliminar este arte?", "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.placeholder": "",
"forms.tags.maxReached": "Limite máximo de etiquetas", "forms.tags.maxReached": "Limite máximo de etiquetas",
"delete.title": "", "delete.title": "",
"unlink.title": "" "unlink.title": "",
"noArtForTag": ""
} }

View File

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

View File

@ -30,5 +30,6 @@
"forms.tags.placeholder": "", "forms.tags.placeholder": "",
"forms.tags.maxReached": "Limite de tags atteinte", "forms.tags.maxReached": "Limite de tags atteinte",
"delete.title": "Êtes vous sûre de vouloir supprimer cette œuvre?", "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.placeholder": "הגעת למקסימום תגים",
"forms.tags.maxReached": "הגעת לכמות תגים מקסימלית", "forms.tags.maxReached": "הגעת לכמות תגים מקסימלית",
"delete.title": "האם אתה בטוח שאתה רוצה למחוק את הציור?", "delete.title": "האם אתה בטוח שאתה רוצה למחוק את הציור?",
"unlink.title": "האם אתה בטוח שאתה רוצה להסיר את הציור הזה מהפרופיל שלך (רק {{username}} יוכל להוסיף אותו חזרה)?" "unlink.title": "האם אתה בטוח שאתה רוצה להסיר את הציור הזה מהפרופיל שלך (רק {{username}} יוכל להוסיף אותו חזרה)?",
"noArtForTag": ""
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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