From 24cc3c1a8a0e28fbf97569c47c8735ff6aee4b66 Mon Sep 17 00:00:00 2001 From: Muhammad Tsany Qudsi Date: Mon, 28 Apr 2025 23:51:43 +0700 Subject: [PATCH 1/2] Add FRating widget and related tests for customizable ratings, update sample and change EmptyPage to InitialPage showing all the routes available. --- forui/lib/forui.dart | 1 + forui/lib/src/widgets/rating/rating.dart | 183 ++++++++++++++++++ .../src/widgets/rating/rating_content.dart | 82 ++++++++ forui/lib/widgets/rating.dart | 8 + forui/test/golden/rating/rating_counts.png | Bin 0 -> 60359 bytes forui/test/golden/rating/rating_dark.png | Bin 0 -> 45997 bytes forui/test/golden/rating/rating_styles.png | Bin 0 -> 74164 bytes forui/test/golden/rating/rating_values.png | Bin 0 -> 66599 bytes .../widgets/rating/rating_golden_test.dart | 171 ++++++++++++++++ samples/lib/main.dart | 82 +++++++- samples/lib/widgets/rating.dart | 46 +++++ 11 files changed, 570 insertions(+), 3 deletions(-) create mode 100644 forui/lib/src/widgets/rating/rating.dart create mode 100644 forui/lib/src/widgets/rating/rating_content.dart create mode 100644 forui/lib/widgets/rating.dart create mode 100644 forui/test/golden/rating/rating_counts.png create mode 100644 forui/test/golden/rating/rating_dark.png create mode 100644 forui/test/golden/rating/rating_styles.png create mode 100644 forui/test/golden/rating/rating_values.png create mode 100644 forui/test/src/widgets/rating/rating_golden_test.dart create mode 100644 samples/lib/widgets/rating.dart diff --git a/forui/lib/forui.dart b/forui/lib/forui.dart index 91bf608f1..17828c3d5 100644 --- a/forui/lib/forui.dart +++ b/forui/lib/forui.dart @@ -28,6 +28,7 @@ export 'widgets/popover.dart'; export 'widgets/popover_menu.dart'; export 'widgets/progress.dart'; export 'widgets/radio.dart'; +export 'widgets/rating.dart'; export 'widgets/resizable.dart'; export 'widgets/scaffold.dart'; export 'widgets/select.dart'; diff --git a/forui/lib/src/widgets/rating/rating.dart b/forui/lib/src/widgets/rating/rating.dart new file mode 100644 index 000000000..155aa8bd1 --- /dev/null +++ b/forui/lib/src/widgets/rating/rating.dart @@ -0,0 +1,183 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter/widgets.dart'; +import 'package:forui/forui.dart'; +import 'package:meta/meta.dart'; + +part 'rating.style.dart'; +part 'rating_content.dart'; + +/// A customizable rating widget that allows users to select a rating by tapping on icons. +/// +/// See: +/// * https://forui.dev/docs/rating for working examples. +/// * [FRatingStyle] for customizing a rating's appearance. +class FRating extends StatefulWidget { + /// The current rating value. + final double value; + + /// The maximum rating value. + final int count; + + /// Called when the rating value changes. + final ValueChanged? onStateChanged; + + /// Whether this rating widget is enabled. Defaults to true. + final bool enabled; + + /// The style of the rating widget. + final FRatingStyle? style; + + /// The icon to display for a filled (rated) state. + final Widget filledIcon; + + /// The icon to display for an empty (unrated) state. + final Widget emptyIcon; + + /// The icon to display for a half-filled state (when allowHalfRating is true). + final Widget? halfFilledIcon; + + /// The semantic label for accessibility. + final String? semanticsLabel; + + /// {@macro forui.foundation.doc_templates.autofocus} + final bool autofocus; + + /// {@macro forui.foundation.doc_templates.focusNode} + final FocusNode? focusNode; + + /// {@macro forui.foundation.doc_templates.onFocusChange} + final ValueChanged? onFocusChange; + + /// The spacing between rating icons. + final double spacing; + + /// Creates a [FRating] widget. + const FRating({ + super.key, + this.value = 0.0, + this.count = 5, + this.onStateChanged, + this.enabled = true, + this.style, + this.filledIcon = const Icon(FIcons.star, color: Color(0xFFFFD700)), // Gold + this.emptyIcon = const Icon(FIcons.starOff, color: Color(0xFFBDBDBD)), // Gray + this.halfFilledIcon, + this.semanticsLabel, + this.autofocus = false, + this.focusNode, + this.onFocusChange, + this.spacing = 4.0, + }); + + @override + State createState() => _FRatingState(); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DoubleProperty('value', value)) + ..add(IntProperty('count', count)) + ..add(FlagProperty('enabled', value: enabled, ifTrue: 'enabled')) + ..add(DiagnosticsProperty('style', style)) + ..add(ObjectFlagProperty?>.has('onStateChanged', onStateChanged)) + ..add(StringProperty('semanticsLabel', semanticsLabel)) + ..add(DiagnosticsProperty('autofocus', autofocus)) + ..add(DiagnosticsProperty('focusNode', focusNode)) + ..add(ObjectFlagProperty?>.has('onFocusChange', onFocusChange)) + ..add(DoubleProperty('spacing', spacing)); + } +} + +class _FRatingState extends State { + double _hoverValue = 0.0; + bool _isHovering = false; + + double _calculateRating(double dx, double totalWidth) { + if (totalWidth <= 0) { + return 0; + } + + final itemWidth = totalWidth / widget.count; + final x = dx.clamp(0.0, totalWidth); + final index = x ~/ itemWidth; + final localPosition = x - (index * itemWidth); + + double rating = index + 1.0; + if (widget.halfFilledIcon != null && localPosition < itemWidth / 2) { + rating -= 0.5; + } + + return rating.clamp(0.0, widget.count.toDouble()); + } + + void _handleHover(PointerHoverEvent event) { + final box = context.findRenderObject() as RenderBox?; + if (box == null) { + return; + } + + final localPosition = box.globalToLocal(event.position); + setState(() => _hoverValue = _calculateRating(localPosition.dx, box.size.width)); + } + + void _handleTap(TapUpDetails details) { + final box = context.findRenderObject()! as RenderBox; + final localPosition = box.globalToLocal(details.globalPosition); + final rating = _calculateRating(localPosition.dx, box.size.width); + + widget.onStateChanged?.call(rating); + setState(() => _isHovering = false); + } + + @override + Widget build(BuildContext context) { + final theme = context.theme; + final style = widget.style ?? const FRatingStyle(); + final effectiveEnabled = widget.enabled && widget.onStateChanged != null; + final effectiveValue = _isHovering ? _hoverValue : widget.value; + + return MouseRegion( + onEnter: effectiveEnabled ? (_) => setState(() => _isHovering = true) : null, + onExit: effectiveEnabled ? (_) => setState(() => _isHovering = false) : null, + onHover: effectiveEnabled ? _handleHover : null, + child: GestureDetector( + onTapUp: effectiveEnabled ? _handleTap : null, + child: _RatingContent( + value: effectiveValue, + count: widget.count, + spacing: widget.spacing, + filledIcon: widget.filledIcon, + emptyIcon: widget.emptyIcon, + halfFilledIcon: widget.halfFilledIcon, + style: style, + theme: theme, + semanticsLabel: widget.semanticsLabel, + focusNode: widget.focusNode, + autofocus: widget.autofocus, + onFocusChange: widget.onFocusChange, + ), + ), + ); + } +} + +/// Internal widget to display the rating content + +/// Defines the visual properties for [FRating]. +/// +/// See also: +/// * [FRating], which uses this class for its visual styling. +final class FRatingStyle with Diagnosticable, _$FRatingStyleFunctions { + /// The color of the rating icons. + @override + final Color? color; + + /// The size of the rating icons. + @override + final double? size; + + /// Creates a [FRatingStyle]. + const FRatingStyle({this.color, this.size}); +} diff --git a/forui/lib/src/widgets/rating/rating_content.dart b/forui/lib/src/widgets/rating/rating_content.dart new file mode 100644 index 000000000..8c7a36501 --- /dev/null +++ b/forui/lib/src/widgets/rating/rating_content.dart @@ -0,0 +1,82 @@ +part of 'rating.dart'; + +class _RatingContent extends StatelessWidget { + final double value; + final int count; + final double spacing; + final Widget filledIcon; + final Widget emptyIcon; + final Widget? halfFilledIcon; + final FRatingStyle style; + final FThemeData theme; + final String? semanticsLabel; + final FocusNode? focusNode; + final bool autofocus; + final ValueChanged? onFocusChange; + + const _RatingContent({ + required this.value, + required this.count, + required this.spacing, + required this.filledIcon, + required this.emptyIcon, + required this.style, + required this.theme, + required this.autofocus, + this.halfFilledIcon, + this.semanticsLabel, + this.focusNode, + this.onFocusChange, + }); + + @override + Widget build(BuildContext context) => Semantics( + label: semanticsLabel ?? 'Rating: ${value.toStringAsFixed(1)} of $count', + child: Focus( + focusNode: focusNode, + autofocus: autofocus, + onFocusChange: onFocusChange, + child: LayoutBuilder( + builder: + (context, constraints) => + Row(mainAxisSize: MainAxisSize.min, children: List.generate(count, _buildRatingItem)), + ), + ), + ); + + Widget _buildRatingItem(int index) { + final itemValue = index + 1.0; + final Widget icon; + + if (itemValue <= value) { + icon = filledIcon; + } else if (halfFilledIcon != null && (itemValue - 0.5) <= value && value < itemValue) { + icon = halfFilledIcon ?? filledIcon; + } else { + icon = emptyIcon; + } + + return Padding( + padding: EdgeInsets.only(right: index < count - 1 ? spacing : 0), + child: IconTheme( + data: IconThemeData(color: style.color ?? theme.colors.primary, size: style.size ?? 24.0), + child: icon, + ), + ); + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DoubleProperty('value', value)) + ..add(IntProperty('count', count)) + ..add(DoubleProperty('spacing', spacing)) + ..add(DiagnosticsProperty('style', style)) + ..add(DiagnosticsProperty('theme', theme)) + ..add(StringProperty('semanticsLabel', semanticsLabel)) + ..add(DiagnosticsProperty('focusNode', focusNode)) + ..add(DiagnosticsProperty('autofocus', autofocus)) + ..add(ObjectFlagProperty?>.has('onFocusChange', onFocusChange)); + } +} diff --git a/forui/lib/widgets/rating.dart b/forui/lib/widgets/rating.dart new file mode 100644 index 000000000..77ef09b3c --- /dev/null +++ b/forui/lib/widgets/rating.dart @@ -0,0 +1,8 @@ +/// {@category Widgets} +/// +/// A line calendar displays dates in a single horizontal, scrollable line. +/// +/// See https://forui.dev/docs/data/line-calendar for working examples. +library forui.widgets.rating; + +export '../src/widgets/rating/rating.dart'; diff --git a/forui/test/golden/rating/rating_counts.png b/forui/test/golden/rating/rating_counts.png new file mode 100644 index 0000000000000000000000000000000000000000..065914af345fd7eaeaca7a21eacb6b650feaa86b GIT binary patch literal 60359 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 MO@GKddf})41w4+)umAu6 literal 0 HcmV?d00001 diff --git a/forui/test/golden/rating/rating_dark.png b/forui/test/golden/rating/rating_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..8880f2e62b7116e52561a52dd660a0564e4a99ed GIT binary patch literal 45997 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/rating/rating_styles.png b/forui/test/golden/rating/rating_styles.png new file mode 100644 index 0000000000000000000000000000000000000000..a3041f3bf6a70d7188a175c61913a0750b0ac4d5 GIT binary patch literal 74164 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/rating/rating_values.png b/forui/test/golden/rating/rating_values.png new file mode 100644 index 0000000000000000000000000000000000000000..65f113844d6e02059bcaa455df777e941b51424e GIT binary patch literal 66599 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%0A@*rvKnxlcx1o-?LY4|6#x%NuO}#Ag8n@Y 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 onC(AJ const Placeholder(); + Widget sample(BuildContext context) { + final router = AutoRouter.of(context); + final routeCollection = router.routeCollection; + + // Group routes by component name + final Map> groupedRoutes = {}; + + // Skip the initial route + for (final route in routeCollection.routes) { + final path = route.path; + if (path.isEmpty || path == '/') { + continue; + } + + final pathParts = path.split('/'); + if (pathParts.length >= 2) { + final componentName = pathParts[1].replaceAll('-', ' '); + + if (!groupedRoutes.containsKey(componentName)) { + groupedRoutes[componentName] = []; + } + + groupedRoutes[componentName]!.add(path); + } + } + + return SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(2.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text('Forui Component Samples', style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold)), + const SizedBox(height: 10), + ...groupedRoutes.entries.map((entry) { + final componentName = entry.key; + final routes = entry.value; + + return FAccordion( + children: [ + FAccordionItem( + title: Text( + componentName.toUpperCase(), + style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 12), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ...routes.map((route) { + final variantName = route.split('/').last; + return MouseRegion( + cursor: SystemMouseCursors.click, // This changes the cursor to a hand/pointer + child: GestureDetector( + onTap: () => context.router.navigatePath(route), + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 2.0, horizontal: 3.0), + child: Text(variantName, style: const TextStyle(fontSize: 12)), + ), + ), + ); + }), + ], + ), + ), + ], + ); + }), + ], + ), + ), + ); + } } +// ...existing code... @AutoRouterConfig() class _AppRouter extends RootStackRouter { @override List get routes => [ - AutoRoute(page: EmptyRoute.page, initial: true), + AutoRoute(page: InitialRoute.page, initial: true), AutoRoute(path: '/accordion/default', page: AccordionRoute.page), AutoRoute(path: '/alert/default', page: AlertRoute.page), AutoRoute(path: '/avatar/default', page: AvatarRoute.page), @@ -87,6 +161,8 @@ class _AppRouter extends RootStackRouter { AutoRoute(path: '/progress/linear', page: DeterminateLinearProgressRoute.page), AutoRoute(path: '/progress/circular', page: CircularProgressRoute.page), AutoRoute(path: '/radio/default', page: RadioRoute.page), + AutoRoute(path: '/rating/default', page: RatingBasicRoute.page), + AutoRoute(path: '/rating/interactive', page: RatingInteractiveRoute.page), AutoRoute(path: '/resizable/default', page: ResizableRoute.page), AutoRoute(path: '/resizable/no-cascading', page: NoCascadingResizableRoute.page), AutoRoute(path: '/resizable/horizontal', page: HorizontalResizableRoute.page), diff --git a/samples/lib/widgets/rating.dart b/samples/lib/widgets/rating.dart new file mode 100644 index 000000000..c07773448 --- /dev/null +++ b/samples/lib/widgets/rating.dart @@ -0,0 +1,46 @@ +import 'package:flutter/widgets.dart'; + +import 'package:auto_route/auto_route.dart'; +import 'package:forui/forui.dart'; + +import 'package:forui_samples/sample.dart'; + +@RoutePage() +class RatingBasicPage extends Sample { + RatingBasicPage({@queryParam super.theme}); + + @override + Widget sample(BuildContext context) => const FRating(value: 3); +} + +@RoutePage() +class RatingInteractivePage extends StatefulSample { + RatingInteractivePage({@queryParam super.theme}); + + @override + RatingInteractivePageState createState() => RatingInteractivePageState(); +} + +class RatingInteractivePageState extends StatefulSampleState { + double interactiveRatingValue = 2.5; + + @override + Widget sample(BuildContext context) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + FRating( + value: interactiveRatingValue, + filledIcon: Icon(FIcons.star, color: context.theme.colors.primary), + emptyIcon: Icon(FIcons.starOff, color: context.theme.colors.primary), + halfFilledIcon: Icon(FIcons.starHalf, color: context.theme.colors.primary), + onStateChanged: (value) { + setState(() { + interactiveRatingValue = value; + }); + }, + ), + const SizedBox(height: 8), + Text('Current rating: ${interactiveRatingValue.toStringAsFixed(1)}'), + ], + ); +} From 3aac7c17291d81a2e46c943cd71961999c47e2ff Mon Sep 17 00:00:00 2001 From: a-man-called-q Date: Mon, 28 Apr 2025 16:56:00 +0000 Subject: [PATCH 2/2] Commit from GitHub Actions (Forui Samples Presubmit) --- samples/lib/main.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/lib/main.dart b/samples/lib/main.dart index 8111c56c8..6331e73eb 100644 --- a/samples/lib/main.dart +++ b/samples/lib/main.dart @@ -28,7 +28,7 @@ class ForuiSamples extends StatelessWidget { @RoutePage() class InitialPage extends Sample { InitialPage({super.key, super.maxWidth = double.infinity}); - + @override Widget sample(BuildContext context) { final router = AutoRouter.of(context);