From bdcd2cad31853d391503cdbebfccb024bc431d7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Sun, 15 Feb 2026 14:57:22 +0900 Subject: [PATCH] =?UTF-8?q?feat:=EC=83=9D=EC=84=B1=20=EC=9D=B4=EB=A0=A5=20?= =?UTF-8?q?=EC=83=88=EB=A1=9C=EA=B3=A0=EC=B9=A8=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 생성 이력 제목 옆에 새로고침 아이콘 버튼 추가 - 클릭 시 스피너 회전 애니메이션 + 이력 목록 갱신 Co-Authored-By: Claude Opus 4.6 --- resources/views/video/veo3/index.blade.php | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/resources/views/video/veo3/index.blade.php b/resources/views/video/veo3/index.blade.php index 1f065dd4..49a9e5cc 100644 --- a/resources/views/video/veo3/index.blade.php +++ b/resources/views/video/veo3/index.blade.php @@ -638,12 +638,14 @@ className="bg-indigo-600 text-white px-8 py-3 rounded-lg font-medium hover:bg-in const [loading, setLoading] = useState(true); const [checked, setChecked] = useState(new Set()); const [deleting, setDeleting] = useState(false); + const [refreshing, setRefreshing] = useState(false); - const fetchHistory = () => { + const fetchHistory = (isRefresh = false) => { + if (isRefresh) setRefreshing(true); api('/video/veo3/history') .then(data => { setHistory(data.data || []); setChecked(new Set()); }) .catch(() => {}) - .finally(() => setLoading(false)); + .finally(() => { setLoading(false); setRefreshing(false); }); }; useEffect(() => { fetchHistory(); }, []); @@ -725,7 +727,19 @@ className="bg-indigo-600 text-white px-8 py-3 rounded-lg font-medium hover:bg-in return (
-

생성 이력

+
+

생성 이력

+ +
{checked.size > 0 && (