mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 02:37:05 +02:00
feat: sort
This commit is contained in:
1 parent
3b4e089756
commit
11e87bd519
1 file changed
+18
-1
@@ -1,6 +1,8 @@
|
||||
import { useMemo } from "react";
|
||||
import { AvatarCard } from "../../../components/AvatarCard";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { useAwait } from "../../../hooks/useAwait";
|
||||
import { useGameStrings } from "../../../hooks/useGameStrings";
|
||||
import { LocaleProvider } from "../../../hooks/useLocale";
|
||||
|
||||
interface PageProps extends ContentProps {
|
||||
@@ -21,10 +23,25 @@ interface ContentProps {
|
||||
|
||||
function Content({ skeleton }: ContentProps) {
|
||||
const { avatars } = useAwait(() => api.avatars(), "avatars");
|
||||
const profileAvatarEntityStrings = useGameStrings("ProfileAvatarEntity");
|
||||
const ordered = useMemo(
|
||||
() =>
|
||||
avatars.sort((a, b) => {
|
||||
const nameA =
|
||||
profileAvatarEntityStrings[a.stuff_ui!.display_name] ??
|
||||
a.stuff_ui!.display_name;
|
||||
const nameB =
|
||||
profileAvatarEntityStrings[b.stuff_ui!.display_name] ??
|
||||
b.stuff_ui!.display_name;
|
||||
|
||||
return nameA.localeCompare(nameB);
|
||||
}),
|
||||
[]
|
||||
);
|
||||
|
||||
return (
|
||||
<div className="avatars">
|
||||
{avatars.slice(0, 12).map((avatar) => (
|
||||
{ordered.slice(0, 12).map((avatar) => (
|
||||
<AvatarCard key={avatar.name} avatar={avatar} />
|
||||
))}
|
||||
</div>
|
||||
|
||||
Reference in new issue
Block a user