diff --git a/assets/media/17109258772024-01-30.jpg b/assets/media/17109258772024-01-30.jpg new file mode 100644 index 0000000..e385b76 Binary files /dev/null and b/assets/media/17109258772024-01-30.jpg differ diff --git a/assets/media/1710929961IMG20220622104550.jpg b/assets/media/1710929961IMG20220622104550.jpg new file mode 100644 index 0000000..783ad1c Binary files /dev/null and b/assets/media/1710929961IMG20220622104550.jpg differ diff --git a/assets/media/1710930394IMG_1116.JPG b/assets/media/1710930394IMG_1116.JPG new file mode 100644 index 0000000..30bba40 Binary files /dev/null and b/assets/media/1710930394IMG_1116.JPG differ diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index abd978e..5d2ca9d 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -491,12 +491,14 @@ DEVELOPMENT_TEAM = N9G5QJKAY4; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "Gonpa Tour"; IPHONEOS_DEPLOYMENT_TARGET = 15.5.0; "IPHONEOS_DEPLOYMENT_TARGET[sdk=iphoneos*]" = 15.5.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); + MARKETING_VERSION = 1.0.8; PRODUCT_BUNDLE_IDENTIFIER = com.cta.gonpatour; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -676,12 +678,14 @@ DEVELOPMENT_TEAM = N9G5QJKAY4; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "Gonpa Tour"; IPHONEOS_DEPLOYMENT_TARGET = 15.5.0; "IPHONEOS_DEPLOYMENT_TARGET[sdk=iphoneos*]" = 15.5.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); + MARKETING_VERSION = 1.0.8; PRODUCT_BUNDLE_IDENTIFIER = com.cta.gonpatour; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -701,12 +705,14 @@ DEVELOPMENT_TEAM = N9G5QJKAY4; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "Gonpa Tour"; IPHONEOS_DEPLOYMENT_TARGET = 15.5.0; "IPHONEOS_DEPLOYMENT_TARGET[sdk=iphoneos*]" = 15.5.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); + MARKETING_VERSION = 1.0.8; PRODUCT_BUNDLE_IDENTIFIER = com.cta.gonpatour; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; diff --git a/lib/config/go_router.dart b/lib/config/go_router.dart index 05fb512..5bd549c 100644 --- a/lib/config/go_router.dart +++ b/lib/config/go_router.dart @@ -4,6 +4,7 @@ import 'package:gompa_tour/ui/screen/festival_detail_screen.dart'; import 'package:gompa_tour/ui/screen/festival_list_screen.dart'; import 'package:gompa_tour/ui/screen/organization_detail_screen.dart'; import 'package:gompa_tour/ui/screen/organization_list_screen.dart'; +import 'package:gompa_tour/ui/screen/orginatzations_screen.dart'; import '../ui/screen/deities_detail_screen.dart'; import '../ui/screen/skeleton_screen.dart'; @@ -32,9 +33,14 @@ final router = GoRouter( GoRoute( path: OrganizationListScreen.routeName, builder: (context, state) { - return const OrganizationListScreen(); + return OrganizationListScreen(); }, ), + GoRoute( + path: OrginatzationsScreen.routeName, + builder: (context, state) { + return const OrginatzationsScreen(); + }), GoRoute( path: OrganizationDetailScreen.routeName, builder: (context, state) { diff --git a/lib/helper/localization_helper.dart b/lib/helper/localization_helper.dart index 0dd1212..4d9d08c 100644 --- a/lib/helper/localization_helper.dart +++ b/lib/helper/localization_helper.dart @@ -23,7 +23,7 @@ class LocalizationHelper { return "${localizedText.substring(0, maxLength)}..."; } - return localizedText; + return localizedText.replaceAll(RegExp(r'\\r\\n|\\n'), '\n'); } static double? getLocalizedHeight(BuildContext buildContext) { diff --git a/lib/l10n/app_bo.arb b/lib/l10n/app_bo.arb index 189c00a..49c6312 100644 --- a/lib/l10n/app_bo.arb +++ b/lib/l10n/app_bo.arb @@ -18,8 +18,8 @@ "contactSupport": "འབྲེལ་མཐུད།", "sendEmail": "གློག་འཕྲིན་", "close": "ཁ་རྒྱག", - "recentSearches": "ཉེ་ཆར་གྱི་འཚོལ་བྱེད་", - "suggestion": "འོས་སྦྱོར་", + "recentSearches": "ཉེ་ཆར་གྱི་འཚོལ་བྱེད།", + "suggestion": "འོས་སྦྱོར།", "detail": "ཞིབ་ཕྲ།", "deities": "རྟེན་བཤད།", "organizations": "ཆོས་སྡེ།", @@ -41,5 +41,12 @@ "nepal": "བལ་ཡུལ།", "bhutan": "འབྲུག་ཡུལ།", "darkMode": "འཆར་ངོས་ནག་པོ།", - "theme": "འཆར་ངོས།" + "theme": "འཆར་ངོས།", + "nyingma": "རྙིང་མ།", + "kagyu": "བཀའ་བརྒྱུད།", + "sakya": "ས་སྐྱ།", + "gelug": "དགེ་ལུགས།", + "bon": "བོན།", + "jonang": "ཇོ་ནང།", + "others": "གཞན།" } diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index bfd4a0d..b267eef 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -25,7 +25,7 @@ "organizations": "Monastery", "festival": "Festival", "deity": "Deity", - "organization": "Organization", + "organization": "Monastery", "scanQrCode": "Scan QR Code", "address": "Address", "location": "Location", @@ -41,5 +41,12 @@ "nepal": "Nepal", "bhutan": "Bhutan", "darkMode": "Dark Mode", - "theme": "Theme" + "theme": "Theme", + "nyingma": "Nyingma", + "kagyu": "Kagyu", + "sakya": "Sakya", + "gelug": "Gelug", + "bon": "Bon", + "jonang": "Jonang", + "others": "Others" } diff --git a/lib/repo/database_repository.dart b/lib/repo/database_repository.dart index 9fd4406..a8dab82 100644 --- a/lib/repo/database_repository.dart +++ b/lib/repo/database_repository.dart @@ -107,11 +107,15 @@ class DatabaseRepository { ); } - Future> getSortedPaginatedOrganization(int page, int pageSize) async { + Future> getSortedPaginatedOrganization( + int page, int pageSize, String category) async { final db = await dbHelper.database; + final sanitizedCategory = + category.replaceAll("'", "''"); // Prevent SQL injection final maps = await db.query( tableName, - orderBy: 'categories asc', + where: 'categories LIKE ?', + whereArgs: ['%$sanitizedCategory%'], limit: pageSize, offset: page * pageSize, ); diff --git a/lib/states/organization_state.dart b/lib/states/organization_state.dart index ea322e4..4f96ccc 100644 --- a/lib/states/organization_state.dart +++ b/lib/states/organization_state.dart @@ -56,11 +56,11 @@ class OrganizationNotifier extends StateNotifier { OrganizationNotifier(this.repository) : super(OrganizationListState.initial()); - Future fetchInitialOrganizations() async { + Future fetchInitialOrganizations(String category) async { state = state.copyWith(isLoading: true); try { - final initialOrganizations = - await repository.getSortedPaginatedOrganization(0, state.pageSize); + final initialOrganizations = await repository + .getSortedPaginatedOrganization(0, state.pageSize, category); state = state.copyWith( organizations: initialOrganizations, page: 1, @@ -84,14 +84,14 @@ class OrganizationNotifier extends StateNotifier { ); } - Future fetchPaginatedOrganizations() async { + Future fetchPaginatedOrganizations(String category) async { if (state.isLoading || state.hasReachedMax) return; try { state = state.copyWith(isLoading: true); final newOrganizations = await repository.getSortedPaginatedOrganization( - state.page, state.pageSize); + state.page, state.pageSize, category); final hasReachedMax = newOrganizations.length < state.pageSize; diff --git a/lib/ui/screen/deities_detail_screen.dart b/lib/ui/screen/deities_detail_screen.dart index ae515ef..7fdede1 100644 --- a/lib/ui/screen/deities_detail_screen.dart +++ b/lib/ui/screen/deities_detail_screen.dart @@ -17,6 +17,7 @@ class DeityDetailScreen extends ConsumerWidget { Widget build(BuildContext context, WidgetRef ref) { final selectedDeity = ref.watch(selectedDeityProvider); final height = MediaQuery.of(context).size.height; + Locale locale = Localizations.localeOf(context); if (selectedDeity == null) { return const Scaffold( @@ -40,9 +41,10 @@ class DeityDetailScreen extends ConsumerWidget { enText: selectedDeity.enTitle, boText: selectedDeity.tbTitle, ), - style: const TextStyle( + style: TextStyle( fontSize: 24, fontWeight: FontWeight.bold, + height: context.getLocalizedHeight(), ), ), ), @@ -73,7 +75,9 @@ class DeityDetailScreen extends ConsumerWidget { boText: selectedDeity.tbContent, ), style: TextStyle( - fontSize: 16, height: context.getLocalizedHeight()), + fontSize: 16, + height: context.getLocalizedHeight(), + ), ), if (selectedDeity.slug != null) ...[ const SizedBox(height: 16), diff --git a/lib/ui/screen/festival_detail_screen.dart b/lib/ui/screen/festival_detail_screen.dart index 8c73d38..31459e6 100644 --- a/lib/ui/screen/festival_detail_screen.dart +++ b/lib/ui/screen/festival_detail_screen.dart @@ -39,9 +39,10 @@ class FestivalDetailScreen extends ConsumerWidget { enText: selectedFestival.eventEnName!, boText: selectedFestival.eventTbName!, ), - style: const TextStyle( + style: TextStyle( fontSize: 24, fontWeight: FontWeight.bold, + height: context.getLocalizedHeight(), ), ), ), @@ -62,7 +63,9 @@ class FestivalDetailScreen extends ConsumerWidget { boText: selectedFestival.tbDescription!, ), style: TextStyle( - fontSize: 16, height: context.getLocalizedHeight()), + fontSize: 16, + height: context.getLocalizedHeight(), + ), ), if (selectedFestival.slug != null) ...[ const SizedBox(height: 16), diff --git a/lib/ui/screen/home_screen.dart b/lib/ui/screen/home_screen.dart index 9331be6..2b4f78d 100644 --- a/lib/ui/screen/home_screen.dart +++ b/lib/ui/screen/home_screen.dart @@ -5,6 +5,7 @@ import 'package:go_router/go_router.dart'; import 'package:gompa_tour/ui/screen/deities_list_screen.dart'; import 'package:gompa_tour/ui/screen/festival_list_screen.dart'; import 'package:gompa_tour/ui/screen/organization_list_screen.dart'; +import 'package:gompa_tour/ui/screen/orginatzations_screen.dart'; import 'package:gompa_tour/util/enum.dart'; class HomeScreen extends ConsumerWidget { @@ -49,7 +50,7 @@ class HomeScreen extends ConsumerWidget { context.push(DeitiesListScreen.routeName); return; case MenuType.organization: - context.push(OrganizationListScreen.routeName); + context.push(OrginatzationsScreen.routeName); return; case MenuType.festival: context.push(FestivalListScreen.routeName); diff --git a/lib/ui/screen/map_screen.dart b/lib/ui/screen/map_screen.dart index 2a90e6e..de53635 100644 --- a/lib/ui/screen/map_screen.dart +++ b/lib/ui/screen/map_screen.dart @@ -150,9 +150,10 @@ class _MapScreenState extends ConsumerState { children: [ Text( selectedOrganization.tbTitle, - style: const TextStyle( + style: TextStyle( fontSize: 18, fontWeight: FontWeight.bold, + height: context.getLocalizedHeight(), ), ), const SizedBox(height: 8), @@ -162,6 +163,9 @@ class _MapScreenState extends ConsumerState { boText: selectedOrganization.tbContent, maxLength: kDescriptionMaxLength, ), + style: TextStyle( + height: context.getLocalizedHeight(), + ) ), const SizedBox(height: 12), Row( @@ -174,7 +178,9 @@ class _MapScreenState extends ConsumerState { .state = selectedOrganization; context.push(OrganizationDetailScreen.routeName); }, - child: Text(AppLocalizations.of(context)!.detail), + child: Text( + AppLocalizations.of(context)!.detail, + ), ), TextButton( onPressed: () => ref diff --git a/lib/ui/screen/organization_detail_screen.dart b/lib/ui/screen/organization_detail_screen.dart index 361eae8..9daf363 100644 --- a/lib/ui/screen/organization_detail_screen.dart +++ b/lib/ui/screen/organization_detail_screen.dart @@ -40,9 +40,10 @@ class OrganizationDetailScreen extends ConsumerWidget { enText: selectedOrganization.enTitle, boText: selectedOrganization.tbTitle, ), - style: const TextStyle( + style: TextStyle( fontSize: 24, fontWeight: FontWeight.bold, + height: context.getLocalizedHeight(), ), ), ), @@ -71,11 +72,12 @@ class OrganizationDetailScreen extends ConsumerWidget { const SizedBox(height: 16), Text( context.localizedText( - enText: selectedOrganization.enContent, - boText: selectedOrganization.tbContent, - ), + enText: selectedOrganization.enContent, + boText: selectedOrganization.tbContent), style: TextStyle( - fontSize: 16, height: context.getLocalizedHeight()), + fontSize: 16, + height: context.getLocalizedHeight(), + ), ), const SizedBox(height: 16), AddressCard( diff --git a/lib/ui/screen/organization_list_screen.dart b/lib/ui/screen/organization_list_screen.dart index c9ea286..d634700 100644 --- a/lib/ui/screen/organization_list_screen.dart +++ b/lib/ui/screen/organization_list_screen.dart @@ -7,8 +7,12 @@ import 'package:gompa_tour/ui/widget/organization_card_item.dart'; class OrganizationListScreen extends ConsumerStatefulWidget { static const String routeName = '/organization-list'; + final String? category; - const OrganizationListScreen({super.key}); + OrganizationListScreen({ + super.key, + this.category, + }); @override ConsumerState createState() => _DetiesListScreenState(); @@ -22,7 +26,7 @@ class _DetiesListScreenState extends ConsumerState { // Fetch initial deities when the screen is first loaded organizationNotifier = ref.read(organizationNotifierProvider.notifier); WidgetsBinding.instance.addPostFrameCallback((_) { - organizationNotifier.fetchInitialOrganizations(); + organizationNotifier.fetchInitialOrganizations(widget.category ?? ''); }); } @@ -36,7 +40,8 @@ class _DetiesListScreenState extends ConsumerState { if (scrollInfo.metrics.pixels == scrollInfo.metrics.maxScrollExtent && !organizationState.isLoading && !organizationState.hasReachedMax) { - organizationNotifier.fetchPaginatedOrganizations(); + organizationNotifier + .fetchPaginatedOrganizations(widget.category ?? ''); } return false; }, diff --git a/lib/ui/screen/orginatzations_screen.dart b/lib/ui/screen/orginatzations_screen.dart new file mode 100644 index 0000000..ff6336e --- /dev/null +++ b/lib/ui/screen/orginatzations_screen.dart @@ -0,0 +1,96 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:gompa_tour/ui/screen/organization_list_screen.dart'; +import 'package:gompa_tour/ui/widget/gonpa_app_bar.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; + +class OrginatzationsScreen extends ConsumerStatefulWidget { + static const String routeName = '/organizations-screen'; + + const OrginatzationsScreen({super.key}); + + @override + ConsumerState createState() => + _OrginatzationsScreenState(); +} + +class _OrginatzationsScreenState extends ConsumerState { + // list of organizations + final organizations = [ + {"CHA0": "Nyingma"}, + {"CHB0": "Kagyu"}, + {"CHC0": "Sakya"}, + {"CHD0": "Gelug"}, + {"CHE0": "Bon"}, + {"CHF0": "Jonang"}, + {"CHG": "Others"}, + ]; + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: GonpaAppBar(title: ''), + body: ListView.builder( + physics: const BouncingScrollPhysics(), + itemCount: organizations.length, + itemBuilder: (context, index) { + final organization = organizations[index]; + return GestureDetector( + onTap: () { + // Navigate to the detail screen of the item + Navigator.of(context).push( + MaterialPageRoute( + builder: (context) => OrganizationListScreen( + category: organization.keys.first, + ), + ), + ); + }, + child: Card( + shadowColor: Theme.of(context).colorScheme.shadow, + color: Theme.of(context).colorScheme.surfaceContainer, + margin: const EdgeInsets.only( + left: 16, right: 16, top: 16, bottom: 0), + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 24, + ), + child: Text( + _getTitle(organization.values.first, context), + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + // height: context.getLocalizedHeight(), + ), + ), + ), + ), + ); + }, + ), + ); + } + + String _getTitle(String category, BuildContext context) { + switch (category) { + case "Nyingma": + return AppLocalizations.of(context)!.nyingma; + case "Kagyu": + return AppLocalizations.of(context)!.kagyu; + case "Sakya": + return AppLocalizations.of(context)!.sakya; + case "Gelug": + return AppLocalizations.of(context)!.gelug; + case "Bon": + return AppLocalizations.of(context)!.bon; + case "Jonang": + return AppLocalizations.of(context)!.jonang; + case "Others": + return AppLocalizations.of(context)!.others; + default: + return ""; + } + } +} diff --git a/lib/ui/screen/search_screen.dart b/lib/ui/screen/search_screen.dart index b284879..aa2cca5 100644 --- a/lib/ui/screen/search_screen.dart +++ b/lib/ui/screen/search_screen.dart @@ -73,9 +73,6 @@ class _SearchScreenState extends ConsumerState { child: TextField( controller: _searchController, focusNode: _searchFocusNode, - style: const TextStyle( - fontFamily: 'Roboto', - ), autofocus: true, decoration: InputDecoration( hintText: AppLocalizations.of(context)!.search, @@ -137,7 +134,7 @@ class _SearchScreenState extends ConsumerState { label: Text( search, style: const TextStyle( - fontFamily: 'Roboto', + fontSize: 12, ), ), onDeleted: () { @@ -195,7 +192,9 @@ class _SearchScreenState extends ConsumerState { Text( suggestion.keys.first, style: const TextStyle( - fontSize: 12, fontFamily: 'Roboto'), + fontSize: 12, + fontFamily: 'Roboto', + ), ), ], ), diff --git a/lib/ui/screen/settings_screen.dart b/lib/ui/screen/settings_screen.dart index be3b8cd..b40383a 100644 --- a/lib/ui/screen/settings_screen.dart +++ b/lib/ui/screen/settings_screen.dart @@ -77,12 +77,12 @@ class SettingsScreen extends ConsumerWidget { fontWeight: FontWeight.w400, )), FlutterSwitch( - width: 55, + width: 60, height: 30, toggleSize: 20, valueFontSize: 12.0, value: currentLanguage == LanguageState.TIBETAN, - activeText: "བོད་", + activeText: "བོད།", inactiveText: "EN", showOnOff: true, onToggle: (val) { diff --git a/lib/ui/screen/skeleton_screen.dart b/lib/ui/screen/skeleton_screen.dart index f30cfe9..456b053 100644 --- a/lib/ui/screen/skeleton_screen.dart +++ b/lib/ui/screen/skeleton_screen.dart @@ -30,7 +30,7 @@ class SkeletonScreen extends ConsumerWidget { return Scaffold( //extendBodyBehindAppBar: true, - appBar: currentTab['title'] != null && currentTab['title'].isNotEmpty + appBar: currentTab['title'] != null ? AppBar( title: currentTab['title'] == "home" ? Image.asset( @@ -59,12 +59,12 @@ class SkeletonScreen extends ConsumerWidget { 'screen': const HomeScreen(), }, { - 'title': AppLocalizations.of(context)!.map, + 'title': "", 'icon': Icons.map, 'screen': const MapScreen(), }, { - 'title': AppLocalizations.of(context)!.qr, + 'title': "", 'icon': Icons.qr_code_scanner, 'screen': const QrScreen(), }, diff --git a/lib/ui/widget/deity_card_item.dart b/lib/ui/widget/deity_card_item.dart index b14fcd1..7eee833 100644 --- a/lib/ui/widget/deity_card_item.dart +++ b/lib/ui/widget/deity_card_item.dart @@ -36,9 +36,10 @@ class DeityCardItem extends ConsumerWidget { enText: deity.enTitle, boText: deity.tbTitle, ), - style: const TextStyle( + style: TextStyle( fontSize: 18, fontWeight: FontWeight.bold, + height: context.getLocalizedHeight(), ), ), const SizedBox(height: 8), @@ -64,7 +65,10 @@ class DeityCardItem extends ConsumerWidget { boText: deity.tbContent, maxLength: kDescriptionMaxLength, ), - style: const TextStyle(fontSize: 16), + style: TextStyle( + fontSize: 16, + height: context.getLocalizedHeight(), + ), ), ), ], diff --git a/lib/ui/widget/festival_card_item.dart b/lib/ui/widget/festival_card_item.dart index 02136a6..e874267 100644 --- a/lib/ui/widget/festival_card_item.dart +++ b/lib/ui/widget/festival_card_item.dart @@ -36,9 +36,10 @@ class FestivalCardItem extends ConsumerWidget { enText: festival.eventEnName!, boText: festival.eventTbName!, ), - style: const TextStyle( + style: TextStyle( fontSize: 18, fontWeight: FontWeight.bold, + height: context.getLocalizedHeight(), ), ), const SizedBox(height: 8), @@ -64,7 +65,9 @@ class FestivalCardItem extends ConsumerWidget { boText: festival.tbDescription!, maxLength: kDescriptionMaxLength, ), - style: const TextStyle(fontSize: 16), + style: TextStyle(fontSize: 16, + height: context.getLocalizedHeight(), + ), )), ], ), diff --git a/lib/ui/widget/organization_card_item.dart b/lib/ui/widget/organization_card_item.dart index c6dc89b..2dee9e5 100644 --- a/lib/ui/widget/organization_card_item.dart +++ b/lib/ui/widget/organization_card_item.dart @@ -15,7 +15,6 @@ class OrganizationCardItem extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { - print('OrganizationCardItem build:' + organization.pic); return GestureDetector( onTap: () { ref.read(selectedOrganizationProvider.notifier).state = organization; @@ -35,9 +34,10 @@ class OrganizationCardItem extends ConsumerWidget { enText: organization.enTitle, boText: organization.tbTitle, ), - style: const TextStyle( + style: TextStyle( fontSize: 18, fontWeight: FontWeight.bold, + height: context.getLocalizedHeight(), ), ), const SizedBox(height: 8), @@ -63,7 +63,10 @@ class OrganizationCardItem extends ConsumerWidget { boText: organization.tbContent, maxLength: kDescriptionMaxLength, ), - style: const TextStyle(fontSize: 16), + style: TextStyle( + fontSize: 16, + height: context.getLocalizedHeight(), + ), ), ), ], diff --git a/pubspec.yaml b/pubspec.yaml index 312634e..dc29fe6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.0.7+8 +version: 1.0.8+9 environment: sdk: ^3.5.3