diff --git a/public/locales/en/member.json b/public/locales/en/member.json index 872eed25..2d7076e4 100644 --- a/public/locales/en/member.json +++ b/public/locales/en/member.json @@ -33,5 +33,7 @@ "search_by_id": "Search by ID", "search_by_id_ph": "Input user ID", "search_by_email": "Search by email", - "search_by_email_ph": "Input user email" + "search_by_email_ph": "Input user email", + "search_by_name": "Search by name", + "search_by_name_ph": "Input user name" } diff --git a/src/app/services/user.ts b/src/app/services/user.ts index fa2e46a0..77fffd20 100644 --- a/src/app/services/user.ts +++ b/src/app/services/user.ts @@ -89,7 +89,7 @@ export const userApi = createApi({ method: "POST" }) }), - searchUser: builder.mutation({ + searchUser: builder.mutation({ query: (input) => ({ url: `/user/search`, body: input, diff --git a/src/components/SearchUser.tsx b/src/components/SearchUser.tsx index 6fa7fb40..2c7427fe 100644 --- a/src/components/SearchUser.tsx +++ b/src/components/SearchUser.tsx @@ -17,7 +17,7 @@ import Input from "./styled/Input"; type Props = { closeModal: () => void; }; -type Type = "id" | "email"; +type Type = "id" | "email" | "name"; const SearchUser: FC = ({ closeModal }) => { const [updateContactStatus, { isLoading: adding }] = useUpdateContactStatusMutation(); @@ -25,10 +25,11 @@ const SearchUser: FC = ({ closeModal }) => { const { t } = useTranslation(); const navigateTo = useNavigate(); const inputRef = useRef(null); - const [type, setType] = useState("email"); + const [type, setType] = useState("name"); const [input, setInput] = useState({ id: "", - email: "" + email: "", + name: "" }); const [searchUser, { data, isSuccess, isLoading, reset }] = useSearchUserMutation(); const handleInput = (evt: ChangeEvent) => { @@ -72,19 +73,25 @@ const SearchUser: FC = ({ closeModal }) => { // const tmpData = { "avatar_updated_at": 0, "birthday": 0, "create_by": "password", "email": "tristan@alex.com", "gender": 0, "is_admin": true, "is_bot": false, "language": "en-US", "name": "Admin", "uid": 1 }; // const showResult = isSuccess && data; const inContact = Boolean(data && usersData[data.uid] && usersData[data.uid].status == "added"); - const inputType = type == "id" ? "number" : "email"; + const inputType = type == "id" ? "number" : type == "email" ? "email" : "text"; return (
+ {t("search_by_name", { ns: "member" })} + + {t("search_by_email", { ns: "member" })} {t("search_by_id", { ns: "member" })} @@ -101,7 +108,9 @@ const SearchUser: FC = ({ closeModal }) => { placeholder={`${ type == "email" ? t("search_by_email_ph", { ns: "member" }) - : t("search_by_id_ph", { ns: "member" }) + : type == "id" + ? t("search_by_id_ph", { ns: "member" }) + : t("search_by_name_ph", { ns: "member" }) }...`} onChange={handleInput} />