summaryrefslogtreecommitdiffstats
path: root/lib/presentation/screens/media_player/segmented_buttons.dart
diff options
context:
space:
mode:
authorLisandro Pérez Meyer <lpmeyer@ics.com>2023-11-14 17:20:58 -0300
committerLisandro Pérez Meyer <lpmeyer@ics.com>2023-11-14 17:31:12 -0300
commit70ec8a79a121471a004e7e4c23157d10157e136f (patch)
treea4f9c0a4fac4e4274ec4324a289b6ef62e1c5653 /lib/presentation/screens/media_player/segmented_buttons.dart
Initial cleanup push.
Based on agldemo2024 on commit 2a5dc04d801134338150c3f6afc67eaa65599763 Disable device preview. Disable Lottie animation. The original commit was b3c493c340fcb4bb0a937692838fc830bec3e9ea but I am just keeping this change, because the json did not really needed to change. I think. Signed-off-by: Lisandro Pérez Meyer <lpmeyer@ics.com>
Diffstat (limited to 'lib/presentation/screens/media_player/segmented_buttons.dart')
-rw-r--r--lib/presentation/screens/media_player/segmented_buttons.dart82
1 files changed, 82 insertions, 0 deletions
diff --git a/lib/presentation/screens/media_player/segmented_buttons.dart b/lib/presentation/screens/media_player/segmented_buttons.dart
new file mode 100644
index 0000000..e649be3
--- /dev/null
+++ b/lib/presentation/screens/media_player/segmented_buttons.dart
@@ -0,0 +1,82 @@
+import 'package:flutter_ics_homescreen/export.dart';
+
+class SegmentedButtons extends StatefulWidget {
+ const SegmentedButtons(
+ {super.key, required this.navItems, required this.selectedNav});
+
+ final List<String> navItems;
+ final String selectedNav;
+ @override
+ State<SegmentedButtons> createState() => _SegmentedButtonsState();
+}
+
+class _SegmentedButtonsState extends State<SegmentedButtons> {
+ late List<String> navItems;
+ late String selectedNav;
+
+ @override
+ void initState() {
+ navItems = widget.navItems;
+ selectedNav = widget.selectedNav;
+ super.initState();
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Container(
+ margin: const EdgeInsets.only(top: 40),
+ padding: const EdgeInsets.all(3),
+ decoration: BoxDecoration(
+ boxShadow: [
+ BoxShadow(
+ offset: const Offset(0, 4),
+ blurRadius: 4,
+ color: Colors.black.withOpacity(0.25))
+ ],
+ borderRadius: BorderRadius.circular(40),
+ color: AGLDemoColors.buttonFillEnabledColor,
+ border: Border.all(color: Colors.white12),
+ ),
+ child: Row(
+ children: navItems
+ .map((e) => Container(
+ padding: const EdgeInsets.symmetric(
+ vertical: 24, horizontal: 32),
+ decoration: BoxDecoration(
+ borderRadius: selectedNav == e
+ ? BorderRadius.circular(40)
+ : BorderRadius.zero,
+ color: selectedNav == e
+ ? AGLDemoColors.backgroundInsetColor
+ : null,
+ ),
+ child: InkWell(
+ borderRadius: BorderRadius.circular(40),
+ onTap: () {
+ setState(() {
+ selectedNav = e;
+ });
+ },
+ child: Text(
+ e,
+ style: TextStyle(
+ color: selectedNav == e
+ ? Colors.white
+ : AGLDemoColors.periwinkleColor,
+ fontSize: 26,
+ fontWeight: selectedNav == e
+ ? FontWeight.w700
+ : FontWeight.w500),
+ ),
+ ),
+ ))
+ .toList(),
+ ),
+ ),
+ ],
+ );
+ }
+}