Visual edit in Lovable

Edited UI in Lovable
This commit is contained in:
gpt-engineer-app[bot]
2025-03-22 06:12:54 +00:00
parent c37cb565bb
commit 89f31521db

View File

@@ -1,25 +1,18 @@
import React, { useState, useEffect } from "react";
import {
Dialog,
DialogContent,
DialogDescription,
DialogFooter,
DialogHeader,
DialogTitle,
} from "@/components/ui/dialog";
import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog";
import { Button } from "@/components/ui/button";
import { Separator } from "@/components/ui/separator";
import { ArrowRight, Wallet, PieChart, LineChart } from "lucide-react";
import { Checkbox } from "@/components/ui/checkbox";
import { toast } from "sonner";
interface WelcomeDialogProps {
open: boolean;
onClose: (dontShowAgain: boolean) => void;
}
const WelcomeDialog: React.FC<WelcomeDialogProps> = ({ open, onClose }) => {
const WelcomeDialog: React.FC<WelcomeDialogProps> = ({
open,
onClose
}) => {
const [dontShowAgain, setDontShowAgain] = useState(false);
// 다이얼로그 열릴 때 localStorage 값 확인
@@ -34,7 +27,6 @@ const WelcomeDialog: React.FC<WelcomeDialogProps> = ({ open, onClose }) => {
}
}
}, [open]);
const handleClose = () => {
try {
// 체크박스가 체크되어 있으면 localStorage에 저장
@@ -43,11 +35,11 @@ const WelcomeDialog: React.FC<WelcomeDialogProps> = ({ open, onClose }) => {
localStorage.setItem('dontShowWelcome', 'true');
sessionStorage.setItem('dontShowWelcome', 'true');
console.log('WelcomeDialog - dontShowWelcome 값이 true로 저장되었습니다');
// 확인을 위한 즉시 재확인
const savedValue = localStorage.getItem('dontShowWelcome');
console.log('WelcomeDialog - 저장 직후 확인된 값:', savedValue);
// 토스트 메시지로 사용자에게 알림
toast.success('환영 메시지가 다시 표시되지 않도록 설정되었습니다');
} else {
@@ -59,18 +51,16 @@ const WelcomeDialog: React.FC<WelcomeDialogProps> = ({ open, onClose }) => {
} catch (error) {
console.error('WelcomeDialog - localStorage 저장 중 오류 발생:', error);
}
// 부모 컴포넌트에 상태 전달
onClose(dontShowAgain);
};
return (
<Dialog open={open} onOpenChange={(isOpen) => {
if (!isOpen) handleClose();
}}>
return <Dialog open={open} onOpenChange={isOpen => {
if (!isOpen) handleClose();
}}>
<DialogContent className="w-[90%] max-w-sm mx-auto">
<DialogHeader>
<DialogTitle className="text-center text-2xl text-neuro-income mb-2">
<DialogTitle className="text-center text-neuro-income mb-2 text-xl">
!
</DialogTitle>
<DialogDescription className="text-center">
@@ -121,31 +111,18 @@ const WelcomeDialog: React.FC<WelcomeDialogProps> = ({ open, onClose }) => {
</div>
<div className="flex items-center space-x-2 mt-4">
<Checkbox
id="dont-show-again"
checked={dontShowAgain}
onCheckedChange={(checked) => setDontShowAgain(checked === true)}
className="focus:outline-none focus:ring-0 focus:ring-offset-0"
/>
<label
htmlFor="dont-show-again"
className="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
>
<Checkbox id="dont-show-again" checked={dontShowAgain} onCheckedChange={checked => setDontShowAgain(checked === true)} className="focus:outline-none focus:ring-0 focus:ring-offset-0" />
<label htmlFor="dont-show-again" className="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70">
</label>
</div>
<DialogFooter className="sm:justify-center">
<Button
className="w-full sm:w-auto bg-neuro-income text-white hover:bg-neuro-income/90 focus:outline-none focus:ring-0"
onClick={handleClose}
>
<Button className="w-full sm:w-auto bg-neuro-income text-white hover:bg-neuro-income/90 focus:outline-none focus:ring-0" onClick={handleClose}>
<ArrowRight className="ml-2 h-4 w-4" />
</Button>
</DialogFooter>
</DialogContent>
</Dialog>
);
</Dialog>;
};
export default WelcomeDialog;
export default WelcomeDialog;