feat: REV-003 — stagger slide/fade animations on review list
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
// lib/features/reviews/widgets/review_section.dart
|
// lib/features/reviews/widgets/review_section.dart
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
|
||||||
import '../../../core/storage/token_storage.dart';
|
import '../../../core/storage/token_storage.dart';
|
||||||
import '../../../core/utils/error_utils.dart';
|
import '../../../core/utils/error_utils.dart';
|
||||||
import '../models/review_models.dart';
|
import '../models/review_models.dart';
|
||||||
@@ -162,15 +163,26 @@ class _ReviewSectionState extends State<ReviewSection> {
|
|||||||
)
|
)
|
||||||
else ...[
|
else ...[
|
||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
...List.generate(_reviews.length, (i) => Padding(
|
AnimationLimiter(
|
||||||
padding: const EdgeInsets.only(bottom: 12),
|
child: Column(
|
||||||
child: ReviewCard(
|
children: AnimationConfiguration.toStaggeredList(
|
||||||
review: _reviews[i],
|
duration: const Duration(milliseconds: 375),
|
||||||
currentUsername: _currentUsername,
|
childAnimationBuilder: (widget) => SlideAnimation(
|
||||||
onHelpful: _handleHelpful,
|
verticalOffset: 50.0,
|
||||||
onFlag: _handleFlag,
|
child: FadeInAnimation(child: widget),
|
||||||
|
),
|
||||||
|
children: List.generate(_reviews.length, (i) => Padding(
|
||||||
|
padding: const EdgeInsets.only(bottom: 12),
|
||||||
|
child: ReviewCard(
|
||||||
|
review: _reviews[i],
|
||||||
|
currentUsername: _currentUsername,
|
||||||
|
onHelpful: _handleHelpful,
|
||||||
|
onFlag: _handleFlag,
|
||||||
|
),
|
||||||
|
)),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
)),
|
),
|
||||||
],
|
],
|
||||||
|
|
||||||
// Load more
|
// Load more
|
||||||
|
|||||||
@@ -246,6 +246,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.30"
|
version: "2.0.30"
|
||||||
|
flutter_staggered_animations:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: flutter_staggered_animations
|
||||||
|
sha256: "81d3c816c9bb0dca9e8a5d5454610e21ffb068aedb2bde49d2f8d04f75538351"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.1"
|
||||||
flutter_svg:
|
flutter_svg:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ dependencies:
|
|||||||
google_sign_in: ^6.2.2
|
google_sign_in: ^6.2.2
|
||||||
http: ^1.2.0
|
http: ^1.2.0
|
||||||
shimmer: ^3.0.0
|
shimmer: ^3.0.0
|
||||||
|
flutter_staggered_animations: ^1.1.1
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|||||||
Reference in New Issue
Block a user