build method

  1. @override
Widget build(
  1. BuildContext context
)
override

Builds the settings page.

The page contains the following widgets, from top to bottom:

  1. A CupertinoNavigationBar with the title "Settings".
  2. A SettingsTile for the user to select their login method.
  3. A SettingsTile for the user to select the app language.
  4. A SettingsTile for the user to view app information.
  5. A SettingsTile for the user to view the app's history.
  6. A SettingsTile for the user to view the app's online store.
  7. A SettingsTile for the user to contact the app developers.

The page is wrapped in a CupertinoPageScaffold and a ListView.

The page is a StatelessWidget.

Implementation

@override
/// Builds the settings page.
///
/// The page contains the following widgets, from top to bottom:
///
/// 1. A [CupertinoNavigationBar] with the title "Settings".
/// 2. A [SettingsTile] for the user to select their login method.
/// 3. A [SettingsTile] for the user to select the app language.
/// 4. A [SettingsTile] for the user to view app information.
/// 5. A [SettingsTile] for the user to view the app's history.
/// 6. A [SettingsTile] for the user to view the app's online store.
/// 7. A [SettingsTile] for the user to contact the app developers.
///
/// The page is wrapped in a [CupertinoPageScaffold] and a [ListView].
///
/// The page is a [StatelessWidget].
///
Widget build(BuildContext context) {
  final tr = AppLocalizations.of(context)!;
  return CupertinoPageScaffold(
    navigationBar: CupertinoNavigationBar(
      middle: Text(tr.settings),
      enableBackgroundFilterBlur: true,
    ),
    child: Padding(
      padding: const EdgeInsets.all(8.0),
      child: SingleChildScrollView(
        physics: const ScrollPhysics(),
        child: Column(
          spacing: 8,
          children: [
            Container(
              decoration: BoxDecoration(
                color: CupertinoColors.systemGroupedBackground,
                borderRadius: BorderRadius.circular(
                  AppConstants.inBorderRadius,
                ),
              ),
              child: Column(
                children: [
                  SettingsTile(
                    title: tr.login,
                    subtitle: tr.loginSuptitle,
                    icon: CupertinoIcons.person_crop_circle,
                    trailingIcon: CupertinoIcons.forward,
                    onPressed: () {
                      Navigator.pop(context);
                      Navigator.pushReplacement(
                        context,
                        CupertinoPageRoute(builder: (context) => LoginPage()),
                      );
                    },
                  ),
                  SettingsTile(
                    title: tr.language,
                    subtitle: tr.selectLanguage,
                    icon: CupertinoIcons.globe,
                    trailingIcon: CupertinoIcons.forward,
                    onPressed: () {
                      Navigator.push(
                        context,
                        CupertinoPageRoute(
                          builder: (context) => const ChangeLocals(),
                        ),
                      );
                    },
                  ),
                ],
              ),
            ),
            Container(
              decoration: BoxDecoration(
                color: CupertinoColors.systemGroupedBackground,
                borderRadius: BorderRadius.circular(
                  AppConstants.inBorderRadius,
                ),
              ),
              child: Column(
                children: [
                  SettingsTile(
                    title: tr.infoAboutQissatHirfati,
                    subtitle: tr.infoAboutQissatHirfatiSuptitle,
                    icon: CupertinoIcons.info,
                    trailingIcon: CupertinoIcons.forward,
                    onPressed: () {
                      Navigator.pop(context);
                      Navigator.push(
                        context,
                        CupertinoPageRoute(
                          builder: (context) => const AboutApp(),
                        ),
                      );
                    },
                  ),
                  SettingsTile(
                    title: tr.ourHistory,
                    subtitle: tr.ourHistorySuptitle,
                    icon: CupertinoIcons.book,
                    trailingIcon: CupertinoIcons.forward,
                    onPressed: () {
                      Navigator.pop(context);
                      // Navigator.push(
                      //   context,
                      //   CupertinoPageRoute(
                      //     builder: (context) => OurHistory(),
                      //   ),
                      // );
                    },
                  ),
                  SettingsTile(
                    title: tr.ourOnLineStore,
                    subtitle: tr.ourOnLineStoreSuptitle,
                    icon: CupertinoIcons.shopping_cart,
                    trailingIcon: CupertinoIcons.forward,
                    onPressed: () {
                      UrlRunServices.launchURL(AppConstants.appStroreUrl);
                    },
                  ),
                  SettingsTile(
                    title: tr.contactUs,
                    subtitle: tr.contactUsSuptitle,
                    icon: CupertinoIcons.phone,
                    trailingIcon: CupertinoIcons.forward,
                    onPressed: () {
                      Navigator.pop(context);
                      Navigator.push(
                        context,
                        CupertinoPageRoute(
                          builder: (context) => const ContactUs(),
                        ),
                      );
                    },
                  ),

                  const SizedBox(height: 8),
                ],
              ),
            ),
          ],
        ),
      ),
    ),
  );
}