diff --git a/frontend/src/pages/resource_details_page.tsx b/frontend/src/pages/resource_details_page.tsx index 7af3718..0e411ec 100644 --- a/frontend/src/pages/resource_details_page.tsx +++ b/frontend/src/pages/resource_details_page.tsx @@ -2081,6 +2081,11 @@ function GalleryImage({src, nfsw}: {src: string, nfsw: boolean}) { function Characters({ characters }: { characters: CharacterParams[] }) { const { t } = useTranslation(); + let main = characters.filter((c) => c.role === "primary"); + let other1 = characters.filter((c) => c.role !== "primary" && c.image); + let other2 = characters.filter((c) => c.role !== "primary" && !c.image); + characters = [...main, ...other1, ...other2]; + if (!characters || characters.length === 0) { return <>; } @@ -2088,7 +2093,7 @@ function Characters({ characters }: { characters: CharacterParams[] }) { return (

{t("Characters")}

-
+
{characters.map((character, index) => ( ))} @@ -2099,6 +2104,7 @@ function Characters({ characters }: { characters: CharacterParams[] }) { function CharacterCard({ character }: { character: CharacterParams }) { const navigate = useNavigate(); + const { t } = useTranslation(); const handleCVClick = (e: React.MouseEvent) => { e.stopPropagation(); @@ -2110,20 +2116,29 @@ function CharacterCard({ character }: { character: CharacterParams }) { return (
{character.name} -
-

+
+

{character.name} + { + character.role === "primary" ? ( + + Main + + ) : null + }

{character.cv && (