machine_learning_settings_page.dart 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import "package:flutter/material.dart";
  2. import "package:photos/generated/l10n.dart";
  3. import "package:photos/theme/ente_theme.dart";
  4. import "package:photos/ui/components/buttons/icon_button_widget.dart";
  5. import "package:photos/ui/components/captioned_text_widget.dart";
  6. import "package:photos/ui/components/menu_item_widget/menu_item_widget.dart";
  7. import "package:photos/ui/components/menu_section_description_widget.dart";
  8. import "package:photos/ui/components/title_bar_title_widget.dart";
  9. import "package:photos/ui/components/title_bar_widget.dart";
  10. import "package:photos/ui/components/toggle_switch_widget.dart";
  11. import "package:photos/utils/local_settings.dart";
  12. class MachineLearningSettingsPage extends StatelessWidget {
  13. const MachineLearningSettingsPage({super.key});
  14. @override
  15. Widget build(BuildContext context) {
  16. final colorScheme = getEnteColorScheme(context);
  17. return Scaffold(
  18. body: CustomScrollView(
  19. primary: false,
  20. slivers: <Widget>[
  21. TitleBarWidget(
  22. flexibleSpaceTitle: TitleBarTitleWidget(
  23. title: S.of(context).machineLearning,
  24. ),
  25. actionIcons: [
  26. IconButtonWidget(
  27. icon: Icons.close_outlined,
  28. iconButtonType: IconButtonType.secondary,
  29. onTap: () {
  30. Navigator.pop(context);
  31. Navigator.pop(context);
  32. Navigator.pop(context);
  33. },
  34. ),
  35. ],
  36. ),
  37. SliverList(
  38. delegate: SliverChildBuilderDelegate(
  39. (delegateBuildContext, index) {
  40. return Padding(
  41. padding: const EdgeInsets.symmetric(horizontal: 16),
  42. child: Padding(
  43. padding: const EdgeInsets.symmetric(vertical: 20),
  44. child: Column(
  45. mainAxisSize: MainAxisSize.min,
  46. children: [
  47. Column(
  48. children: [
  49. Column(
  50. children: [
  51. MenuItemWidget(
  52. captionedTextWidget: CaptionedTextWidget(
  53. title: S.of(context).magicSearch,
  54. ),
  55. menuItemColor: colorScheme.fillFaint,
  56. trailingWidget: ToggleSwitchWidget(
  57. value: () => LocalSettings.instance
  58. .hasEnabledMagicSearch(),
  59. onChanged: () {
  60. return LocalSettings.instance
  61. .setShouldEnableMagicSearch(
  62. !LocalSettings.instance
  63. .hasEnabledMagicSearch(),
  64. );
  65. },
  66. ),
  67. singleBorderRadius: 8,
  68. alignCaptionedTextToLeft: true,
  69. isGestureDetectorDisabled: true,
  70. ),
  71. MenuSectionDescriptionWidget(
  72. content: S.of(context).magicSearchDescription,
  73. ),
  74. ],
  75. ),
  76. ],
  77. ),
  78. ],
  79. ),
  80. ),
  81. );
  82. },
  83. childCount: 1,
  84. ),
  85. ),
  86. ],
  87. ),
  88. );
  89. }
  90. }