push dragging

This commit is contained in:
ashrafzarkanisala
2024-11-17 01:11:27 +03:00
parent 16dd95c8d1
commit 458ec3976a
7 changed files with 247 additions and 67 deletions

View File

@ -9,14 +9,28 @@ class DraggableCard extends StatelessWidget {
required this.imagePath,
required this.title,
this.titleColor,
this.isDragged = false,
});
final String imagePath;
final String title;
final Color? titleColor;
final bool isDragged;
@override
Widget build(BuildContext context) {
return Draggable<Map<String, String>>(
data: {'key': UniqueKey().toString(), 'imagePath': imagePath, 'title': title},
feedback: Transform.rotate(
angle: -0.1,
child: _buildCardContent(context),
),
childWhenDragging: _buildGreyContainer(),
child: isDragged ? _buildGreyContainer() : _buildCardContent(context),
);
}
Widget _buildCardContent(BuildContext context) {
return Card(
color: ColorsManager.whiteColors,
child: SizedBox(
@ -60,4 +74,15 @@ class DraggableCard extends StatelessWidget {
),
);
}
Widget _buildGreyContainer() {
return Container(
height: 123,
width: 90,
decoration: BoxDecoration(
color: Colors.grey[100],
borderRadius: BorderRadius.circular(20),
),
);
}
}