Retain sync setting on reset

After data reset, the sync setting should remain in its previous state (On or Off) instead of always defaulting to Off.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-18 01:21:54 +00:00
parent a6c751941c
commit a4533aea70
5 changed files with 51 additions and 13 deletions

View File

@@ -18,6 +18,7 @@ interface DataResetDialogProps {
onConfirm: () => Promise<void>;
isResetting: boolean;
isLoggedIn: boolean;
syncEnabled: boolean;
}
const DataResetDialog: React.FC<DataResetDialogProps> = ({
@@ -25,7 +26,8 @@ const DataResetDialog: React.FC<DataResetDialogProps> = ({
onOpenChange,
onConfirm,
isResetting,
isLoggedIn
isLoggedIn,
syncEnabled
}) => {
return (
<Dialog open={isOpen} onOpenChange={onOpenChange}>
@@ -40,6 +42,11 @@ const DataResetDialog: React.FC<DataResetDialogProps> = ({
<CloudOff size={16} className="mr-2" />
.
</div>
{syncEnabled && (
<div className="mt-2 text-neuro-income">
.
</div>
)}
</>
) : (
"이 작업은 되돌릴 수 없으며, 모든 예산, 지출 내역, 설정이 영구적으로 삭제됩니다."

View File

@@ -5,11 +5,13 @@ import { Button } from '@/components/ui/button';
import { useAuth } from '@/contexts/auth/AuthProvider';
import { useDataReset } from '@/hooks/useDataReset';
import DataResetDialog from './DataResetDialog';
import { isSyncEnabled } from '@/utils/sync/syncSettings';
const DataResetSection = () => {
const [isResetDialogOpen, setIsResetDialogOpen] = useState(false);
const { user } = useAuth();
const { isResetting, resetAllData } = useDataReset();
const syncEnabled = isSyncEnabled();
const handleResetAllData = async () => {
await resetAllData();
@@ -26,7 +28,11 @@ const DataResetSection = () => {
<div className="text-left">
<h3 className="font-medium"> </h3>
<p className="text-xs text-gray-500 mt-1">
{user ? "로컬 및 클라우드의 모든 예산, 지출 내역이 초기화됩니다." : "모든 예산, 지출 내역, 설정이 초기화됩니다."}
{user
? syncEnabled
? "로컬 및 클라우드의 모든 예산, 지출 내역이 초기화됩니다. 동기화 설정은 유지됩니다."
: "로컬 및 클라우드의 모든 예산, 지출 내역이 초기화됩니다."
: "모든 예산, 지출 내역, 설정이 초기화됩니다."}
</p>
</div>
</div>
@@ -46,6 +52,7 @@ const DataResetSection = () => {
onConfirm={handleResetAllData}
isResetting={isResetting}
isLoggedIn={!!user}
syncEnabled={syncEnabled}
/>
</>
);