import 'dart:io'; import 'package:example/data/settings/ui_settings.dart'; import 'package:example/theme/example_theme.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:guru_utils/app_ownership/app_ownership_utils.dart'; import 'package:guru_utils/audio/audio_effector.dart'; import 'package:guru_widgets/pages/settings/guru_settings_page.dart'; import 'package:guru_widgets/button/single_tap_widget.dart'; import 'package:guru_widgets/common/flexible_container.dart'; import 'package:auto_size_text/auto_size_text.dart'; import 'package:guru_widgets/common/spacer.dart'; import 'package:guru_widgets/theme/guru_theme.dart'; import 'package:guru_widgets/banner/purchase_banner.dart'; import 'package:guru_utils/router/router.dart'; import '../../route/router.dart'; import 'remove_ads/remove_ads_card.dart'; import 'settings_controller.dart'; class SettingsPage extends GetWidget { final GlobalKey tipsKey = GlobalKey(); SettingsPage({ Key? key}) : super(key: key); InseparableSettingItem _buildSound() { return SwitchSetting( enabledTitle: "Sound Effects", leading: "assets/images/ic_sound.png", settingData: UiSettings.instance.checkedTileBol, onChanged: ((value) { UiSettings.instance.checkedTileBol.set(value); controller.changeValue(value); }) ); } InseparableSettingItem _buildVibration() { return SwitchSetting( enabledTitle: "Vibration", leading: "assets/images/ic_zhendong.png", settingData: UiSettings.instance.checkedTileBol, onChanged: ((value) { UiSettings.instance.checkedTileBol.set(value); }) ); } InseparableSettingItem _buildTheme() { return EntranceSetting(title: "Theme", leading: "assets/images/ic_theme.png"); } @override Widget build(BuildContext context) { final controller = Get.find(); final model = Get.find().model; final guruTheme = ExampleThemes.defaultGuruTheme; return GuruSettingsPage( items: [ // CustomSetting(builder: (context, snapshot) { // return snapshot.data == true ? Container( // width: MediaQuery.of(context).size.width, // padding: Platform.isAndroid ? controller.designModel.androidRemoveAdsMargin : controller.designModel.iosRemoveAdsMargin, // color: Platform.isAndroid ? Colors.transparent : guruTheme.listTileTheme.backgroundColor ?? guruTheme.colorScheme.containerColor ?? Colors.white, // child: RemoveAdsCard( // cardSpec: controller.designModel.removeAdsSpec // ), // ) : Container(); // }, stream: controller.valueStream), WidgetSetting(hasDivider: false, widget: StreamBuilder( stream: controller.valueStream, builder: (context, snapshot) { return snapshot.data == true ? Container( padding: Platform.isAndroid ? controller.designModel.androidRemoveAdsMargin : controller.designModel.iosRemoveAdsMargin, color: Platform.isAndroid ? Colors.transparent : guruTheme.listTileTheme.backgroundColor ?? guruTheme.colorScheme.containerColor ?? Colors.white, child: PurchaseBanner(summary: 'Remove Banner ', price: '2.2', tips: 'All banner ads and pop-up ads will be removed permanently, except for rewarded video ads.'), ) : Container(); }, )), ...(Platform.isIOS ? [ EntranceSetting(title: "Restore Purchases", leading: "assets/images/ic_restore.png"), GroupSetting(title: "PREFERENCE", items: [ _buildSound(), _buildVibration(), _buildTheme() ]) ] : []), ...(Platform.isAndroid ? [ _buildSound(), _buildVibration(), _buildTheme() ] : []), // _buildSound(), // _buildVibration(), // _buildTheme(), GroupSetting( title: "INFORMATION", items: [ EntranceSetting(title: "Share App", leading: "assets/images/ic_share.png"), EntranceSetting(title: "Contact Us", leading: "assets/images/ic_message.png"), EntranceSetting(title: "Contribute to Translate", leading: "assets/images/ic_volunteer.png"), EntranceSetting(title: "Become a Volunteer Translator (Two lines)", leading: "assets/images/ic_volunteer.png") ] ) ], policyUrl: Uri.parse("https://www.baidu.com"), termsOfServiceUrl: Uri.parse("https://www.baidu.com"), appOwnerinfo: const AppOwnerInfo('assets/images/ic_share.png'), // onPolicyTap: () { // RouteCenter.instance.openPath(Routes.webview.path()); // }, ); } }