mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-11-08 02:52:07 +08:00
@@ -40,9 +40,9 @@ export const BackupConfigViewer = memo(
|
||||
|
||||
const { register, handleSubmit, watch } = useForm<IWebDavConfig>({
|
||||
defaultValues: {
|
||||
url: webdav_url!,
|
||||
username: webdav_username!,
|
||||
password: webdav_password!,
|
||||
url: webdav_url ?? '',
|
||||
username: webdav_username ?? '',
|
||||
password: webdav_password ?? '',
|
||||
},
|
||||
})
|
||||
const url = watch('url')
|
||||
@@ -50,9 +50,9 @@ export const BackupConfigViewer = memo(
|
||||
const password = watch('password')
|
||||
|
||||
const webdavChanged =
|
||||
webdav_url !== url ||
|
||||
webdav_username !== username ||
|
||||
webdav_password !== password
|
||||
(webdav_url ?? '') !== url ||
|
||||
(webdav_username ?? '') !== username ||
|
||||
(webdav_password ?? '') !== password
|
||||
|
||||
const webdavSignature = buildWebdavSignature(verge)
|
||||
const webdavStatus = getWebdavStatus(webdavSignature)
|
||||
@@ -69,9 +69,9 @@ export const BackupConfigViewer = memo(
|
||||
}, [webdav_url, webdav_username, webdav_password, onInit, shouldAutoInit])
|
||||
|
||||
const checkForm = () => {
|
||||
const username = usernameRef.current?.value
|
||||
const username = usernameRef.current?.value.trim()
|
||||
const password = passwordRef.current?.value
|
||||
const url = urlRef.current?.value
|
||||
const url = urlRef.current?.value.trim()
|
||||
|
||||
if (!url) {
|
||||
urlRef.current?.focus()
|
||||
@@ -95,14 +95,15 @@ export const BackupConfigViewer = memo(
|
||||
}
|
||||
|
||||
const save = useLockFn(async (data: IWebDavConfig) => {
|
||||
checkForm()
|
||||
const trimmedUrl = data.url.trim()
|
||||
const trimmedUsername = data.username.trim()
|
||||
const isClearing = !trimmedUrl && !trimmedUsername && !data.password
|
||||
if (!isClearing) checkForm()
|
||||
const signature = buildWebdavSignature({
|
||||
webdav_url: data.url,
|
||||
webdav_username: data.username,
|
||||
webdav_password: data.password,
|
||||
})
|
||||
const trimmedUrl = data.url.trim()
|
||||
const trimmedUsername = data.username.trim()
|
||||
|
||||
try {
|
||||
setLoading(true)
|
||||
@@ -127,7 +128,7 @@ export const BackupConfigViewer = memo(
|
||||
)
|
||||
setWebdavStatus(signature, 'unknown')
|
||||
showNotice.success('settings.modals.backup.messages.webdavConfigSaved')
|
||||
await onSaveSuccess(signature)
|
||||
if (!isClearing) await onSaveSuccess(signature)
|
||||
} catch (error) {
|
||||
showNotice.error(
|
||||
'settings.modals.backup.messages.webdavConfigSaveFailed',
|
||||
@@ -223,9 +224,9 @@ export const BackupConfigViewer = memo(
|
||||
}}
|
||||
>
|
||||
{webdavChanged ||
|
||||
webdav_url === undefined ||
|
||||
webdav_username === undefined ||
|
||||
webdav_password === undefined ? (
|
||||
!webdav_url ||
|
||||
!webdav_username ||
|
||||
!webdav_password ? (
|
||||
<Button
|
||||
variant="contained"
|
||||
color={'primary'}
|
||||
|
||||
Reference in New Issue
Block a user