main
 1import 'package:blood_pressure_app/data_util/entry_context.dart';
 2import 'package:blood_pressure_app/model/storage/storage.dart';
 3import 'package:blood_pressure_app/screens/settings_screen.dart';
 4import 'package:blood_pressure_app/screens/statistics_screen.dart';
 5import 'package:flutter/material.dart';
 6import 'package:blood_pressure_app/l10n/app_localizations.dart';
 7import 'package:provider/provider.dart';
 8
 9/// Column of floating action buttons to navigate to [SettingsPage],
10/// [StatisticsScreen] or [EntryUtils.createEntry]
11class NavigationActionButtons extends StatelessWidget {
12  /// Create main FAB navigation column.
13  const NavigationActionButtons({super.key});
14
15  @override
16  Widget build(BuildContext context) => Consumer<Settings>(
17    builder: (context, settings, _) => Column(
18      verticalDirection: VerticalDirection.up,
19      children: [
20        SizedBox.square(
21          dimension: 75,
22          child: FittedBox(
23            child: FloatingActionButton(
24              heroTag: 'floatingActionAdd',
25              tooltip: AppLocalizations.of(context)!.addMeasurement,
26              autofocus: true,
27              onPressed: context.createEntry,
28              child: const Icon(Icons.add,),
29            ),
30          ),
31        ),
32        const SizedBox(
33          height: 10,
34        ),
35        FloatingActionButton(
36          heroTag: 'floatingActionStatistics',
37          tooltip: AppLocalizations.of(context)!.statistics,
38          backgroundColor: const Color(0xFF6F6F6F),
39          onPressed: () => Navigator.of(context).push(MaterialPageRoute<void>(
40            builder: (BuildContext context) => const StatisticsScreen(),
41          )),
42          child: const Icon(Icons.insights, color: Colors.black),
43        ),
44        const SizedBox(
45          height: 10,
46        ),
47        FloatingActionButton(
48          heroTag: 'floatingActionSettings',
49          tooltip: AppLocalizations.of(context)!.settings,
50          backgroundColor: const Color(0xFF6F6F6F),
51          child: const Icon(Icons.settings, color: Colors.black),
52          onPressed: () => Navigator.of(context).push(MaterialPageRoute<void>(
53            builder: (BuildContext context) => const SettingsPage(),
54          )),
55        ),
56      ],
57    ),
58  );
59
60}