@tyrads.com/tyrads-sdk 3.0.0-beta.0 → 3.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/tyradssdk/TyradsSdkModule.kt +130 -29
- package/ios/Tyrads/AcmoAssets.swift +14 -0
- package/ios/Tyrads/ApiHeaders.swift +1 -0
- package/ios/Tyrads/InitModel.swift +3 -0
- package/ios/Tyrads/Tyrads.swift +255 -213
- package/ios/Tyrads/WebViewController.swift +195 -0
- package/ios/Tyrads/core/utils/AcmoKeyNames.swift +29 -0
- package/ios/Tyrads/core/utils/ColorExtension.swift +55 -0
- package/ios/Tyrads/core/utils/Services/LocalizationService.swift +175 -0
- package/ios/Tyrads/helpers/device_details.swift +160 -0
- package/ios/Tyrads/legal/AcmoPrivacyPage.swift +353 -0
- package/ios/Tyrads/legal/PrivacyPageController.swift +31 -0
- package/ios/Tyrads/user/AcmoUserUpdatePage.swift +302 -0
- package/ios/Tyrads/user/AcmoUsersUpdateController.swift +26 -0
- package/ios/Tyrads/user/Repository.swift +89 -0
- package/ios/TyradsSdk.mm +22 -4
- package/ios/TyradsSdk.swift +101 -31
- package/lib/commonjs/acmo/core/helpers/launcher.js +20 -0
- package/lib/commonjs/acmo/core/helpers/launcher.js.map +1 -0
- package/lib/commonjs/acmo/core/helpers/native_methods.js +37 -0
- package/lib/commonjs/acmo/core/helpers/native_methods.js.map +1 -0
- package/lib/commonjs/acmo/core/helpers/numeral.js +19 -0
- package/lib/commonjs/acmo/core/helpers/numeral.js.map +1 -0
- package/lib/commonjs/acmo/core/services/localization_service.js +164 -0
- package/lib/commonjs/acmo/core/services/localization_service.js.map +1 -0
- package/lib/commonjs/acmo/core/storage/storage.js +15 -1
- package/lib/commonjs/acmo/core/storage/storage.js.map +1 -1
- package/lib/commonjs/acmo/modules/dashboard/components/active_offers_button.js +79 -0
- package/lib/commonjs/acmo/modules/dashboard/components/active_offers_button.js.map +1 -0
- package/lib/commonjs/acmo/modules/dashboard/components/custom_card.js +7 -10
- package/lib/commonjs/acmo/modules/dashboard/components/custom_card.js.map +1 -1
- package/lib/commonjs/acmo/modules/dashboard/components/custom_scroller.js +141 -0
- package/lib/commonjs/acmo/modules/dashboard/components/custom_scroller.js.map +1 -0
- package/lib/commonjs/acmo/{core/marquee.js → modules/dashboard/components/custom_shimmer.js} +46 -34
- package/lib/commonjs/acmo/modules/dashboard/components/custom_shimmer.js.map +1 -0
- package/lib/commonjs/acmo/modules/dashboard/components/offer_card.js +263 -0
- package/lib/commonjs/acmo/modules/dashboard/components/offer_card.js.map +1 -0
- package/lib/commonjs/acmo/modules/dashboard/components/offer_list_item.js +203 -0
- package/lib/commonjs/acmo/modules/dashboard/components/offer_list_item.js.map +1 -0
- package/lib/commonjs/acmo/modules/dashboard/components/premium_empty_widget.js +87 -0
- package/lib/commonjs/acmo/modules/dashboard/components/premium_empty_widget.js.map +1 -0
- package/lib/commonjs/acmo/modules/dashboard/components/premium_header.js +16 -14
- package/lib/commonjs/acmo/modules/dashboard/components/premium_header.js.map +1 -1
- package/lib/commonjs/acmo/modules/dashboard/components/premium_loading.js +111 -0
- package/lib/commonjs/acmo/modules/dashboard/components/premium_loading.js.map +1 -0
- package/lib/commonjs/acmo/modules/dashboard/repository.js +108 -32
- package/lib/commonjs/acmo/modules/dashboard/repository.js.map +1 -1
- package/lib/commonjs/acmo/modules/dashboard/top_offers.js +85 -63
- package/lib/commonjs/acmo/modules/dashboard/top_offers.js.map +1 -1
- package/lib/commonjs/acmo/modules/localization/localization_context.js +56 -0
- package/lib/commonjs/acmo/modules/localization/localization_context.js.map +1 -0
- package/lib/commonjs/assets/images/angle_up.png +0 -0
- package/lib/commonjs/assets/images/diamond.png +0 -0
- package/lib/commonjs/assets/images/info.png +0 -0
- package/lib/commonjs/assets/images/info_icon.png +0 -0
- package/lib/commonjs/assets/images/premium-emptybg.jpeg +0 -0
- package/lib/commonjs/assets/images/rank_1.png +0 -0
- package/lib/commonjs/assets/images/rank_2.png +0 -0
- package/lib/commonjs/assets/images/rank_3.png +0 -0
- package/lib/commonjs/assets/images/rank_4.png +0 -0
- package/lib/commonjs/assets/images/rank_5.png +0 -0
- package/lib/commonjs/index.js +50 -16
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/acmo/core/helpers/launcher.js +15 -0
- package/lib/module/acmo/core/helpers/launcher.js.map +1 -0
- package/lib/module/acmo/core/helpers/native_methods.js +33 -0
- package/lib/module/acmo/core/helpers/native_methods.js.map +1 -0
- package/lib/module/acmo/core/helpers/numeral.js +14 -0
- package/lib/module/acmo/core/helpers/numeral.js.map +1 -0
- package/lib/module/acmo/core/services/localization_service.js +159 -0
- package/lib/module/acmo/core/services/localization_service.js.map +1 -0
- package/lib/module/acmo/core/storage/storage.js +13 -0
- package/lib/module/acmo/core/storage/storage.js.map +1 -1
- package/lib/module/acmo/modules/dashboard/components/active_offers_button.js +73 -0
- package/lib/module/acmo/modules/dashboard/components/active_offers_button.js.map +1 -0
- package/lib/module/acmo/modules/dashboard/components/custom_card.js +7 -10
- package/lib/module/acmo/modules/dashboard/components/custom_card.js.map +1 -1
- package/lib/module/acmo/modules/dashboard/components/custom_scroller.js +135 -0
- package/lib/module/acmo/modules/dashboard/components/custom_scroller.js.map +1 -0
- package/lib/module/acmo/modules/dashboard/components/custom_shimmer.js +66 -0
- package/lib/module/acmo/modules/dashboard/components/custom_shimmer.js.map +1 -0
- package/lib/module/acmo/modules/dashboard/components/offer_card.js +257 -0
- package/lib/module/acmo/modules/dashboard/components/offer_card.js.map +1 -0
- package/lib/module/acmo/modules/dashboard/components/offer_list_item.js +197 -0
- package/lib/module/acmo/modules/dashboard/components/offer_list_item.js.map +1 -0
- package/lib/module/acmo/modules/dashboard/components/premium_empty_widget.js +82 -0
- package/lib/module/acmo/modules/dashboard/components/premium_empty_widget.js.map +1 -0
- package/lib/module/acmo/modules/dashboard/components/premium_header.js +16 -14
- package/lib/module/acmo/modules/dashboard/components/premium_header.js.map +1 -1
- package/lib/module/acmo/modules/dashboard/components/premium_loading.js +106 -0
- package/lib/module/acmo/modules/dashboard/components/premium_loading.js.map +1 -0
- package/lib/module/acmo/modules/dashboard/repository.js +105 -30
- package/lib/module/acmo/modules/dashboard/repository.js.map +1 -1
- package/lib/module/acmo/modules/dashboard/top_offers.js +86 -64
- package/lib/module/acmo/modules/dashboard/top_offers.js.map +1 -1
- package/lib/module/acmo/modules/localization/localization_context.js +45 -0
- package/lib/module/acmo/modules/localization/localization_context.js.map +1 -0
- package/lib/module/assets/images/angle_up.png +0 -0
- package/lib/module/assets/images/diamond.png +0 -0
- package/lib/module/assets/images/info.png +0 -0
- package/lib/module/assets/images/info_icon.png +0 -0
- package/lib/module/assets/images/premium-emptybg.jpeg +0 -0
- package/lib/module/assets/images/rank_1.png +0 -0
- package/lib/module/assets/images/rank_2.png +0 -0
- package/lib/module/assets/images/rank_3.png +0 -0
- package/lib/module/assets/images/rank_4.png +0 -0
- package/lib/module/assets/images/rank_5.png +0 -0
- package/lib/module/index.js +49 -17
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/acmo/core/helpers/launcher.d.ts +3 -0
- package/lib/typescript/commonjs/src/acmo/core/helpers/launcher.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/acmo/core/helpers/native_methods.d.ts +6 -0
- package/lib/typescript/commonjs/src/acmo/core/helpers/native_methods.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/acmo/core/helpers/numeral.d.ts +2 -0
- package/lib/typescript/commonjs/src/acmo/core/helpers/numeral.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/acmo/core/services/localization_service.d.ts +18 -0
- package/lib/typescript/commonjs/src/acmo/core/services/localization_service.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/acmo/core/storage/storage.d.ts +1 -0
- package/lib/typescript/commonjs/src/acmo/core/storage/storage.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/active_offers_button.d.ts +9 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/active_offers_button.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/custom_card.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/custom_scroller.d.ts +17 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/custom_scroller.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/custom_shimmer.d.ts +11 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/custom_shimmer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/offer_card.d.ts +12 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/offer_card.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/offer_list_item.d.ts +15 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/offer_list_item.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_empty_widget.d.ts +7 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_empty_widget.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_header.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_loading.d.ts +8 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_loading.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/repository.d.ts +2 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/repository.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/top_offers.d.ts +8 -7
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/top_offers.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/acmo/modules/localization/localization_context.d.ts +14 -0
- package/lib/typescript/commonjs/src/acmo/modules/localization/localization_context.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +8 -6
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/acmo/core/helpers/launcher.d.ts +3 -0
- package/lib/typescript/module/src/acmo/core/helpers/launcher.d.ts.map +1 -0
- package/lib/typescript/module/src/acmo/core/helpers/native_methods.d.ts +6 -0
- package/lib/typescript/module/src/acmo/core/helpers/native_methods.d.ts.map +1 -0
- package/lib/typescript/module/src/acmo/core/helpers/numeral.d.ts +2 -0
- package/lib/typescript/module/src/acmo/core/helpers/numeral.d.ts.map +1 -0
- package/lib/typescript/module/src/acmo/core/services/localization_service.d.ts +18 -0
- package/lib/typescript/module/src/acmo/core/services/localization_service.d.ts.map +1 -0
- package/lib/typescript/module/src/acmo/core/storage/storage.d.ts +1 -0
- package/lib/typescript/module/src/acmo/core/storage/storage.d.ts.map +1 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/components/active_offers_button.d.ts +9 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/active_offers_button.d.ts.map +1 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/custom_card.d.ts.map +1 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/components/custom_scroller.d.ts +17 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/custom_scroller.d.ts.map +1 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/custom_shimmer.d.ts +11 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/custom_shimmer.d.ts.map +1 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/offer_card.d.ts +12 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/offer_card.d.ts.map +1 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/offer_list_item.d.ts +15 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/offer_list_item.d.ts.map +1 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_empty_widget.d.ts +7 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_empty_widget.d.ts.map +1 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_header.d.ts.map +1 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_loading.d.ts +8 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_loading.d.ts.map +1 -0
- package/lib/typescript/module/src/acmo/modules/dashboard/repository.d.ts +2 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/repository.d.ts.map +1 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/top_offers.d.ts +8 -7
- package/lib/typescript/module/src/acmo/modules/dashboard/top_offers.d.ts.map +1 -1
- package/lib/typescript/module/src/acmo/modules/localization/localization_context.d.ts +14 -0
- package/lib/typescript/module/src/acmo/modules/localization/localization_context.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +8 -6
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +3 -6
- package/readme.md +8 -8
- package/src/acmo/core/helpers/launcher.ts +14 -0
- package/src/acmo/core/helpers/native_methods.ts +43 -0
- package/src/acmo/core/helpers/numeral.ts +14 -0
- package/src/acmo/core/services/localization_service.ts +200 -0
- package/src/acmo/core/storage/storage.ts +14 -0
- package/src/acmo/core/types/types.d.ts +11 -13
- package/src/acmo/modules/dashboard/components/active_offers_button.tsx +62 -0
- package/src/acmo/modules/dashboard/components/custom_card.tsx +5 -8
- package/src/acmo/modules/dashboard/components/custom_scroller.tsx +164 -0
- package/src/acmo/modules/dashboard/components/custom_shimmer.tsx +75 -0
- package/src/acmo/modules/dashboard/components/offer_card.tsx +248 -0
- package/src/acmo/modules/dashboard/components/offer_list_item.tsx +228 -0
- package/src/acmo/modules/dashboard/components/premium_empty_widget.tsx +79 -0
- package/src/acmo/modules/dashboard/components/premium_header.tsx +14 -13
- package/src/acmo/modules/dashboard/components/premium_loading.tsx +72 -0
- package/src/acmo/modules/dashboard/repository.ts +121 -46
- package/src/acmo/modules/dashboard/top_offers.tsx +105 -53
- package/src/acmo/modules/localization/localization_context.tsx +52 -0
- package/src/assets/images/angle_up.png +0 -0
- package/src/assets/images/diamond.png +0 -0
- package/src/assets/images/info.png +0 -0
- package/src/assets/images/info_icon.png +0 -0
- package/src/assets/images/premium-emptybg.jpeg +0 -0
- package/src/assets/images/rank_1.png +0 -0
- package/src/assets/images/rank_2.png +0 -0
- package/src/assets/images/rank_3.png +0 -0
- package/src/assets/images/rank_4.png +0 -0
- package/src/assets/images/rank_5.png +0 -0
- package/src/index.tsx +76 -34
- package/lib/commonjs/acmo/core/marquee.js.map +0 -1
- package/lib/commonjs/acmo/modules/dashboard/components/auto_scroller.js +0 -87
- package/lib/commonjs/acmo/modules/dashboard/components/auto_scroller.js.map +0 -1
- package/lib/commonjs/acmo/modules/dashboard/components/my_games_button.js +0 -48
- package/lib/commonjs/acmo/modules/dashboard/components/my_games_button.js.map +0 -1
- package/lib/commonjs/acmo/modules/dashboard/components/offer_info_section.js +0 -158
- package/lib/commonjs/acmo/modules/dashboard/components/offer_info_section.js.map +0 -1
- package/lib/commonjs/acmo/modules/dashboard/components/premium_option_1.js +0 -180
- package/lib/commonjs/acmo/modules/dashboard/components/premium_option_1.js.map +0 -1
- package/lib/commonjs/acmo/modules/dashboard/components/premium_option_2.js +0 -102
- package/lib/commonjs/acmo/modules/dashboard/components/premium_option_2.js.map +0 -1
- package/lib/commonjs/acmo/modules/dashboard/components/premium_option_3.js +0 -41
- package/lib/commonjs/acmo/modules/dashboard/components/premium_option_3.js.map +0 -1
- package/lib/commonjs/acmo/modules/dashboard/components/premium_option_4.js +0 -214
- package/lib/commonjs/acmo/modules/dashboard/components/premium_option_4.js.map +0 -1
- package/lib/commonjs/i18n.js +0 -112
- package/lib/commonjs/i18n.js.map +0 -1
- package/lib/module/acmo/core/marquee.js +0 -54
- package/lib/module/acmo/core/marquee.js.map +0 -1
- package/lib/module/acmo/modules/dashboard/components/auto_scroller.js +0 -81
- package/lib/module/acmo/modules/dashboard/components/auto_scroller.js.map +0 -1
- package/lib/module/acmo/modules/dashboard/components/my_games_button.js +0 -43
- package/lib/module/acmo/modules/dashboard/components/my_games_button.js.map +0 -1
- package/lib/module/acmo/modules/dashboard/components/offer_info_section.js +0 -153
- package/lib/module/acmo/modules/dashboard/components/offer_info_section.js.map +0 -1
- package/lib/module/acmo/modules/dashboard/components/premium_option_1.js +0 -174
- package/lib/module/acmo/modules/dashboard/components/premium_option_1.js.map +0 -1
- package/lib/module/acmo/modules/dashboard/components/premium_option_2.js +0 -97
- package/lib/module/acmo/modules/dashboard/components/premium_option_2.js.map +0 -1
- package/lib/module/acmo/modules/dashboard/components/premium_option_3.js +0 -36
- package/lib/module/acmo/modules/dashboard/components/premium_option_3.js.map +0 -1
- package/lib/module/acmo/modules/dashboard/components/premium_option_4.js +0 -209
- package/lib/module/acmo/modules/dashboard/components/premium_option_4.js.map +0 -1
- package/lib/module/i18n.js +0 -107
- package/lib/module/i18n.js.map +0 -1
- package/lib/typescript/commonjs/src/acmo/core/marquee.d.ts +0 -11
- package/lib/typescript/commonjs/src/acmo/core/marquee.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/auto_scroller.d.ts +0 -10
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/auto_scroller.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/my_games_button.d.ts +0 -8
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/my_games_button.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/offer_info_section.d.ts +0 -11
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/offer_info_section.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_option_1.d.ts +0 -9
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_option_1.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_option_2.d.ts +0 -9
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_option_2.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_option_3.d.ts +0 -9
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_option_3.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_option_4.d.ts +0 -9
- package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_option_4.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/i18n.d.ts +0 -3
- package/lib/typescript/commonjs/src/i18n.d.ts.map +0 -1
- package/lib/typescript/module/src/acmo/core/marquee.d.ts +0 -11
- package/lib/typescript/module/src/acmo/core/marquee.d.ts.map +0 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/components/auto_scroller.d.ts +0 -10
- package/lib/typescript/module/src/acmo/modules/dashboard/components/auto_scroller.d.ts.map +0 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/components/my_games_button.d.ts +0 -8
- package/lib/typescript/module/src/acmo/modules/dashboard/components/my_games_button.d.ts.map +0 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/components/offer_info_section.d.ts +0 -11
- package/lib/typescript/module/src/acmo/modules/dashboard/components/offer_info_section.d.ts.map +0 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_option_1.d.ts +0 -9
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_option_1.d.ts.map +0 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_option_2.d.ts +0 -9
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_option_2.d.ts.map +0 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_option_3.d.ts +0 -9
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_option_3.d.ts.map +0 -1
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_option_4.d.ts +0 -9
- package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_option_4.d.ts.map +0 -1
- package/lib/typescript/module/src/i18n.d.ts +0 -3
- package/lib/typescript/module/src/i18n.d.ts.map +0 -1
- package/src/acmo/core/marquee.tsx +0 -62
- package/src/acmo/modules/dashboard/components/auto_scroller.tsx +0 -85
- package/src/acmo/modules/dashboard/components/my_games_button.tsx +0 -40
- package/src/acmo/modules/dashboard/components/offer_info_section.tsx +0 -139
- package/src/acmo/modules/dashboard/components/premium_option_1.tsx +0 -163
- package/src/acmo/modules/dashboard/components/premium_option_2.tsx +0 -100
- package/src/acmo/modules/dashboard/components/premium_option_3.tsx +0 -42
- package/src/acmo/modules/dashboard/components/premium_option_4.tsx +0 -185
- package/src/i18n.ts +0 -115
@@ -0,0 +1,89 @@
|
|
1
|
+
//
|
2
|
+
// Repository.swift
|
3
|
+
// Pods
|
4
|
+
//
|
5
|
+
// Created by Basharat Mehdi on 01/10/25.
|
6
|
+
//
|
7
|
+
|
8
|
+
import Foundation
|
9
|
+
import UIKit
|
10
|
+
|
11
|
+
public class UserRepository {
|
12
|
+
|
13
|
+
public static let shared = UserRepository()
|
14
|
+
|
15
|
+
private init() {}
|
16
|
+
|
17
|
+
public func updateUser(userID: String, gender: String, age: String) async throws {
|
18
|
+
let sdk = Tyrads.instance
|
19
|
+
|
20
|
+
guard let ageInt = Int(age) else {
|
21
|
+
print("ERROR: Failed to convert age string '\(age)' to integer.")
|
22
|
+
throw NSError(domain: "TyradsSdk", code: 4, userInfo: [NSLocalizedDescriptionKey: "Invalid age format."])
|
23
|
+
}
|
24
|
+
|
25
|
+
let fd: [String: Any] = [
|
26
|
+
"gender": gender == "Male" ? 1 : 2,
|
27
|
+
"age": ageInt,
|
28
|
+
]
|
29
|
+
|
30
|
+
let fullURLString = AcmoConfig.BASE_URL + "update-user"
|
31
|
+
|
32
|
+
print("--- USER UPDATE REQUEST ---")
|
33
|
+
print("UserID: \(userID)")
|
34
|
+
print("URL: \(fullURLString)")
|
35
|
+
print("Data Sent: \(fd)")
|
36
|
+
|
37
|
+
let requestBody = sdk.isSecure && !(sdk.encKey ?? "").isEmpty ? try AcmoEncrypt(sdk.encKey!).encryptDataAESGCM(data: fd) : fd
|
38
|
+
|
39
|
+
guard let url = URL(string: fullURLString) else {
|
40
|
+
throw NSError(domain: "TyradsSdk", code: 1, userInfo: [NSLocalizedDescriptionKey: "Invalid URL for user update"])
|
41
|
+
}
|
42
|
+
|
43
|
+
var request = URLRequest(url: url)
|
44
|
+
request.httpMethod = "PUT"
|
45
|
+
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
|
46
|
+
request.setValue(sdk.apiKey, forHTTPHeaderField: "X-API-Key")
|
47
|
+
request.setValue(sdk.apiSecret, forHTTPHeaderField: "X-API-Secret")
|
48
|
+
request.setValue(userID, forHTTPHeaderField: "X-User-ID")
|
49
|
+
request.setValue(AcmoConfig.SDK_PLATFORM, forHTTPHeaderField: "X-SDK-Platform")
|
50
|
+
request.setValue(AcmoConfig.SDK_VERSION, forHTTPHeaderField: "X-SDK-Version")
|
51
|
+
request.setValue(sdk.isSecure ? "BASIC" : "PLAIN", forHTTPHeaderField: "X-Secure-Mode")
|
52
|
+
|
53
|
+
print("X-API-Key: \(sdk.apiKey)")
|
54
|
+
print("X-API-Secret: \(sdk.apiSecret)")
|
55
|
+
print("X-Publisher-User-Id: \(userID)")
|
56
|
+
print("Request Body: \(requestBody)")
|
57
|
+
|
58
|
+
do {
|
59
|
+
request.httpBody = try JSONSerialization.data(withJSONObject: requestBody)
|
60
|
+
} catch {
|
61
|
+
print("ERROR: Failed to serialize request body: \(error)")
|
62
|
+
throw error
|
63
|
+
}
|
64
|
+
|
65
|
+
let (data, response) = try await URLSession.shared.data(for: request)
|
66
|
+
|
67
|
+
let responseString = String(data: data, encoding: .utf8) ?? "No readable response data"
|
68
|
+
|
69
|
+
guard let httpResponse = response as? HTTPURLResponse else {
|
70
|
+
print("ERROR: Response was not HTTPURLResponse.")
|
71
|
+
throw NSError(domain: "TyradsSdk", code: 0, userInfo: [NSLocalizedDescriptionKey: "Non-HTTP response received."])
|
72
|
+
}
|
73
|
+
|
74
|
+
print("Response Status Code: \(httpResponse.statusCode)")
|
75
|
+
print("Response Body: \(responseString)")
|
76
|
+
|
77
|
+
guard (200...299).contains(httpResponse.statusCode) else {
|
78
|
+
let statusCode = httpResponse.statusCode
|
79
|
+
sdk.log("User update failed with status: \(statusCode)")
|
80
|
+
|
81
|
+
let fullErrorDescription = "Failed to update user demographics."
|
82
|
+
throw NSError(domain: "TyradsSdk", code: statusCode,
|
83
|
+
userInfo: [NSLocalizedDescriptionKey: "Failed to update user demographics."])
|
84
|
+
}
|
85
|
+
|
86
|
+
print("User has been updated please check")
|
87
|
+
sdk.log("User update successful.")
|
88
|
+
}
|
89
|
+
}
|
package/ios/TyradsSdk.mm
CHANGED
@@ -2,15 +2,33 @@
|
|
2
2
|
|
3
3
|
@interface RCT_EXTERN_MODULE(TyradsSdk, NSObject)
|
4
4
|
|
5
|
-
RCT_EXTERN_METHOD(
|
6
|
-
|
7
|
-
|
5
|
+
RCT_EXTERN_METHOD(startObserving)
|
6
|
+
RCT_EXTERN_METHOD(stopObserving)
|
7
|
+
RCT_EXTERN_METHOD(init:(NSString *)apiKey
|
8
|
+
secretKey:(NSString *)secretKey
|
9
|
+
encKey:(NSString * _Nullable)encKey
|
10
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
11
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
8
12
|
// RCT_EXTERN_METHOD(loginUser:(NSString *)userId)
|
9
13
|
RCT_EXTERN_METHOD(loginUser:(NSString *)userId
|
10
14
|
resolver:(RCTPromiseResolveBlock)resolve
|
11
15
|
rejecter:(RCTPromiseRejectBlock)reject)
|
12
16
|
RCT_EXTERN_METHOD(showOffers:(NSInteger)launchMode
|
13
17
|
route:(NSString)route
|
14
|
-
|
18
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
19
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
20
|
+
RCT_EXTERN_METHOD(showOfferDetails:(NSInteger)launchMode
|
21
|
+
route:(NSString)route
|
22
|
+
campaignID:(NSInteger)campaignID
|
23
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
24
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
25
|
+
RCT_EXTERN_METHOD(changeLanguage:(NSString *)lang
|
26
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
27
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
28
|
+
RCT_EXTERN_METHOD(isPrivacyAccepted:(RCTPromiseResolveBlock)resolve
|
29
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
30
|
+
RCT_EXTERN_METHOD(checkOnboardingProcess:(RCTPromiseResolveBlock)resolve
|
31
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
32
|
+
|
15
33
|
|
16
34
|
@end
|
package/ios/TyradsSdk.swift
CHANGED
@@ -1,47 +1,117 @@
|
|
1
1
|
import Foundation
|
2
2
|
import UIKit
|
3
|
+
import Combine
|
4
|
+
import React
|
3
5
|
|
4
6
|
|
5
7
|
@objc(TyradsSdk)
|
6
|
-
class TyradsSdk:
|
7
|
-
|
8
|
+
class TyradsSdk: RCTEventEmitter {
|
9
|
+
|
10
|
+
private var cancellable: AnyCancellable?
|
11
|
+
|
12
|
+
override func startObserving() {
|
13
|
+
cancellable = Tyrads.instance.languagePublisher
|
14
|
+
.sink { [weak self] lang in
|
15
|
+
self?.sendEvent(withName: "LanguageChanged", body: lang)
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
override func stopObserving() {
|
20
|
+
cancellable?.cancel()
|
21
|
+
cancellable = nil
|
22
|
+
}
|
23
|
+
|
24
|
+
override func supportedEvents() -> [String]! {
|
25
|
+
return ["LanguageChanged"]
|
26
|
+
}
|
27
|
+
|
8
28
|
@objc
|
9
|
-
func `init`(_ apiKey: String, secretKey: String, encKey: String? = nil) {
|
29
|
+
func `init`(_ apiKey: String, secretKey: String, encKey: String? = nil, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
10
30
|
NSLog("TyradsModule: init called with apiKey: \(apiKey) and secretKey: \(secretKey)")
|
11
|
-
|
31
|
+
Task {
|
32
|
+
do{
|
33
|
+
let locale = await Tyrads.instance.configure(apiKey: apiKey, secretKey: secretKey, encKey: encKey)
|
34
|
+
let result: [String: Any] = [
|
35
|
+
"success": true,
|
36
|
+
"languageCode": locale
|
37
|
+
]
|
38
|
+
resolve (result)
|
39
|
+
} catch {
|
40
|
+
reject("INIT_FAILED", "Failed to initialize", error)
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
12
44
|
}
|
13
|
-
|
45
|
+
|
14
46
|
@objc
|
15
47
|
func loginUser(_ userId: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
16
48
|
NSLog("TyradsModule: loginUser called with userId: \(userId)")
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
49
|
+
|
50
|
+
Task {
|
51
|
+
do {
|
52
|
+
guard let apiHeaders = try await Tyrads.instance.loginUser(userId) else {
|
53
|
+
reject("LOGIN_ERROR", "Login failed or returned nil headers", nil)
|
54
|
+
return
|
55
|
+
}
|
56
|
+
|
57
|
+
let result: [String: Any] = [
|
58
|
+
"xApiKey": apiHeaders.xApiKey,
|
59
|
+
"xApiSecret": apiHeaders.xApiSecret,
|
60
|
+
"xUserId": apiHeaders.xUserId,
|
61
|
+
"xSdkPlatform": apiHeaders.xSdkPlatform ?? "",
|
62
|
+
"xSdkVersion": apiHeaders.xSdkVersion ?? "",
|
63
|
+
"userAgent": apiHeaders.userAgent,
|
64
|
+
"languageCode": apiHeaders.languageCode,
|
65
|
+
"premiumColor": apiHeaders.premiumColor,
|
66
|
+
"headerColor": apiHeaders.headerColor,
|
67
|
+
"mainColor": apiHeaders.mainColor,
|
68
|
+
"privacyAccepted": apiHeaders.privacyAccepted
|
69
|
+
]
|
70
|
+
|
71
|
+
resolve(result)
|
72
|
+
} catch {
|
73
|
+
reject("LOGIN_ERROR", error.localizedDescription, error)
|
21
74
|
}
|
22
|
-
|
23
|
-
// Convert ApiHeaders to Dictionary
|
24
|
-
let result: [String: Any] = [
|
25
|
-
"xApiKey": headers.xApiKey,
|
26
|
-
"xApiSecret": headers.xApiSecret,
|
27
|
-
"xUserId": headers.xUserId,
|
28
|
-
"xSdkPlatform": headers.xSdkPlatform ?? "",
|
29
|
-
"xSdkVersion": headers.xSdkVersion ?? "",
|
30
|
-
"userAgent": headers.userAgent,
|
31
|
-
"languageCode": headers.languageCode,
|
32
|
-
"premiumColor": headers.premiumColor,
|
33
|
-
"headerColor": headers.headerColor,
|
34
|
-
"mainColor": headers.mainColor
|
35
|
-
]
|
36
|
-
|
37
|
-
resolve(result)
|
38
75
|
}
|
39
76
|
}
|
40
|
-
|
41
|
-
|
42
|
-
@objc
|
43
|
-
|
44
|
-
|
45
|
-
|
77
|
+
|
78
|
+
|
79
|
+
@objc(showOffers:route:resolver:rejecter:)
|
80
|
+
func showOffers(_ launchMode: Int, route: String?, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
81
|
+
Task {
|
82
|
+
await Tyrads.instance.showOffers(launchMode, route: route, campaignID: nil)
|
83
|
+
resolve(nil)
|
84
|
+
}
|
85
|
+
}
|
86
|
+
|
87
|
+
@objc(showOfferDetails:route:campaignID:resolver:rejecter:)
|
88
|
+
func showOfferDetails(_ launchMode: Int, route: String?, campaignID: Int, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
89
|
+
Task {
|
90
|
+
await Tyrads.instance.showOffers(launchMode, route: route, campaignID: campaignID)
|
91
|
+
resolve(nil)
|
92
|
+
}
|
93
|
+
}
|
94
|
+
|
95
|
+
@objc(changeLanguage:resolver:rejecter:)
|
96
|
+
func changeLanguage(_ lang: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
97
|
+
Task {
|
98
|
+
await Tyrads.instance.changeLanguage(lang)
|
99
|
+
resolve(nil)
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
@objc
|
104
|
+
func isPrivacyAccepted(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
105
|
+
let accepted = Tyrads.instance.isPrivacyAccepted()
|
106
|
+
resolve(accepted)
|
107
|
+
}
|
108
|
+
|
109
|
+
@objc
|
110
|
+
func checkOnboardingProcess(_ resolver: @escaping RCTPromiseResolveBlock,rejecter: @escaping RCTPromiseRejectBlock) {
|
111
|
+
Task {
|
112
|
+
let result = await Tyrads.instance.checkOnboardingProcess()
|
113
|
+
resolver(result)
|
114
|
+
}
|
115
|
+
}
|
46
116
|
|
47
117
|
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.acmoLaunchURL = acmoLaunchURL;
|
7
|
+
exports.acmoLaunchURLForce = acmoLaunchURLForce;
|
8
|
+
var _reactNative = require("react-native");
|
9
|
+
async function acmoLaunchURLForce(url) {
|
10
|
+
await _reactNative.Linking.openURL(url);
|
11
|
+
}
|
12
|
+
async function acmoLaunchURL(url) {
|
13
|
+
const supported = await _reactNative.Linking.canOpenURL(url);
|
14
|
+
if (supported) {
|
15
|
+
await _reactNative.Linking.openURL(url);
|
16
|
+
} else {
|
17
|
+
console.warn("Don't know how to open URI: " + url);
|
18
|
+
}
|
19
|
+
}
|
20
|
+
//# sourceMappingURL=launcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_reactNative","require","acmoLaunchURLForce","url","Linking","openURL","acmoLaunchURL","supported","canOpenURL","console","warn"],"sourceRoot":"../../../../../src","sources":["acmo/core/helpers/launcher.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,eAAeC,kBAAkBA,CAACC,GAAW,EAAE;EAClD,MAAMC,oBAAO,CAACC,OAAO,CAACF,GAAG,CAAC;AAC9B;AAEO,eAAeG,aAAaA,CAACH,GAAW,EAAE;EAC/C,MAAMI,SAAS,GAAG,MAAMH,oBAAO,CAACI,UAAU,CAACL,GAAG,CAAC;EAC/C,IAAII,SAAS,EAAE;IACb,MAAMH,oBAAO,CAACC,OAAO,CAACF,GAAG,CAAC;EAC5B,CAAC,MAAM;IACLM,OAAO,CAACC,IAAI,CAAC,8BAA8B,GAAGP,GAAG,CAAC;EACpD;AACF","ignoreList":[]}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
var _reactNative = require("react-native");
|
8
|
+
const LINKING_ERROR = `The package 'tyrads-sdk' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
9
|
+
ios: "- You have run 'pod install'\n",
|
10
|
+
default: ''
|
11
|
+
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
12
|
+
const TyradsSdk = _reactNative.NativeModules.TyradsSdk ? _reactNative.NativeModules.TyradsSdk : new Proxy({}, {
|
13
|
+
get() {
|
14
|
+
throw new Error(LINKING_ERROR);
|
15
|
+
}
|
16
|
+
});
|
17
|
+
const TyradsNativeMethods = {
|
18
|
+
isPrivacyAccepted: async () => {
|
19
|
+
try {
|
20
|
+
return await TyradsSdk.isPrivacyAccepted();
|
21
|
+
} catch (err) {
|
22
|
+
console.error("Error checking privacy acceptance:", err);
|
23
|
+
return false;
|
24
|
+
}
|
25
|
+
},
|
26
|
+
checkOnboardingProcess: async () => {
|
27
|
+
try {
|
28
|
+
const result = await TyradsSdk.checkOnboardingProcess();
|
29
|
+
return result === true;
|
30
|
+
} catch (err) {
|
31
|
+
console.error("Error showing privacy flow:", err);
|
32
|
+
return false;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
};
|
36
|
+
var _default = exports.default = TyradsNativeMethods;
|
37
|
+
//# sourceMappingURL=native_methods.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","TyradsSdk","NativeModules","Proxy","get","Error","TyradsNativeMethods","isPrivacyAccepted","err","console","error","checkOnboardingProcess","result","_default","exports"],"sourceRoot":"../../../../../src","sources":["acmo/core/helpers/native_methods.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACjB,qEAAqE,GACrEC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,SAAS,GAAGC,0BAAa,CAACD,SAAS,GACrCC,0BAAa,CAACD,SAAS,GACvB,IAAIE,KAAK,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAGH,MAAMU,mBAAmB,GAAG;EAE1BC,iBAAiB,EAAE,MAAAA,CAAA,KAAY;IAC7B,IAAI;MACF,OAAO,MAAMN,SAAS,CAACM,iBAAiB,CAAC,CAAC;IAC5C,CAAC,CAAC,OAAOC,GAAG,EAAE;MACZC,OAAO,CAACC,KAAK,CAAC,oCAAoC,EAAEF,GAAG,CAAC;MACxD,OAAO,KAAK;IACd;EACF,CAAC;EAEDG,sBAAsB,EAAE,MAAAA,CAAA,KAAY;IAClC,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMX,SAAS,CAACU,sBAAsB,CAAC,CAAC;MACvD,OAAOC,MAAM,KAAK,IAAI;IACxB,CAAC,CAAC,OAAOJ,GAAG,EAAE;MACZC,OAAO,CAACC,KAAK,CAAC,6BAA6B,EAAEF,GAAG,CAAC;MACjD,OAAO,KAAK;IACd;EACF;AACF,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAd,OAAA,GAEaM,mBAAmB","ignoreList":[]}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.numeral = void 0;
|
7
|
+
const numeral = (value, decimals = 2) => {
|
8
|
+
const suffixes = ['', 'K', 'M', 'B', 'T'];
|
9
|
+
let suffixIndex = 0;
|
10
|
+
let dividedValue = value;
|
11
|
+
while (dividedValue >= 1000 && suffixIndex < suffixes.length - 1) {
|
12
|
+
dividedValue /= 1000;
|
13
|
+
suffixIndex++;
|
14
|
+
}
|
15
|
+
const roundedValue = Math.floor(dividedValue * Math.pow(10, decimals)) / Math.pow(10, decimals);
|
16
|
+
return `${roundedValue}${suffixes[suffixIndex]}`;
|
17
|
+
};
|
18
|
+
exports.numeral = numeral;
|
19
|
+
//# sourceMappingURL=numeral.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["numeral","value","decimals","suffixes","suffixIndex","dividedValue","length","roundedValue","Math","floor","pow","exports"],"sourceRoot":"../../../../../src","sources":["acmo/core/helpers/numeral.ts"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAGA,CAACC,KAAa,EAAEC,QAAgB,GAAG,CAAC,KAAa;EACtE,MAAMC,QAAQ,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;EACzC,IAAIC,WAAW,GAAG,CAAC;EACnB,IAAIC,YAAY,GAAGJ,KAAK;EAExB,OAAOI,YAAY,IAAI,IAAI,IAAID,WAAW,GAAGD,QAAQ,CAACG,MAAM,GAAG,CAAC,EAAE;IAChED,YAAY,IAAI,IAAI;IACpBD,WAAW,EAAE;EACf;EAEA,MAAMG,YAAY,GAAGC,IAAI,CAACC,KAAK,CAACJ,YAAY,GAAGG,IAAI,CAACE,GAAG,CAAC,EAAE,EAAER,QAAQ,CAAC,CAAC,GAAGM,IAAI,CAACE,GAAG,CAAC,EAAE,EAAER,QAAQ,CAAC;EAE/F,OAAO,GAAGK,YAAY,GAAGJ,QAAQ,CAACC,WAAW,CAAC,EAAE;AAClD,CAAC;AAACO,OAAA,CAAAX,OAAA,GAAAA,OAAA","ignoreList":[]}
|
@@ -0,0 +1,164 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
|
8
|
+
var _axios = _interopRequireDefault(require("axios"));
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
10
|
+
const BASE_URL = 'https://api.tyrads.com/v3.0/';
|
11
|
+
class LocalizationService {
|
12
|
+
axios = null;
|
13
|
+
translations = {};
|
14
|
+
supportedLocales = [];
|
15
|
+
fallbackLocale = 'en';
|
16
|
+
constructor() {}
|
17
|
+
static getInstance() {
|
18
|
+
if (!LocalizationService.instance) {
|
19
|
+
LocalizationService.instance = new LocalizationService();
|
20
|
+
}
|
21
|
+
return LocalizationService.instance;
|
22
|
+
}
|
23
|
+
static async getHeadersFromStorage() {
|
24
|
+
try {
|
25
|
+
const data = await _asyncStorage.default.getItem('credentials');
|
26
|
+
return data ? JSON.parse(data) : {};
|
27
|
+
} catch (error) {
|
28
|
+
console.error('Failed to retrieve headers from AsyncStorage', error);
|
29
|
+
return {};
|
30
|
+
}
|
31
|
+
}
|
32
|
+
async init(locale) {
|
33
|
+
if (this.axios) {
|
34
|
+
return;
|
35
|
+
}
|
36
|
+
const headers = await LocalizationService.getHeadersFromStorage();
|
37
|
+
this.axios = _axios.default.create({
|
38
|
+
baseURL: BASE_URL,
|
39
|
+
timeout: 10000,
|
40
|
+
headers: {
|
41
|
+
'Content-Type': 'application/json',
|
42
|
+
Accept: 'application/json',
|
43
|
+
"X-API-Key": headers["X-API-Key"],
|
44
|
+
"X-API-Secret": headers["X-API-Secret"]
|
45
|
+
}
|
46
|
+
});
|
47
|
+
this.axios.interceptors.request.use(config => {
|
48
|
+
console.log('====================================');
|
49
|
+
console.log(`Request: ${config.method} ${config.baseURL}${config.url}`);
|
50
|
+
console.log('Headers:', config.headers);
|
51
|
+
console.log('====================================');
|
52
|
+
return config;
|
53
|
+
}, error => {
|
54
|
+
return Promise.reject(error);
|
55
|
+
});
|
56
|
+
this.axios.interceptors.response.use(res => {
|
57
|
+
console.log('====================================');
|
58
|
+
console.log('Response Data:', res.data);
|
59
|
+
console.log('====================================');
|
60
|
+
return res;
|
61
|
+
}, error => {
|
62
|
+
return Promise.reject(error);
|
63
|
+
});
|
64
|
+
await this.loadTranslations(locale);
|
65
|
+
}
|
66
|
+
async loadTranslations(locale, force = false) {
|
67
|
+
const hasUpdate = await this.checkForUpdate(locale, force);
|
68
|
+
if (!hasUpdate) {
|
69
|
+
const cachedData = await _asyncStorage.default.getItem(`translations_${locale}`);
|
70
|
+
if (cachedData) {
|
71
|
+
try {
|
72
|
+
this.translations = JSON.parse(cachedData);
|
73
|
+
return;
|
74
|
+
} catch (e) {
|
75
|
+
console.error('Failed to parse cached translations', e);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
}
|
79
|
+
await this.fetchTranslations(locale, force);
|
80
|
+
}
|
81
|
+
async fetchTranslations(locale, force = false) {
|
82
|
+
if (!this.axios) return;
|
83
|
+
try {
|
84
|
+
let effectiveLocale = locale;
|
85
|
+
if (!this.supportedLocales.includes(locale)) {
|
86
|
+
effectiveLocale = this.fallbackLocale;
|
87
|
+
}
|
88
|
+
const response = await this.axios.get(`translations/${effectiveLocale}`, {
|
89
|
+
params: {
|
90
|
+
force,
|
91
|
+
format: 'nested'
|
92
|
+
}
|
93
|
+
});
|
94
|
+
if (response.status === 200) {
|
95
|
+
this.translations = response.data;
|
96
|
+
await _asyncStorage.default.setItem(`translations_${effectiveLocale}`, JSON.stringify(response.data));
|
97
|
+
} else {
|
98
|
+
console.warn(`Failed to load translations: ${response.status}`);
|
99
|
+
}
|
100
|
+
} catch (e) {
|
101
|
+
if (_axios.default.isAxiosError(e)) {
|
102
|
+
console.error('Network error fetching translations:', e.message);
|
103
|
+
} else {
|
104
|
+
console.error('An unexpected error occurred:', e);
|
105
|
+
}
|
106
|
+
}
|
107
|
+
}
|
108
|
+
async checkForUpdate(locale, force = false) {
|
109
|
+
if (!this.axios) return false;
|
110
|
+
try {
|
111
|
+
const response = await this.axios.get('translations/version', {
|
112
|
+
params: {
|
113
|
+
force
|
114
|
+
}
|
115
|
+
});
|
116
|
+
if (response.status === 200) {
|
117
|
+
const data = response.data.data;
|
118
|
+
this.supportedLocales = data.map(item => item.code);
|
119
|
+
const currentLocaleData = data.find(item => item.code === locale);
|
120
|
+
if (!currentLocaleData) {
|
121
|
+
return false;
|
122
|
+
}
|
123
|
+
const currentLocaleSha256 = currentLocaleData.sha256;
|
124
|
+
const cachedVersion = await _asyncStorage.default.getItem(`cached_version_${locale}`);
|
125
|
+
if (currentLocaleSha256 !== cachedVersion) {
|
126
|
+
await _asyncStorage.default.setItem(`cached_version_${locale}`, currentLocaleSha256);
|
127
|
+
return true;
|
128
|
+
}
|
129
|
+
}
|
130
|
+
} catch (e) {
|
131
|
+
if (_axios.default.isAxiosError(e)) {
|
132
|
+
console.error('Error checking for update:', e.message);
|
133
|
+
} else {
|
134
|
+
console.error('An unexpected error occurred:', e);
|
135
|
+
}
|
136
|
+
}
|
137
|
+
return false;
|
138
|
+
}
|
139
|
+
translate(key, args = {}) {
|
140
|
+
const keys = key.split('.');
|
141
|
+
let currentMap = this.translations;
|
142
|
+
for (const k of keys) {
|
143
|
+
if (typeof currentMap === 'object' && currentMap !== null && currentMap.hasOwnProperty(k)) {
|
144
|
+
currentMap = currentMap[k];
|
145
|
+
} else {
|
146
|
+
return key;
|
147
|
+
}
|
148
|
+
}
|
149
|
+
if (typeof currentMap === 'string') {
|
150
|
+
let result = currentMap;
|
151
|
+
for (const [argKey, argValue] of Object.entries(args)) {
|
152
|
+
const regex = new RegExp(`{${argKey}}`, 'gi');
|
153
|
+
result = result.replace(regex, String(argValue));
|
154
|
+
}
|
155
|
+
return result;
|
156
|
+
}
|
157
|
+
return key;
|
158
|
+
}
|
159
|
+
async changeLanguage(locale, force = false) {
|
160
|
+
await this.loadTranslations(locale, force);
|
161
|
+
}
|
162
|
+
}
|
163
|
+
var _default = exports.default = LocalizationService;
|
164
|
+
//# sourceMappingURL=localization_service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_asyncStorage","_interopRequireDefault","require","_axios","e","__esModule","default","BASE_URL","LocalizationService","axios","translations","supportedLocales","fallbackLocale","constructor","getInstance","instance","getHeadersFromStorage","data","AsyncStorage","getItem","JSON","parse","error","console","init","locale","headers","create","baseURL","timeout","Accept","interceptors","request","use","config","log","method","url","Promise","reject","response","res","loadTranslations","force","hasUpdate","checkForUpdate","cachedData","fetchTranslations","effectiveLocale","includes","get","params","format","status","setItem","stringify","warn","isAxiosError","message","map","item","code","currentLocaleData","find","currentLocaleSha256","sha256","cachedVersion","translate","key","args","keys","split","currentMap","k","hasOwnProperty","result","argKey","argValue","Object","entries","regex","RegExp","replace","String","changeLanguage","_default","exports"],"sourceRoot":"../../../../../src","sources":["acmo/core/services/localization_service.ts"],"mappings":"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","ignoreList":[]}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.saveData = exports.getData = void 0;
|
6
|
+
exports.saveData = exports.getData = exports.clearData = void 0;
|
7
7
|
var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
9
9
|
const saveData = async (key, object) => {
|
@@ -33,4 +33,18 @@ const getData = async key => {
|
|
33
33
|
}
|
34
34
|
};
|
35
35
|
exports.getData = getData;
|
36
|
+
const clearData = async key => {
|
37
|
+
try {
|
38
|
+
await _asyncStorage.default.removeItem(key);
|
39
|
+
return true;
|
40
|
+
} catch (e) {
|
41
|
+
if (e instanceof Error) {
|
42
|
+
console.error('Error getting object:', e.message);
|
43
|
+
} else {
|
44
|
+
console.error('An unknown error occurred while getting.');
|
45
|
+
}
|
46
|
+
return false;
|
47
|
+
}
|
48
|
+
};
|
49
|
+
exports.clearData = clearData;
|
36
50
|
//# sourceMappingURL=storage.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_asyncStorage","_interopRequireDefault","require","e","__esModule","default","saveData","key","object","jsonValue","JSON","stringify","AsyncStorage","setItem","Error","console","error","message","exports","getData","getItem","parse"],"sourceRoot":"../../../../../src","sources":["acmo/core/storage/storage.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAqE,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9D,MAAMG,QAAQ,GAAG,MAAAA,CAAOC,GAAW,EAAEC,MAAW,KAAoB;EACzE,IAAI;IACF,MAAMC,SAAiB,GAAGC,IAAI,CAACC,SAAS,CAACH,MAAM,CAAC;IAChD,MAAMI,qBAAY,CAACC,OAAO,CAACN,GAAG,EAAEE,SAAS,CAAC;EAC5C,CAAC,CAAC,OAAON,CAAM,EAAE;IACf,IAAIA,CAAC,YAAYW,KAAK,EAAE;MACtBC,OAAO,CAACC,KAAK,CAAC,sBAAsB,EAAEb,CAAC,CAACc,OAAO,CAAC;IAClD,CAAC,MAAM;MACLF,OAAO,CAACC,KAAK,CAAC,yCAAyC,CAAC;IAC1D;EACF;AACF,CAAC;AAACE,OAAA,CAAAZ,QAAA,GAAAA,QAAA;AAEK,MAAMa,OAAO,GAAG,MAAUZ,GAAW,IAAwB;EAClE,IAAI;IACF,MAAME,SAAwB,GAAG,MAAMG,qBAAY,CAACQ,OAAO,CAACb,GAAG,CAAC;IAChE,OAAOE,SAAS,IAAI,IAAI,GAAGC,IAAI,CAACW,KAAK,CAACZ,SAAS,CAAC,GAAQ,IAAI;EAC9D,CAAC,CAAC,OAAON,CAAM,EAAE;IACf,IAAIA,CAAC,YAAYW,KAAK,EAAE;MACtBC,OAAO,CAACC,KAAK,CAAC,uBAAuB,EAAEb,CAAC,CAACc,OAAO,CAAC;IACnD,CAAC,MAAM;MACLF,OAAO,CAACC,KAAK,CAAC,0CAA0C,CAAC;IAC3D;IACA,OAAO,IAAI;EACb;AACF,CAAC;AAACE,OAAA,CAAAC,OAAA,GAAAA,OAAA","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_asyncStorage","_interopRequireDefault","require","e","__esModule","default","saveData","key","object","jsonValue","JSON","stringify","AsyncStorage","setItem","Error","console","error","message","exports","getData","getItem","parse","clearData","removeItem"],"sourceRoot":"../../../../../src","sources":["acmo/core/storage/storage.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAqE,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9D,MAAMG,QAAQ,GAAG,MAAAA,CAAOC,GAAW,EAAEC,MAAW,KAAoB;EACzE,IAAI;IACF,MAAMC,SAAiB,GAAGC,IAAI,CAACC,SAAS,CAACH,MAAM,CAAC;IAChD,MAAMI,qBAAY,CAACC,OAAO,CAACN,GAAG,EAAEE,SAAS,CAAC;EAC5C,CAAC,CAAC,OAAON,CAAM,EAAE;IACf,IAAIA,CAAC,YAAYW,KAAK,EAAE;MACtBC,OAAO,CAACC,KAAK,CAAC,sBAAsB,EAAEb,CAAC,CAACc,OAAO,CAAC;IAClD,CAAC,MAAM;MACLF,OAAO,CAACC,KAAK,CAAC,yCAAyC,CAAC;IAC1D;EACF;AACF,CAAC;AAACE,OAAA,CAAAZ,QAAA,GAAAA,QAAA;AAEK,MAAMa,OAAO,GAAG,MAAUZ,GAAW,IAAwB;EAClE,IAAI;IACF,MAAME,SAAwB,GAAG,MAAMG,qBAAY,CAACQ,OAAO,CAACb,GAAG,CAAC;IAChE,OAAOE,SAAS,IAAI,IAAI,GAAGC,IAAI,CAACW,KAAK,CAACZ,SAAS,CAAC,GAAQ,IAAI;EAC9D,CAAC,CAAC,OAAON,CAAM,EAAE;IACf,IAAIA,CAAC,YAAYW,KAAK,EAAE;MACtBC,OAAO,CAACC,KAAK,CAAC,uBAAuB,EAAEb,CAAC,CAACc,OAAO,CAAC;IACnD,CAAC,MAAM;MACLF,OAAO,CAACC,KAAK,CAAC,0CAA0C,CAAC;IAC3D;IACA,OAAO,IAAI;EACb;AACF,CAAC;AAACE,OAAA,CAAAC,OAAA,GAAAA,OAAA;AAEK,MAAMG,SAAS,GAAG,MAAUf,GAAW,IAAwB;EACpE,IAAI;IACF,MAAMK,qBAAY,CAACW,UAAU,CAAChB,GAAG,CAAC;IAClC,OAAO,IAAI;EACb,CAAC,CAAC,OAAOJ,CAAM,EAAE;IACf,IAAIA,CAAC,YAAYW,KAAK,EAAE;MACtBC,OAAO,CAACC,KAAK,CAAC,uBAAuB,EAAEb,CAAC,CAACc,OAAO,CAAC;IACnD,CAAC,MAAM;MACLF,OAAO,CAACC,KAAK,CAAC,0CAA0C,CAAC;IAC3D;IACA,OAAO,KAAK;EACd;AACF,CAAC;AAACE,OAAA,CAAAI,SAAA,GAAAA,SAAA","ignoreList":[]}
|
@@ -0,0 +1,79 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
8
|
+
var _reactNative = require("react-native");
|
9
|
+
var _localization_context = require("../../localization/localization_context.js");
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
12
|
+
// import { useTranslation } from 'react-i18next';
|
13
|
+
|
14
|
+
const ActiveOffersButton = ({
|
15
|
+
premiumColor,
|
16
|
+
activeCount,
|
17
|
+
onPress
|
18
|
+
}) => {
|
19
|
+
const {
|
20
|
+
t
|
21
|
+
} = (0, _localization_context.useLocalization)();
|
22
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
23
|
+
style: [styles.button, {
|
24
|
+
borderColor: premiumColor
|
25
|
+
}],
|
26
|
+
onPress: () => onPress && onPress('active-offers'),
|
27
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
28
|
+
style: {
|
29
|
+
flexDirection: 'row',
|
30
|
+
alignItems: 'center'
|
31
|
+
},
|
32
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
33
|
+
style: [styles.buttonText, {
|
34
|
+
color: premiumColor
|
35
|
+
}],
|
36
|
+
children: t("data.offers.button.activeOffers")
|
37
|
+
}), activeCount > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
38
|
+
style: styles.activeCountContainer,
|
39
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
40
|
+
style: styles.activeCountText,
|
41
|
+
children: activeCount > 99 ? '99+' : activeCount
|
42
|
+
})
|
43
|
+
})]
|
44
|
+
})
|
45
|
+
});
|
46
|
+
};
|
47
|
+
const styles = _reactNative.StyleSheet.create({
|
48
|
+
button: {
|
49
|
+
borderRadius: 42,
|
50
|
+
paddingHorizontal: 16,
|
51
|
+
paddingVertical: 8,
|
52
|
+
height: 40,
|
53
|
+
justifyContent: 'center',
|
54
|
+
alignItems: 'center',
|
55
|
+
marginHorizontal: 16,
|
56
|
+
marginBottom: 16,
|
57
|
+
borderWidth: 2
|
58
|
+
},
|
59
|
+
buttonText: {
|
60
|
+
fontSize: 14,
|
61
|
+
fontWeight: 'bold'
|
62
|
+
},
|
63
|
+
activeCountContainer: {
|
64
|
+
marginLeft: 8,
|
65
|
+
width: 18,
|
66
|
+
height: 18,
|
67
|
+
backgroundColor: '#FF554A',
|
68
|
+
alignItems: 'center',
|
69
|
+
justifyContent: 'center',
|
70
|
+
borderRadius: 9
|
71
|
+
},
|
72
|
+
activeCountText: {
|
73
|
+
color: 'white',
|
74
|
+
fontSize: 10,
|
75
|
+
fontWeight: 'bold'
|
76
|
+
}
|
77
|
+
});
|
78
|
+
var _default = exports.default = ActiveOffersButton;
|
79
|
+
//# sourceMappingURL=active_offers_button.js.map
|