()
| 80 | const [emailToAdd, setEmailToAdd] = useState(''); |
| 81 | |
| 82 | const getOptions = async () => { |
| 83 | setLoading(true); |
| 84 | const res = await API.get('/api/option/'); |
| 85 | const { success, message, data } = res.data; |
| 86 | if (success) { |
| 87 | let newInputs = {}; |
| 88 | data.forEach((item) => { |
| 89 | switch (item.key) { |
| 90 | case 'TopupGroupRatio': |
| 91 | item.value = JSON.stringify(JSON.parse(item.value), null, 2); |
| 92 | break; |
| 93 | case 'EmailDomainWhitelist': |
| 94 | setEmailDomainWhitelist(item.value ? item.value.split(',') : []); |
| 95 | break; |
| 96 | case 'PasswordLoginEnabled': |
| 97 | case 'PasswordRegisterEnabled': |
| 98 | case 'EmailVerificationEnabled': |
| 99 | case 'GitHubOAuthEnabled': |
| 100 | case 'WeChatAuthEnabled': |
| 101 | case 'TelegramOAuthEnabled': |
| 102 | case 'RegisterEnabled': |
| 103 | case 'TurnstileCheckEnabled': |
| 104 | case 'EmailDomainRestrictionEnabled': |
| 105 | case 'EmailAliasRestrictionEnabled': |
| 106 | case 'SMTPSSLEnabled': |
| 107 | case 'LinuxDOOAuthEnabled': |
| 108 | case 'oidc.enabled': |
| 109 | case 'WorkerAllowHttpImageRequestEnabled': |
| 110 | item.value = toBoolean(item.value); |
| 111 | break; |
| 112 | case 'Price': |
| 113 | case 'MinTopUp': |
| 114 | item.value = parseFloat(item.value); |
| 115 | break; |
| 116 | default: |
| 117 | break; |
| 118 | } |
| 119 | newInputs[item.key] = item.value; |
| 120 | }); |
| 121 | setInputs(newInputs); |
| 122 | setOriginInputs(newInputs); |
| 123 | if (formApiRef.current) { |
| 124 | formApiRef.current.setValues(newInputs); |
| 125 | } |
| 126 | setIsLoaded(true); |
| 127 | } else { |
| 128 | showError(message); |
| 129 | } |
| 130 | setLoading(false); |
| 131 | }; |
| 132 | |
| 133 | useEffect(() => { |
| 134 | getOptions(); |
no test coverage detected