@@ -60,40 +60,39 @@ export default function Dashboard() {
6060 }
6161 } ;
6262
63- // 대시보드 및 칼럼/카드 데이터 패칭
63+ // 칼럼/카드 데이터 패칭
64+ const fetchColumnsAndCards = async ( ) => {
65+ try {
66+ const numericDashboardId = Number ( dashboardId ) ;
67+
68+ // 칼럼 목록 조회
69+ const columnRes = await getColumns ( {
70+ dashboardId : numericDashboardId ,
71+ } ) ;
72+ setColumns ( columnRes . data ) ;
73+
74+ // 각 칼럼에 대한 카드 목록 조회
75+ const columnTasks : { [ columnId : number ] : CardType [ ] } = { } ;
76+
77+ await Promise . all (
78+ columnRes . data . map ( async ( column : ColumnType ) => {
79+ const cardRes = await getCardsByColumn ( {
80+ columnId : column . id ,
81+ } ) ;
82+ columnTasks [ column . id ] = cardRes . cards ;
83+ } )
84+ ) ;
85+
86+ setTasksByColumn ( columnTasks ) ;
87+ } catch ( err ) {
88+ console . error ( "❌ 칼럼 또는 카드 로딩 에러:" , err ) ;
89+ }
90+ } ;
91+
6492 useEffect ( ( ) => {
6593 if ( ! isReady || ! dashboardId || ! isInitialized || ! user ) return ;
6694
6795 fetchDashboards ( ) ;
68-
69- const fetchColumnsAndCards = async ( ) => {
70- try {
71- const numericDashboardId = Number ( dashboardId ) ;
72-
73- // 칼럼 목록 조회
74- const columnRes = await getColumns ( {
75- dashboardId : numericDashboardId ,
76- } ) ;
77- setColumns ( columnRes . data ) ;
78-
79- // 각 칼럼에 대한 카드 목록 조회
80- const columnTasks : { [ columnId : number ] : CardType [ ] } = { } ;
81-
82- await Promise . all (
83- columnRes . data . map ( async ( column : ColumnType ) => {
84- const cardRes = await getCardsByColumn ( {
85- columnId : column . id ,
86- } ) ;
87- columnTasks [ column . id ] = cardRes . cards ;
88- } )
89- ) ;
90-
91- setTasksByColumn ( columnTasks ) ;
92- } catch ( err ) {
93- console . error ( "❌ 칼럼 또는 카드 로딩 에러:" , err ) ;
94- }
95- } ;
96-
9796 fetchColumnsAndCards ( ) ;
9897 } , [ isReady , dashboardId , isInitialized , user ] ) ;
9998
@@ -130,6 +129,8 @@ export default function Dashboard() {
130129 title = { col . title }
131130 tasks = { tasksByColumn [ col . id ] || [ ] }
132131 dashboardId = { Number ( dashboardId ) }
132+ columnDelete = { fetchColumnsAndCards }
133+ fetchColumnsAndCards = { fetchColumnsAndCards }
133134 />
134135 ) ) }
135136 { /* ColumnsButton: 모바일/태블릿에서는 하단 고정, 데스크탑에서는 원래 위치 */ }
0 commit comments