Files
blitzkit/packages/website-ue/src/components/AvatarControls/index.tsx
T

34 lines
908 B
TypeScript
Raw Normal View History

2026-01-15 14:13:34 -06:00
import { MagnifyingGlassIcon } from "@radix-ui/react-icons";
2026-01-15 14:30:40 -06:00
import { useRef } from "react";
2026-01-15 14:13:34 -06:00
import { useStrings } from "../../hooks/useStrings";
2026-01-15 14:30:40 -06:00
import { Avatars } from "../../stores/avatars";
2026-01-15 14:13:34 -06:00
import { TextField } from "../TextField";
import "./index.css";
export function AvatarControls() {
const strings = useStrings();
2026-01-15 14:30:40 -06:00
const search = useRef<HTMLInputElement>(null);
2026-01-15 14:13:34 -06:00
return (
2026-01-15 14:30:40 -06:00
<div className="avatar-controls">
<TextField
ref={search}
className="search"
placeholder={strings.avatars.search}
onChange={(event) => {
const trimmed = event.target.value.trim();
Avatars.mutate((draft) => {
if (trimmed.length === 0) {
draft.search = null;
} else {
draft.search = trimmed;
}
});
}}
>
2026-01-15 14:13:34 -06:00
<MagnifyingGlassIcon />
</TextField>
</div>
);
}