(
'/api/webdav/writeback-intent',
- targetSourceId ? { target_source_id: targetSourceId } : {},
+ { target_source_id: targetSourceId },
);
setWritebackResult(result);
setWritebackStatus('success');
@@ -115,7 +139,7 @@ export function DataLayout() {
setWritebackStatus('error');
}
}
- }, [webdavAccounts]);
+ }, [webdavAccounts, webdavAccountStatus]);
const requestUniqueThreadIntent = useCallback(async () => {
setUniqueThreadStatus('loading');
@@ -134,6 +158,8 @@ export function DataLayout() {
}, []);
const isWritebackLoading = writebackStatus === 'loading';
+ const isWebdavSourceLoading = webdavAccountStatus === 'loading';
+ const canRequestWebdavWriteback = webdavAccountStatus === 'ready';
const isUniqueThreadLoading = uniqueThreadStatus === 'loading';
return (
@@ -217,8 +243,9 @@ export function DataLayout() {
@@ -229,9 +256,15 @@ export function DataLayout() {
아직 WebDAV provider write는 실행하지 않았습니다. 원본 source와 충돌 조건만 확인합니다.
)}
{writebackStatus === 'loading' && WebDAV writeback intent 요청 중입니다.
}
+ {writebackStatus === 'idle' && webdavAccountStatus === 'error' && (
+ WebDAV 원본 계정 목록을 확인하지 못했습니다.
+ )}
{writebackStatus === 'no_source' && (
writeback 가능한 고객 WebDAV 원본 계정이 없어 intent를 만들 수 없습니다.
)}
+ {writebackStatus === 'fetch_error' && (
+ WebDAV 원본 계정 목록을 확인하지 못해 intent를 만들 수 없습니다.
+ )}
{writebackStatus === 'auth' && (
signed session이 필요합니다. 공개 identity header로는 WebDAV intent를 만들 수 없습니다.
)}