MCPcopy Create free account
hub / github.com/Autoanys/Autoanys / SelectLanguage

Function SelectLanguage

frontend/src/components/SelectGroup/SelectLanguage.tsx:5–73  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3import { useTranslation } from "react-i18next";
4
5const SelectLanguage: React.FC = () => {
6 const [selectedOption, setSelectedOption] = useState<string>("");
7 const [isOptionSelected, setIsOptionSelected] = useState<boolean>(false);
8 const { t, i18n } = useTranslation("setting");
9 const changeTextColor = () => {
10 setIsOptionSelected(true);
11 };
12
13 let lang = localStorage.getItem("langSelect") || "en";
14
15 const handleChangeLanguage = async (e) => {
16 localStorage.setItem("langSelect", e.target.value);
17 await i18n.changeLanguage(e.target.value);
18 console.log("OK", localStorage.getItem("langSelect"));
19 };
20
21 return (
22 <div className="mb-4.5">
23 <label className="mb-3 block text-sm font-medium text-black dark:text-white">
24 {" "}
25 {t("default_language")} <span className="text-meta-1">*</span>
26 </label>
27
28 <div className="relative z-20 bg-transparent dark:bg-form-input">
29 <select
30 value={lang}
31 onChange={(e) => {
32 setSelectedOption(e.target.value);
33 changeTextColor();
34 handleChangeLanguage(e);
35 }}
36 className={`relative z-20 w-full appearance-none rounded border border-stroke bg-transparent px-5 py-3 outline-none transition focus:border-primary active:border-primary dark:border-form-strokedark dark:bg-form-input dark:focus:border-primary ${
37 isOptionSelected ? "text-black dark:text-white" : ""
38 }`}
39 >
40 <option value="en" className="text-body dark:text-bodydark">
41 English
42 </option>
43 <option value="cn" className="text-body dark:text-bodydark">
44 中文 (简体)
45 </option>
46 <option value="zh-CN" className="text-body dark:text-bodydark">
47 中文 (繁體)
48 </option>
49 </select>
50
51 <span className="absolute right-4 top-1/2 z-30 -translate-y-1/2">
52 <svg
53 className="fill-current"
54 width="24"
55 height="24"
56 viewBox="0 0 24 24"
57 fill="none"
58 xmlns="http://www.w3.org/2000/svg"
59 >
60 <g opacity="0.8">
61 <path
62 fillRule="evenodd"

Callers

nothing calls this directly

Calls 2

handleChangeLanguageFunction · 0.85
changeTextColorFunction · 0.70

Tested by

no test coverage detected