@@ -8,9 +8,14 @@ export default function flowforge({state}) {
88
99 init : function ( ) {
1010 console . log ( 'FlowForge Alpine component initialized' )
11-
11+
1212 // Listen for form submission success/failure
13- this . $wire . $on ( 'kanban-card-created' , ( { id, status} ) => {
13+ this . $wire . $on ( 'kanban-card-created' , ( data ) => {
14+ const id = data [ 0 ] . id ;
15+ const status = data [ 0 ] . status ;
16+
17+ this . $dispatch ( 'close-modal' , { id : 'create-card-modal' } ) ;
18+
1419 // Highlight the new card
1520 setTimeout ( ( ) => {
1621 const cardElement = document . querySelector ( `[x-sortable-item="${ id } "]` ) ;
@@ -20,10 +25,15 @@ export default function flowforge({state}) {
2025 cardElement . classList . remove ( 'animate-kanban-card-add' ) ;
2126 } , 500 ) ;
2227 }
23- } , 100 ) ;
28+ } , 300 ) ;
2429 } ) ;
2530
26- this . $wire . $on ( 'kanban-card-updated' , ( { id} ) => {
31+ this . $wire . $on ( 'kanban-card-updated' , ( data ) => {
32+
33+ const id = data [ 0 ] . id ;
34+
35+ this . $dispatch ( 'close-modal' , { id : 'edit-card-modal' } ) ;
36+
2737 // Highlight the updated card
2838 setTimeout ( ( ) => {
2939 const cardElement = document . querySelector ( `[x-sortable-item="${ id } "]` ) ;
@@ -33,16 +43,33 @@ export default function flowforge({state}) {
3343 cardElement . classList . remove ( 'animate-kanban-card-move' ) ;
3444 } , 500 ) ;
3545 }
36- } , 100 ) ;
46+ } , 300 ) ;
3747 } ) ;
38-
48+
49+ this . $wire . $on ( 'kanban-card-deleted' , ( data ) => {
50+ const id = data [ 0 ] . id ;
51+
52+ this . $dispatch ( 'close-modal' , { id : 'edit-card-modal' } ) ;
53+
54+ // Highlight the deleted card
55+ setTimeout ( ( ) => {
56+ const cardElement = document . querySelector ( `[x-sortable-item="${ id } "]` ) ;
57+ if ( cardElement ) {
58+ cardElement . classList . add ( 'animate-kanban-card-delete' ) ;
59+ setTimeout ( ( ) => {
60+ cardElement . classList . remove ( 'animate-kanban-card-delete' ) ;
61+ } , 500 ) ;
62+ }
63+ } , 300 ) ;
64+ } )
65+
3966 // Listen for when items are loaded
4067 this . $wire . $on ( 'kanban-items-loaded' , ( ) => {
4168 // Initialize sortable for newly loaded items
4269 this . initSortable ( ) ;
4370 } ) ;
4471 } ,
45-
72+
4673 initSortable ( ) {
4774 // Re-initialize sortable for all columns if needed
4875 // This could be implemented if needed for dynamically loaded content
0 commit comments