diff --git a/frontend/src/components/NoticeWidget.jsx b/frontend/src/components/NoticeWidget.jsx
index 8043be0..41df9b5 100644
--- a/frontend/src/components/NoticeWidget.jsx
+++ b/frontend/src/components/NoticeWidget.jsx
@@ -1,5 +1,6 @@
import { useState } from 'react'
import { useQuery } from '@tanstack/react-query'
+import { motion, AnimatePresence } from 'framer-motion'
import { api } from '../api/client'
const TABS = [
@@ -148,32 +149,58 @@ export default function NoticeWidget() {
))}
) : initialItems.length === 0 ? (
-
- {tab.filterOngoing ? `진행중인 ${tab.label}이 없습니다` : `등록된 ${tab.label}이 없습니다`}
-
+
+
+ {tab.filterOngoing ? `진행중인 ${tab.label}이 없습니다` : `등록된 ${tab.label}이 없습니다`}
+
+
) : (
<>
-
- {initialItems.map((notice) => (
-
- ))}
-
-
- {/* 펼쳐지는 영역 - grid-template-rows 트릭으로 부드럽게 애니메이션 */}
- {hasMore && (
-
+
-
+ {initialItems.map((notice) => (
+
+ ))}
+
+
+
+ {/* 펼쳐지는 영역 */}
+
+ {hasMore && expanded && (
+
{extraItems.map((notice) => (
))}
-
-
- )}
+
+ )}
+
>
)}
@@ -189,7 +216,7 @@ export default function NoticeWidget() {
height="12"
viewBox="0 0 12 12"
fill="none"
- className={`transition-transform duration-300 ${expanded ? 'rotate-180' : ''}`}
+ className={`transition-transform duration-500 ease-[cubic-bezier(0.22,1,0.36,1)] ${expanded ? 'rotate-180' : ''}`}
>