@@ -13,17 +13,20 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
1313/// Contains:
1414/// • "+ Add to my practices" action
1515/// • Bookmark toggle action
16+ /// • Share action
1617class SeriesMoreBottomSheet extends ConsumerStatefulWidget {
1718 const SeriesMoreBottomSheet ({
1819 super .key,
1920 required this .seriesId,
2021 required this .seriesName,
2122 this .onAddToPractices,
23+ this .onShare,
2224 });
2325
2426 final String seriesId;
2527 final String seriesName;
2628 final VoidCallback ? onAddToPractices;
29+ final VoidCallback ? onShare;
2730
2831 @override
2932 ConsumerState <SeriesMoreBottomSheet > createState () =>
@@ -118,6 +121,18 @@ class _SeriesMoreBottomSheetState extends ConsumerState<SeriesMoreBottomSheet> {
118121 },
119122 ),
120123
124+ // ── Share ──────────────────────────────────────────────────────
125+ _SectionDivider (theme: theme),
126+ ListTile (
127+ leading: Icon (AppAssets .share, color: theme.colorScheme.onSurface),
128+ title: Text ('Share' , style: theme.textTheme.bodyLarge),
129+ onTap: () {
130+ HapticFeedback .lightImpact ();
131+ Navigator .of (context).pop ();
132+ widget.onShare? .call ();
133+ },
134+ ),
135+
121136 const SizedBox (height: 8 ),
122137 ],
123138 ),
@@ -140,6 +155,7 @@ void showSeriesMoreBottomSheet(
140155 required String seriesId,
141156 required String seriesName,
142157 VoidCallback ? onAddToPractices,
158+ VoidCallback ? onShare,
143159}) {
144160 showModalBottomSheet (
145161 context: context,
@@ -153,6 +169,7 @@ void showSeriesMoreBottomSheet(
153169 seriesId: seriesId,
154170 seriesName: seriesName,
155171 onAddToPractices: onAddToPractices,
172+ onShare: onShare,
156173 ),
157174 );
158175}
0 commit comments