kasy-cli 1.2.1
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/README.md +56 -0
- package/bin/kasy.js +529 -0
- package/docs/cli-reference.md +251 -0
- package/lib/commands/add.js +777 -0
- package/lib/commands/check.js +240 -0
- package/lib/commands/codemagic.js +161 -0
- package/lib/commands/deploy.js +257 -0
- package/lib/commands/docs.js +47 -0
- package/lib/commands/doctor.js +227 -0
- package/lib/commands/features.js +36 -0
- package/lib/commands/ios.js +206 -0
- package/lib/commands/new.js +1870 -0
- package/lib/commands/notifications.js +207 -0
- package/lib/commands/remove.js +466 -0
- package/lib/commands/run.js +75 -0
- package/lib/commands/update.js +382 -0
- package/lib/commands/validate.js +131 -0
- package/lib/scaffold/CHANGELOG.json +6 -0
- package/lib/scaffold/backends/api/.flutter-plugins-dependencies +1 -0
- package/lib/scaffold/backends/api/analysis_options.yaml +5 -0
- package/lib/scaffold/backends/api/generator.js +76 -0
- package/lib/scaffold/backends/api/patch/README.md +85 -0
- package/lib/scaffold/backends/api/patch/android/app/src/main/AndroidManifest.xml +87 -0
- package/lib/scaffold/backends/api/patch/ios/Runner/AppDelegate.swift +61 -0
- package/lib/scaffold/backends/api/patch/lib/core/data/api/meta_ads_api.dart +80 -0
- package/lib/scaffold/backends/api/patch/lib/core/data/api/storage_api.dart +117 -0
- package/lib/scaffold/backends/api/patch/lib/core/data/api/user_api.dart +148 -0
- package/lib/scaffold/backends/api/patch/lib/core/data/entities/json_converters.dart +35 -0
- package/lib/scaffold/backends/api/patch/lib/core/data/entities/user_entity.dart +48 -0
- package/lib/scaffold/backends/api/patch/lib/core/rating/widgets/review_popup.dart +211 -0
- package/lib/scaffold/backends/api/patch/lib/environnements.dart +151 -0
- package/lib/scaffold/backends/api/patch/lib/features/authentication/api/authentication_api.dart +303 -0
- package/lib/scaffold/backends/api/patch/lib/features/authentication/api/authentication_api_interface.dart +80 -0
- package/lib/scaffold/backends/api/patch/lib/features/authentication/repositories/authentication_repository.dart +406 -0
- package/lib/scaffold/backends/api/patch/lib/features/camera/xfile_extension.dart +6 -0
- package/lib/scaffold/backends/api/patch/lib/features/feedbacks/api/entities/feature_request_entity.dart +24 -0
- package/lib/scaffold/backends/api/patch/lib/features/feedbacks/api/entities/feature_vote_entity.dart +21 -0
- package/lib/scaffold/backends/api/patch/lib/features/feedbacks/api/feature_request_api.dart +52 -0
- package/lib/scaffold/backends/api/patch/lib/features/feedbacks/api/feature_vote_api.dart +60 -0
- package/lib/scaffold/backends/api/patch/lib/features/llm_chat/api/llm_chat_api.dart +58 -0
- package/lib/scaffold/backends/api/patch/lib/features/llm_chat/api/llm_chat_message_entity.dart +29 -0
- package/lib/scaffold/backends/api/patch/lib/features/notifications/api/device_api.dart +398 -0
- package/lib/scaffold/backends/api/patch/lib/features/notifications/api/entities/device_entity.dart +39 -0
- package/lib/scaffold/backends/api/patch/lib/features/notifications/api/entities/notifications_entity.dart +23 -0
- package/lib/scaffold/backends/api/patch/lib/features/notifications/api/notifications_api.dart +333 -0
- package/lib/scaffold/backends/api/patch/lib/features/notifications/providers/models/notification.dart +185 -0
- package/lib/scaffold/backends/api/patch/lib/features/onboarding/api/entities/user_info_entity.dart +26 -0
- package/lib/scaffold/backends/api/patch/lib/features/onboarding/api/user_infos_api.dart +107 -0
- package/lib/scaffold/backends/api/patch/lib/features/onboarding/models/user_info.dart +94 -0
- package/lib/scaffold/backends/api/patch/lib/features/onboarding/repositories/user_infos_repository.dart +29 -0
- package/lib/scaffold/backends/api/patch/lib/features/onboarding/ui/animations/movefade_anim.dart +34 -0
- package/lib/scaffold/backends/api/patch/lib/features/onboarding/ui/components/onboarding_att_setup.dart +66 -0
- package/lib/scaffold/backends/api/patch/lib/features/onboarding/ui/components/onboarding_notifications_setup.dart +73 -0
- package/lib/scaffold/backends/api/patch/lib/features/onboarding/ui/widgets/onboarding_radio_question.dart +173 -0
- package/lib/scaffold/backends/api/patch/lib/features/settings/ui/widgets/avatar_utils.dart +33 -0
- package/lib/scaffold/backends/api/patch/lib/features/subscription/api/entities/subscription_entity.dart +34 -0
- package/lib/scaffold/backends/api/patch/lib/features/subscription/api/subscription_api.dart +49 -0
- package/lib/scaffold/backends/api/patch/lib/features/subscription/shared/maybeshow_premium.dart +88 -0
- package/lib/scaffold/backends/api/patch/lib/main.dart +256 -0
- package/lib/scaffold/backends/api/patch/lib/router.dart +133 -0
- package/lib/scaffold/backends/api/pubspec.yaml.tpl +108 -0
- package/lib/scaffold/backends/firebase/deploy.js +1006 -0
- package/lib/scaffold/backends/firebase/generator.js +24 -0
- package/lib/scaffold/backends/firebase/setup-from-scratch.js +1008 -0
- package/lib/scaffold/backends/firebase/tokens.js +113 -0
- package/lib/scaffold/backends/supabase/.flutter-plugins-dependencies +1 -0
- package/lib/scaffold/backends/supabase/analysis_options.yaml +5 -0
- package/lib/scaffold/backends/supabase/config.toml +34 -0
- package/lib/scaffold/backends/supabase/deploy.js +485 -0
- package/lib/scaffold/backends/supabase/edge-functions/delete-user-account/README.md +15 -0
- package/lib/scaffold/backends/supabase/edge-functions/delete-user-account/index.ts +97 -0
- package/lib/scaffold/backends/supabase/edge-functions/llm-chat/index.ts +156 -0
- package/lib/scaffold/backends/supabase/edge-functions/meta-track-event/index.ts +292 -0
- package/lib/scaffold/backends/supabase/edge-functions/revenuecat-webhook/README.md +30 -0
- package/lib/scaffold/backends/supabase/edge-functions/revenuecat-webhook/index.ts +488 -0
- package/lib/scaffold/backends/supabase/edge-functions/send-push-notification/README.md +35 -0
- package/lib/scaffold/backends/supabase/edge-functions/send-push-notification/index.ts +314 -0
- package/lib/scaffold/backends/supabase/generator.js +108 -0
- package/lib/scaffold/backends/supabase/migrations/20240101000001_initial_schema.sql +149 -0
- package/lib/scaffold/backends/supabase/migrations/20240101000002_storage_bucket.sql +40 -0
- package/lib/scaffold/backends/supabase/migrations/20240101000005_vote_triggers.sql +34 -0
- package/lib/scaffold/backends/supabase/migrations/20240101000006_notification_webhook.sql +36 -0
- package/lib/scaffold/backends/supabase/migrations/20240101000007_welcome_notification.sql +64 -0
- package/lib/scaffold/backends/supabase/migrations/20240101000008_user_feature_requests.sql +2 -0
- package/lib/scaffold/backends/supabase/migrations/20240101000009_llm_messages.sql +22 -0
- package/lib/scaffold/backends/supabase/migrations/20240101000010_notification_image.sql +2 -0
- package/lib/scaffold/backends/supabase/patch/README.md +121 -0
- package/lib/scaffold/backends/supabase/patch/android/app/src/main/AndroidManifest.xml +87 -0
- package/lib/scaffold/backends/supabase/patch/ios/Runner/AppDelegate.swift +61 -0
- package/lib/scaffold/backends/supabase/patch/lib/core/data/api/meta_ads_api.dart +75 -0
- package/lib/scaffold/backends/supabase/patch/lib/core/data/api/storage_api.dart +83 -0
- package/lib/scaffold/backends/supabase/patch/lib/core/data/api/user_api.dart +143 -0
- package/lib/scaffold/backends/supabase/patch/lib/core/data/entities/json_converters.dart +35 -0
- package/lib/scaffold/backends/supabase/patch/lib/core/data/entities/user_entity.dart +48 -0
- package/lib/scaffold/backends/supabase/patch/lib/core/rating/widgets/review_popup.dart +211 -0
- package/lib/scaffold/backends/supabase/patch/lib/environnements.dart +149 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/authentication/api/authentication_api.dart +546 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/authentication/repositories/authentication_repository.dart +410 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/camera/xfile_extension.dart +6 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/feedbacks/api/entities/feature_request_entity.dart +25 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/feedbacks/api/entities/feature_vote_entity.dart +21 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/feedbacks/api/feature_request_api.dart +59 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/feedbacks/api/feature_vote_api.dart +85 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/feedbacks/ui/component/add_feature_form.dart +199 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/llm_chat/api/llm_chat_api.dart +47 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/llm_chat/api/llm_chat_message_entity.dart +30 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/llm_chat/providers/llm_chat_notifier.dart +266 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/notifications/api/device_api.dart +410 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/notifications/api/entities/device_entity.dart +51 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/notifications/api/entities/notifications_entity.dart +26 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/notifications/api/notifications_api.dart +317 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/notifications/providers/models/notification.dart +174 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/onboarding/api/entities/user_info_entity.dart +26 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/onboarding/api/user_infos_api.dart +90 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/onboarding/models/user_info.dart +94 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/onboarding/repositories/user_infos_repository.dart +29 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/onboarding/ui/animations/movefade_anim.dart +34 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/onboarding/ui/components/onboarding_att_setup.dart +66 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/onboarding/ui/components/onboarding_notifications_setup.dart +73 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/onboarding/ui/widgets/onboarding_radio_question.dart +173 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/settings/ui/widgets/avatar_utils.dart +35 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/subscription/api/entities/subscription_entity.dart +35 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/subscription/api/subscription_api.dart +44 -0
- package/lib/scaffold/backends/supabase/patch/lib/features/subscription/shared/maybeshow_premium.dart +85 -0
- package/lib/scaffold/backends/supabase/patch/lib/google_auth_options.dart +23 -0
- package/lib/scaffold/backends/supabase/patch/lib/main.dart +288 -0
- package/lib/scaffold/backends/supabase/patch/lib/router.dart +133 -0
- package/lib/scaffold/backends/supabase/pubspec.yaml.tpl +110 -0
- package/lib/scaffold/backends/supabase/tokens.js +9 -0
- package/lib/scaffold/catalog.js +177 -0
- package/lib/scaffold/engine.js +230 -0
- package/lib/scaffold/features/README.md +152 -0
- package/lib/scaffold/features/analytics/lib/core/data/api/analytics_api.dart +124 -0
- package/lib/scaffold/features/ci/.github/ISSUE_TEMPLATE/BUG.es.md +35 -0
- package/lib/scaffold/features/ci/.github/ISSUE_TEMPLATE/BUG.md +35 -0
- package/lib/scaffold/features/ci/.github/ISSUE_TEMPLATE/BUG.pt.md +35 -0
- package/lib/scaffold/features/ci/.github/ISSUE_TEMPLATE/feature_request.es.md +12 -0
- package/lib/scaffold/features/ci/.github/ISSUE_TEMPLATE/feature_request.md +12 -0
- package/lib/scaffold/features/ci/.github/ISSUE_TEMPLATE/feature_request.pt.md +12 -0
- package/lib/scaffold/features/ci/.github/PULL_REQUEST_TEMPLATE.es.md +17 -0
- package/lib/scaffold/features/ci/.github/PULL_REQUEST_TEMPLATE.md +17 -0
- package/lib/scaffold/features/ci/.github/PULL_REQUEST_TEMPLATE.pt.md +17 -0
- package/lib/scaffold/features/ci/.github/dependabot.yml +16 -0
- package/lib/scaffold/features/ci/.github/workflows/app.yml +20 -0
- package/lib/scaffold/features/ci/.gitlab/templates/deploy.yaml +14 -0
- package/lib/scaffold/features/ci/.gitlab/templates/dropbox.yaml +19 -0
- package/lib/scaffold/features/ci/.gitlab/templates/flutter.yaml +163 -0
- package/lib/scaffold/features/ci/.gitlab/templates/mailgun.yaml +28 -0
- package/lib/scaffold/features/ci/.gitlab-ci.yml +37 -0
- package/lib/scaffold/features/ci/codemagic.yaml +157 -0
- package/lib/scaffold/features/facebook/lib/core/data/api/tracking_api.dart +111 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/api/entities/feature_request_entity.dart +27 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/api/entities/feature_vote_entity.dart +27 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/api/feature_request_api.dart +50 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/api/feature_vote_api.dart +79 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/models/feature_requests.dart +48 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/models/feedback_state.dart +42 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/providers/feedback_page_notifier.dart +147 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/repositories/feature_request_repository.dart +95 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/ui/component/add_feature_form.dart +199 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/ui/feedback_page.dart +175 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/ui/widgets/add_feature_button.dart +76 -0
- package/lib/scaffold/features/feedback/lib/features/feedbacks/ui/widgets/feature_card.dart +279 -0
- package/lib/scaffold/features/ios-release/.kasy/apple.env.example +8 -0
- package/lib/scaffold/features/ios-release/.kasy/codemagic.env.example +7 -0
- package/lib/scaffold/features/ios-release/docs/codemagic-release.en.md +50 -0
- package/lib/scaffold/features/ios-release/docs/codemagic-release.es.md +50 -0
- package/lib/scaffold/features/ios-release/docs/codemagic-release.pt.md +50 -0
- package/lib/scaffold/features/ios-release/docs/ios-release.en.md +41 -0
- package/lib/scaffold/features/ios-release/docs/ios-release.es.md +41 -0
- package/lib/scaffold/features/ios-release/docs/ios-release.pt.md +41 -0
- package/lib/scaffold/features/ios-release/scripts/bump-ios-version.js +38 -0
- package/lib/scaffold/features/ios-release/scripts/release-ios.sh +137 -0
- package/lib/scaffold/features/llm_chat/lib/features/llm_chat/llm_chat_page.dart +301 -0
- package/lib/scaffold/features/local_notifications/lib/features/local_reminder/providers/reminder_notifier.dart +81 -0
- package/lib/scaffold/features/local_notifications/lib/features/local_reminder/repositories/reminder_preferences.dart +76 -0
- package/lib/scaffold/features/local_notifications/lib/features/local_reminder/ui/reminder_page.dart +282 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/api/entities/user_info_entity.dart +24 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/api/user_infos_api.dart +71 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/models/user_info.dart +92 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/providers/onboarding_model.dart +15 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/providers/onboarding_provider.dart +78 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/repositories/user_infos_repository.dart +29 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/animations/page_transitions.dart +30 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/components/onboarding_att_setup.dart +66 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/components/onboarding_features.dart +72 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/components/onboarding_loader.dart +92 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/components/onboarding_notifications_setup.dart +73 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/components/onboarding_questions.dart +89 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/onboarding_page.dart +94 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/widgets/onboarding_background.dart +80 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/widgets/onboarding_feature.dart +139 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/widgets/onboarding_illustration_scaffold.dart +110 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/widgets/onboarding_progress.dart +84 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/widgets/onboarding_radio_question.dart +173 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/widgets/onboarding_reassurance.dart +45 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/widgets/onboarding_sticky_footer.dart +77 -0
- package/lib/scaffold/features/onboarding/lib/features/onboarding/ui/widgets/selectable_row_tile.dart +392 -0
- package/lib/scaffold/features/revenuecat/lib/core/data/api/tracking_api.dart +116 -0
- package/lib/scaffold/features/revenuecat/lib/core/data/models/subscription.dart +322 -0
- package/lib/scaffold/features/revenuecat/lib/core/home_widgets/home_widget_background_task.dart +41 -0
- package/lib/scaffold/features/revenuecat/lib/core/states/user_state_notifier.dart +305 -0
- package/lib/scaffold/features/widget/lib/core/home_widgets/home_widget_background_task.dart +41 -0
- package/lib/scaffold/features/widget/lib/core/home_widgets/home_widget_mywidget_service.dart +57 -0
- package/lib/scaffold/features/widget/lib/core/home_widgets/home_widget_service.dart +54 -0
- package/lib/scaffold/features/widget/lib/features/settings/ui/components/admin/admin_home_widgets.dart +32 -0
- package/lib/scaffold/generate.js +370 -0
- package/lib/scaffold/patch.js +395 -0
- package/lib/scaffold/shared/backend-config.js +74 -0
- package/lib/scaffold/shared/fcm-service-account.js +126 -0
- package/lib/scaffold/shared/generator-utils.js +1664 -0
- package/lib/scaffold/shared/post-build.js +809 -0
- package/lib/scaffold/shared/template-strings.js +112 -0
- package/lib/utils/apple-release.js +273 -0
- package/lib/utils/checks.js +319 -0
- package/lib/utils/codemagic-release.js +127 -0
- package/lib/utils/fs.js +122 -0
- package/lib/utils/i18n.js +2123 -0
- package/lib/utils/license-gate.js +72 -0
- package/lib/utils/license.js +64 -0
- package/lib/utils/prompts.js +213 -0
- package/lib/utils/updates.js +97 -0
- package/package.json +55 -0
- package/templates/firebase/.env.example +24 -0
- package/templates/firebase/.firebaserc +5 -0
- package/templates/firebase/.kasy/apple.env.example +8 -0
- package/templates/firebase/.kasy/codemagic.env.example +7 -0
- package/templates/firebase/.metadata +30 -0
- package/templates/firebase/.windsurfrules +95 -0
- package/templates/firebase/Makefile +30 -0
- package/templates/firebase/README.en.md +180 -0
- package/templates/firebase/README.es.md +180 -0
- package/templates/firebase/README.md +180 -0
- package/templates/firebase/analysis_options.yaml +37 -0
- package/templates/firebase/android/app/build.gradle.kts +80 -0
- package/templates/firebase/android/app/src/debug/AndroidManifest.xml +7 -0
- package/templates/firebase/android/app/src/main/AndroidManifest.xml +93 -0
- package/templates/firebase/android/app/src/main/kotlin/com/aicrus/firebase/kit/MainActivity.kt +36 -0
- package/templates/firebase/android/app/src/main/kotlin/com/aicrus/firebase/kit/MyWidget.kt +50 -0
- package/templates/firebase/android/app/src/main/kotlin/com/aicrus/firebase/kit/MyWidgetReceiver.kt +7 -0
- package/templates/firebase/android/app/src/main/res/drawable/background.png +0 -0
- package/templates/firebase/android/app/src/main/res/drawable/launch_background.xml +9 -0
- package/templates/firebase/android/app/src/main/res/drawable-hdpi/splash.png +0 -0
- package/templates/firebase/android/app/src/main/res/drawable-mdpi/splash.png +0 -0
- package/templates/firebase/android/app/src/main/res/drawable-v21/background.png +0 -0
- package/templates/firebase/android/app/src/main/res/drawable-v21/launch_background.xml +9 -0
- package/templates/firebase/android/app/src/main/res/drawable-xhdpi/splash.png +0 -0
- package/templates/firebase/android/app/src/main/res/drawable-xxhdpi/splash.png +0 -0
- package/templates/firebase/android/app/src/main/res/drawable-xxxhdpi/splash.png +0 -0
- package/templates/firebase/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/templates/firebase/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/templates/firebase/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/templates/firebase/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/templates/firebase/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/templates/firebase/android/app/src/main/res/values/strings.xml +6 -0
- package/templates/firebase/android/app/src/main/res/values/styles.xml +22 -0
- package/templates/firebase/android/app/src/main/res/values-night/styles.xml +22 -0
- package/templates/firebase/android/app/src/main/res/values-night-v31/styles.xml +20 -0
- package/templates/firebase/android/app/src/main/res/values-v31/styles.xml +20 -0
- package/templates/firebase/android/app/src/main/res/xml/locales_config.xml +7 -0
- package/templates/firebase/android/app/src/main/res/xml/mywidget_info.xml +11 -0
- package/templates/firebase/android/app/src/profile/AndroidManifest.xml +7 -0
- package/templates/firebase/android/build.gradle.kts +28 -0
- package/templates/firebase/android/gradle/wrapper/gradle-wrapper.properties +5 -0
- package/templates/firebase/android/gradle.properties +2 -0
- package/templates/firebase/android/settings.gradle.kts +29 -0
- package/templates/firebase/assets/icons/apple.png +0 -0
- package/templates/firebase/assets/icons/facebook.png +0 -0
- package/templates/firebase/assets/icons/google.png +0 -0
- package/templates/firebase/assets/icons/google_play_games.png +0 -0
- package/templates/firebase/assets/images/app_icon.png +0 -0
- package/templates/firebase/assets/images/empty_notifications.jpg +0 -0
- package/templates/firebase/assets/images/icon.png +0 -0
- package/templates/firebase/assets/images/onboarding/authentication-login-template.jpg +0 -0
- package/templates/firebase/assets/images/onboarding/img1.jpg +0 -0
- package/templates/firebase/assets/images/onboarding/img2.jpg +0 -0
- package/templates/firebase/assets/images/onboarding/img3.jpg +0 -0
- package/templates/firebase/assets/images/onboarding/notifications.png +0 -0
- package/templates/firebase/assets/images/onboarding/onboarding.png +0 -0
- package/templates/firebase/assets/images/onboarding/purchase.png +0 -0
- package/templates/firebase/assets/images/premium-bg.jpg +0 -0
- package/templates/firebase/assets/images/premium-switch-header.png +0 -0
- package/templates/firebase/assets/images/review.png +0 -0
- package/templates/firebase/assets/images/splashscreen.png +0 -0
- package/templates/firebase/assets/images/update.png +0 -0
- package/templates/firebase/build.yaml +13 -0
- package/templates/firebase/devtools_options.yaml +3 -0
- package/templates/firebase/docs/auth-setup.en.md +145 -0
- package/templates/firebase/docs/auth-setup.es.md +145 -0
- package/templates/firebase/docs/auth-setup.pt.md +145 -0
- package/templates/firebase/docs/codemagic-release.en.md +50 -0
- package/templates/firebase/docs/codemagic-release.es.md +50 -0
- package/templates/firebase/docs/codemagic-release.pt.md +50 -0
- package/templates/firebase/docs/ios-release.en.md +41 -0
- package/templates/firebase/docs/ios-release.es.md +41 -0
- package/templates/firebase/docs/ios-release.pt.md +54 -0
- package/templates/firebase/docs/navigation-transitions.md +80 -0
- package/templates/firebase/docs/revenuecat-setup.es.md +341 -0
- package/templates/firebase/docs/revenuecat-setup.pt.md +341 -0
- package/templates/firebase/firebase.json +1 -0
- package/templates/firebase/firestore.indexes.json +25 -0
- package/templates/firebase/firestore.rules +51 -0
- package/templates/firebase/functions/.eslintrc.js +45 -0
- package/templates/firebase/functions/jest.config.js +16 -0
- package/templates/firebase/functions/package-lock.json +6876 -0
- package/templates/firebase/functions/package.json +33 -0
- package/templates/firebase/functions/src/authentication/functions.ts +30 -0
- package/templates/firebase/functions/src/authentication/triggers.ts +103 -0
- package/templates/firebase/functions/src/core/api/meta_ads_api.ts +390 -0
- package/templates/firebase/functions/src/core/data/entities/entity_utils.ts +87 -0
- package/templates/firebase/functions/src/core/data/entities/notification_entity.ts +74 -0
- package/templates/firebase/functions/src/core/data/entities/page.ts +4 -0
- package/templates/firebase/functions/src/core/data/entities/subscription_entity.ts +76 -0
- package/templates/firebase/functions/src/core/data/entities/user_device_entity.ts +64 -0
- package/templates/firebase/functions/src/core/data/entities/user_entity.ts +43 -0
- package/templates/firebase/functions/src/core/data/repositories/repositories.ts +16 -0
- package/templates/firebase/functions/src/core/data/repositories/subscription_repository.ts +42 -0
- package/templates/firebase/functions/src/core/data/repositories/user_device_repository.ts +31 -0
- package/templates/firebase/functions/src/core/data/repositories/user_notifications_repository.ts +58 -0
- package/templates/firebase/functions/src/core/data/repositories/user_repository.ts +84 -0
- package/templates/firebase/functions/src/core/logger/logger.ts +13 -0
- package/templates/firebase/functions/src/core/storage/storage_manager.ts +52 -0
- package/templates/firebase/functions/src/core/utils/async_utils.ts +5 -0
- package/templates/firebase/functions/src/feature_requests/triggers.ts +3 -0
- package/templates/firebase/functions/src/index.ts +24 -0
- package/templates/firebase/functions/src/llm_chat/index.ts +181 -0
- package/templates/firebase/functions/src/notifications/admin_functions.ts +91 -0
- package/templates/firebase/functions/src/notifications/models/notification.ts +61 -0
- package/templates/firebase/functions/src/notifications/notifications_api.ts +147 -0
- package/templates/firebase/functions/src/notifications/triggers.ts +102 -0
- package/templates/firebase/functions/src/subscriptions/models/revenuecat_events.ts +162 -0
- package/templates/firebase/functions/src/subscriptions/models/subscription_status.ts +18 -0
- package/templates/firebase/functions/src/subscriptions/models/subscriptions.ts +173 -0
- package/templates/firebase/functions/src/subscriptions/subscriptions_functions.ts +135 -0
- package/templates/firebase/functions/src/subscriptions/triggers.ts +35 -0
- package/templates/firebase/functions/src/test/core/data/entities/entity_utils.spec.ts +44 -0
- package/templates/firebase/functions/tsconfig.dev.json +5 -0
- package/templates/firebase/functions/tsconfig.json +18 -0
- package/templates/firebase/home_widget_config.json +30 -0
- package/templates/firebase/ios/Flutter/AppFrameworkInfo.plist +24 -0
- package/templates/firebase/ios/Flutter/Debug.xcconfig +2 -0
- package/templates/firebase/ios/Flutter/Profile.xcconfig +2 -0
- package/templates/firebase/ios/Flutter/Release.xcconfig +2 -0
- package/templates/firebase/ios/HomeWidgetExtension/HomeWidgetBundle.swift +13 -0
- package/templates/firebase/ios/HomeWidgetExtension/Info.plist +29 -0
- package/templates/firebase/ios/HomeWidgetExtension/MyWidget.swift +86 -0
- package/templates/firebase/ios/HomeWidgetExtension.entitlements +10 -0
- package/templates/firebase/ios/NotificationService/Info.plist +31 -0
- package/templates/firebase/ios/NotificationService/NotificationService.swift +76 -0
- package/templates/firebase/ios/Podfile +111 -0
- package/templates/firebase/ios/Runner/AppDelegate.swift +75 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +1 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json +21 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +23 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png +0 -0
- package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +5 -0
- package/templates/firebase/ios/Runner/Base.lproj/LaunchScreen.storyboard +44 -0
- package/templates/firebase/ios/Runner/Base.lproj/Main.storyboard +26 -0
- package/templates/firebase/ios/Runner/Info.plist +132 -0
- package/templates/firebase/ios/Runner/Runner-Bridging-Header.h +1 -0
- package/templates/firebase/ios/Runner/Runner.entitlements +14 -0
- package/templates/firebase/ios/Runner/es.lproj/InfoPlist.strings +10 -0
- package/templates/firebase/ios/Runner/pt-BR.lproj/InfoPlist.strings +10 -0
- package/templates/firebase/ios/Runner/pt.lproj/InfoPlist.strings +10 -0
- package/templates/firebase/ios/Runner.xcodeproj/project.pbxproj +1108 -0
- package/templates/firebase/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/templates/firebase/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/templates/firebase/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
- package/templates/firebase/ios/Runner.xcodeproj/xcshareddata/xcschemes/NotificationService.xcscheme +58 -0
- package/templates/firebase/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +101 -0
- package/templates/firebase/ios/Runner.xcworkspace/contents.xcworkspacedata +10 -0
- package/templates/firebase/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/templates/firebase/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
- package/templates/firebase/ios/RunnerTests/RunnerTests.swift +12 -0
- package/templates/firebase/lib/components/components.dart +27 -0
- package/templates/firebase/lib/components/kasy_accordion.dart +384 -0
- package/templates/firebase/lib/components/kasy_alert.dart +266 -0
- package/templates/firebase/lib/components/kasy_app_bar.dart +536 -0
- package/templates/firebase/lib/components/kasy_avatar.dart +549 -0
- package/templates/firebase/lib/components/kasy_avatar_presets.dart +104 -0
- package/templates/firebase/lib/components/kasy_badge.dart +278 -0
- package/templates/firebase/lib/components/kasy_bottom_sheet.dart +338 -0
- package/templates/firebase/lib/components/kasy_button.dart +926 -0
- package/templates/firebase/lib/components/kasy_card.dart +128 -0
- package/templates/firebase/lib/components/kasy_checkbox.dart +429 -0
- package/templates/firebase/lib/components/kasy_chip.dart +83 -0
- package/templates/firebase/lib/components/kasy_dialog.dart +789 -0
- package/templates/firebase/lib/components/kasy_otp_verification_bottom_sheet.dart +233 -0
- package/templates/firebase/lib/components/kasy_skeleton.dart +225 -0
- package/templates/firebase/lib/components/kasy_text_area.dart +392 -0
- package/templates/firebase/lib/components/kasy_text_field.dart +591 -0
- package/templates/firebase/lib/components/kasy_text_field_otp.dart +532 -0
- package/templates/firebase/lib/components/kasy_toast.dart +803 -0
- package/templates/firebase/lib/core/ads/ads_provider.dart +136 -0
- package/templates/firebase/lib/core/ads/ads_state.dart +15 -0
- package/templates/firebase/lib/core/animations/bottomfade_anim.dart +37 -0
- package/templates/firebase/lib/core/animations/movefade_anim.dart +34 -0
- package/templates/firebase/lib/core/animations/slideright_anim.dart +38 -0
- package/templates/firebase/lib/core/bottom_menu/bart_inner_paths.dart +5 -0
- package/templates/firebase/lib/core/bottom_menu/bottom_menu.dart +127 -0
- package/templates/firebase/lib/core/bottom_menu/bottom_router.dart +281 -0
- package/templates/firebase/lib/core/bottom_menu/kasy_bart_navigation.dart +22 -0
- package/templates/firebase/lib/core/bottom_menu/kasy_bottom_bar_factory.dart +127 -0
- package/templates/firebase/lib/core/bottom_menu/notification_bottom_item.dart +48 -0
- package/templates/firebase/lib/core/config/app_env.dart +100 -0
- package/templates/firebase/lib/core/config/features.dart +15 -0
- package/templates/firebase/lib/core/data/api/analytics_api.dart +124 -0
- package/templates/firebase/lib/core/data/api/base_api_exceptions.dart +28 -0
- package/templates/firebase/lib/core/data/api/firestore_retry.dart +29 -0
- package/templates/firebase/lib/core/data/api/http_client.dart +38 -0
- package/templates/firebase/lib/core/data/api/image.dart +52 -0
- package/templates/firebase/lib/core/data/api/remote_config_api.dart +170 -0
- package/templates/firebase/lib/core/data/api/storage_api.dart +115 -0
- package/templates/firebase/lib/core/data/api/tracking_api.dart +119 -0
- package/templates/firebase/lib/core/data/api/user_api.dart +115 -0
- package/templates/firebase/lib/core/data/entities/json_converters.dart +39 -0
- package/templates/firebase/lib/core/data/entities/upload_result.dart +48 -0
- package/templates/firebase/lib/core/data/entities/user_entity.dart +54 -0
- package/templates/firebase/lib/core/data/models/pageable.dart +12 -0
- package/templates/firebase/lib/core/data/models/subscription.dart +322 -0
- package/templates/firebase/lib/core/data/models/user.dart +107 -0
- package/templates/firebase/lib/core/data/repositories/user_repository.dart +130 -0
- package/templates/firebase/lib/core/dev_inspector/dev_inspector.dart +464 -0
- package/templates/firebase/lib/core/dev_inspector/dev_inspector_highlight.dart +88 -0
- package/templates/firebase/lib/core/dev_inspector/dev_inspector_info.dart +70 -0
- package/templates/firebase/lib/core/dev_inspector/dev_inspector_panel.dart +204 -0
- package/templates/firebase/lib/core/dev_inspector/dev_inspector_service.dart +321 -0
- package/templates/firebase/lib/core/extensions/date.ext.dart +32 -0
- package/templates/firebase/lib/core/guards/authenticated_guard.dart +37 -0
- package/templates/firebase/lib/core/guards/guard.dart +68 -0
- package/templates/firebase/lib/core/guards/user_info_guard.dart +55 -0
- package/templates/firebase/lib/core/haptics/haptic_feedback_notifier.dart +19 -0
- package/templates/firebase/lib/core/haptics/kasy_haptics.dart +27 -0
- package/templates/firebase/lib/core/home_widgets/home_widget_background_task.dart +41 -0
- package/templates/firebase/lib/core/home_widgets/home_widget_mywidget_service.dart +57 -0
- package/templates/firebase/lib/core/home_widgets/home_widget_service.dart +54 -0
- package/templates/firebase/lib/core/icons/kasy_icons.dart +86 -0
- package/templates/firebase/lib/core/initializer/models/run_state.dart +14 -0
- package/templates/firebase/lib/core/initializer/onstart_service.dart +38 -0
- package/templates/firebase/lib/core/initializer/onstart_widget.dart +83 -0
- package/templates/firebase/lib/core/initializer/pending_notification_handler.dart +48 -0
- package/templates/firebase/lib/core/keyboard_fix/keyboard_flicker_fix.dart +164 -0
- package/templates/firebase/lib/core/navigation/kasy_fade_page_transitions_builder.dart +34 -0
- package/templates/firebase/lib/core/navigation/kasy_material_page_route.dart +41 -0
- package/templates/firebase/lib/core/navigation/kasy_navigation_config.dart +29 -0
- package/templates/firebase/lib/core/navigation/kasy_page_transition.dart +40 -0
- package/templates/firebase/lib/core/navigation/kasy_route_transition.dart +68 -0
- package/templates/firebase/lib/core/navigation/kasy_transition_kind.dart +17 -0
- package/templates/firebase/lib/core/navigation/navigation.dart +6 -0
- package/templates/firebase/lib/core/rating/api/rating_api.dart +99 -0
- package/templates/firebase/lib/core/rating/models/rating.dart +52 -0
- package/templates/firebase/lib/core/rating/models/review.dart +70 -0
- package/templates/firebase/lib/core/rating/providers/rating_repository.dart +75 -0
- package/templates/firebase/lib/core/rating/widgets/rate_banner.dart +190 -0
- package/templates/firebase/lib/core/rating/widgets/rate_popup.dart +54 -0
- package/templates/firebase/lib/core/rating/widgets/review_popup.dart +175 -0
- package/templates/firebase/lib/core/security/biometric_copy_slot.dart +20 -0
- package/templates/firebase/lib/core/security/biometric_guard.dart +114 -0
- package/templates/firebase/lib/core/security/biometric_preference_notifier.dart +17 -0
- package/templates/firebase/lib/core/security/biometric_service.dart +79 -0
- package/templates/firebase/lib/core/security/biometric_ui_bundle.dart +136 -0
- package/templates/firebase/lib/core/security/secured_storage.dart +46 -0
- package/templates/firebase/lib/core/shared_preferences/shared_preferences.dart +70 -0
- package/templates/firebase/lib/core/sidebar/kasy_sidebar.dart +2021 -0
- package/templates/firebase/lib/core/states/components/maybe_ask_biometric_setup.dart +88 -0
- package/templates/firebase/lib/core/states/components/maybe_ask_rating.dart +49 -0
- package/templates/firebase/lib/core/states/components/maybe_show_update_bottom_sheet.dart +86 -0
- package/templates/firebase/lib/core/states/components/maybeshow_component.dart +110 -0
- package/templates/firebase/lib/core/states/events_dispatcher.dart +103 -0
- package/templates/firebase/lib/core/states/models/event_model.dart +118 -0
- package/templates/firebase/lib/core/states/models/user_state.dart +22 -0
- package/templates/firebase/lib/core/states/notifications_dispatcher.dart +81 -0
- package/templates/firebase/lib/core/states/translations.dart +11 -0
- package/templates/firebase/lib/core/states/user_state_notifier.dart +321 -0
- package/templates/firebase/lib/core/theme/colors.dart +262 -0
- package/templates/firebase/lib/core/theme/extensions/theme_extension.dart +48 -0
- package/templates/firebase/lib/core/theme/providers/kasy_theme.dart +76 -0
- package/templates/firebase/lib/core/theme/providers/theme_provider.dart +212 -0
- package/templates/firebase/lib/core/theme/radius.dart +33 -0
- package/templates/firebase/lib/core/theme/shadows.dart +64 -0
- package/templates/firebase/lib/core/theme/spacing.dart +44 -0
- package/templates/firebase/lib/core/theme/texts.dart +176 -0
- package/templates/firebase/lib/core/theme/theme.dart +24 -0
- package/templates/firebase/lib/core/theme/theme_data/theme_data.dart +32 -0
- package/templates/firebase/lib/core/theme/theme_data/theme_data_factory.dart +15 -0
- package/templates/firebase/lib/core/theme/universal_theme.dart +210 -0
- package/templates/firebase/lib/core/toast/toast_service.dart +55 -0
- package/templates/firebase/lib/core/ui/app_dialog.dart +26 -0
- package/templates/firebase/lib/core/web_device_preview/web_device_preview.dart +1126 -0
- package/templates/firebase/lib/core/widgets/debouncer.dart +31 -0
- package/templates/firebase/lib/core/widgets/kasy_hover.dart +166 -0
- package/templates/firebase/lib/core/widgets/kasy_pressable.dart +2 -0
- package/templates/firebase/lib/core/widgets/kasy_pressable_depth.dart +161 -0
- package/templates/firebase/lib/core/widgets/kasy_scroll_behavior.dart +17 -0
- package/templates/firebase/lib/core/widgets/keyboard_visibility.dart +75 -0
- package/templates/firebase/lib/core/widgets/page_background.dart +71 -0
- package/templates/firebase/lib/core/widgets/page_not_found.dart +15 -0
- package/templates/firebase/lib/core/widgets/responsive_layout.dart +215 -0
- package/templates/firebase/lib/core/widgets/update_bottom_sheet.dart +192 -0
- package/templates/firebase/lib/environnements.dart +160 -0
- package/templates/firebase/lib/features/authentication/api/authentication_api.dart +528 -0
- package/templates/firebase/lib/features/authentication/api/authentication_api_interface.dart +84 -0
- package/templates/firebase/lib/features/authentication/providers/models/email.dart +36 -0
- package/templates/firebase/lib/features/authentication/providers/models/password.dart +37 -0
- package/templates/firebase/lib/features/authentication/providers/models/phone_signin_state.dart +21 -0
- package/templates/firebase/lib/features/authentication/providers/models/recover_state.dart +21 -0
- package/templates/firebase/lib/features/authentication/providers/models/signin_state.dart +20 -0
- package/templates/firebase/lib/features/authentication/providers/models/signup_state.dart +20 -0
- package/templates/firebase/lib/features/authentication/providers/phone_auth_notifier.dart +132 -0
- package/templates/firebase/lib/features/authentication/providers/recover_provider.dart +51 -0
- package/templates/firebase/lib/features/authentication/providers/signin_state_provider.dart +166 -0
- package/templates/firebase/lib/features/authentication/providers/signup_state_provider.dart +67 -0
- package/templates/firebase/lib/features/authentication/repositories/authentication_repository.dart +399 -0
- package/templates/firebase/lib/features/authentication/repositories/exceptions/authentication_exceptions.dart +85 -0
- package/templates/firebase/lib/features/authentication/ui/components/apple_signin.dart +19 -0
- package/templates/firebase/lib/features/authentication/ui/components/facebook_signin.dart +19 -0
- package/templates/firebase/lib/features/authentication/ui/components/google_signin.dart +32 -0
- package/templates/firebase/lib/features/authentication/ui/components/otp_verification.dart +100 -0
- package/templates/firebase/lib/features/authentication/ui/components/phone_input.dart +109 -0
- package/templates/firebase/lib/features/authentication/ui/phone_auth_page.dart +60 -0
- package/templates/firebase/lib/features/authentication/ui/recover_password_page.dart +101 -0
- package/templates/firebase/lib/features/authentication/ui/signin_page.dart +321 -0
- package/templates/firebase/lib/features/authentication/ui/signup_page.dart +310 -0
- package/templates/firebase/lib/features/authentication/ui/widgets/auth_brand.dart +35 -0
- package/templates/firebase/lib/features/authentication/ui/widgets/auth_page_back_button.dart +149 -0
- package/templates/firebase/lib/features/authentication/ui/widgets/otp_input.dart +194 -0
- package/templates/firebase/lib/features/authentication/ui/widgets/recover_password_result.dart +62 -0
- package/templates/firebase/lib/features/authentication/ui/widgets/round_signin.dart +73 -0
- package/templates/firebase/lib/features/authentication/ui/widgets/social_separator.dart +26 -0
- package/templates/firebase/lib/features/dev/keyboard_test_page.dart +93 -0
- package/templates/firebase/lib/features/feedbacks/api/entities/feature_request_entity.dart +27 -0
- package/templates/firebase/lib/features/feedbacks/api/entities/feature_vote_entity.dart +27 -0
- package/templates/firebase/lib/features/feedbacks/api/feature_request_api.dart +51 -0
- package/templates/firebase/lib/features/feedbacks/api/feature_vote_api.dart +79 -0
- package/templates/firebase/lib/features/feedbacks/models/feature_requests.dart +48 -0
- package/templates/firebase/lib/features/feedbacks/models/feedback_state.dart +43 -0
- package/templates/firebase/lib/features/feedbacks/providers/feedback_page_notifier.dart +147 -0
- package/templates/firebase/lib/features/feedbacks/repositories/feature_request_repository.dart +92 -0
- package/templates/firebase/lib/features/feedbacks/ui/component/add_feature_form.dart +112 -0
- package/templates/firebase/lib/features/feedbacks/ui/feedback_page.dart +184 -0
- package/templates/firebase/lib/features/feedbacks/ui/widgets/add_feature_button.dart +66 -0
- package/templates/firebase/lib/features/feedbacks/ui/widgets/feature_card.dart +266 -0
- package/templates/firebase/lib/features/home/design_system_page.dart +552 -0
- package/templates/firebase/lib/features/home/home_components_page.dart +314 -0
- package/templates/firebase/lib/features/home/home_components_preview_page.dart +791 -0
- package/templates/firebase/lib/features/home/home_components_preview_registry.dart +7712 -0
- package/templates/firebase/lib/features/home/home_features_page.dart +207 -0
- package/templates/firebase/lib/features/home/home_page.dart +348 -0
- package/templates/firebase/lib/features/llm_chat/api/llm_chat_api.dart +50 -0
- package/templates/firebase/lib/features/llm_chat/api/llm_chat_message_entity.dart +35 -0
- package/templates/firebase/lib/features/llm_chat/llm_chat_page.dart +352 -0
- package/templates/firebase/lib/features/llm_chat/providers/llm_chat_notifier.dart +315 -0
- package/templates/firebase/lib/features/llm_chat/ui/widgets/llm_chat_avatars.dart +148 -0
- package/templates/firebase/lib/features/llm_chat/ui/widgets/llm_chat_composer.dart +124 -0
- package/templates/firebase/lib/features/local_reminder/providers/reminder_notifier.dart +81 -0
- package/templates/firebase/lib/features/local_reminder/repositories/reminder_preferences.dart +76 -0
- package/templates/firebase/lib/features/local_reminder/ui/reminder_page.dart +288 -0
- package/templates/firebase/lib/features/notifications/api/device_api.dart +433 -0
- package/templates/firebase/lib/features/notifications/api/entities/device_entity.dart +62 -0
- package/templates/firebase/lib/features/notifications/api/entities/notifications_entity.dart +35 -0
- package/templates/firebase/lib/features/notifications/api/local_notifier.dart +409 -0
- package/templates/firebase/lib/features/notifications/api/notifications_api.dart +319 -0
- package/templates/firebase/lib/features/notifications/providers/models/device.dart +27 -0
- package/templates/firebase/lib/features/notifications/providers/models/notification.dart +196 -0
- package/templates/firebase/lib/features/notifications/providers/models/notification_list.dart +38 -0
- package/templates/firebase/lib/features/notifications/providers/notifications_provider.dart +120 -0
- package/templates/firebase/lib/features/notifications/repositories/background_notification_handler.dart +13 -0
- package/templates/firebase/lib/features/notifications/repositories/device_repository.dart +137 -0
- package/templates/firebase/lib/features/notifications/repositories/notifications_repository.dart +214 -0
- package/templates/firebase/lib/features/notifications/shared/att_permission.dart +75 -0
- package/templates/firebase/lib/features/notifications/shared/notification_permission_bottom_sheet.dart +144 -0
- package/templates/firebase/lib/features/notifications/ui/components/notification_settings_sheet.dart +169 -0
- package/templates/firebase/lib/features/notifications/ui/components/notification_tile.dart +46 -0
- package/templates/firebase/lib/features/notifications/ui/components/notifications_header.dart +32 -0
- package/templates/firebase/lib/features/notifications/ui/components/push_notification_switcher.dart +106 -0
- package/templates/firebase/lib/features/notifications/ui/notifications_page.dart +202 -0
- package/templates/firebase/lib/features/notifications/ui/request_notification_permission.dart +84 -0
- package/templates/firebase/lib/features/notifications/ui/widgets/empty_notifications.dart +73 -0
- package/templates/firebase/lib/features/notifications/ui/widgets/notification_tile.dart +362 -0
- package/templates/firebase/lib/features/onboarding/api/entities/user_info_entity.dart +24 -0
- package/templates/firebase/lib/features/onboarding/api/user_infos_api.dart +71 -0
- package/templates/firebase/lib/features/onboarding/models/user_info.dart +92 -0
- package/templates/firebase/lib/features/onboarding/providers/onboarding_model.dart +15 -0
- package/templates/firebase/lib/features/onboarding/providers/onboarding_provider.dart +78 -0
- package/templates/firebase/lib/features/onboarding/repositories/user_infos_repository.dart +29 -0
- package/templates/firebase/lib/features/onboarding/ui/animations/page_transitions.dart +33 -0
- package/templates/firebase/lib/features/onboarding/ui/components/onboarding_att_setup.dart +66 -0
- package/templates/firebase/lib/features/onboarding/ui/components/onboarding_features.dart +76 -0
- package/templates/firebase/lib/features/onboarding/ui/components/onboarding_loader.dart +92 -0
- package/templates/firebase/lib/features/onboarding/ui/components/onboarding_notifications_setup.dart +76 -0
- package/templates/firebase/lib/features/onboarding/ui/components/onboarding_questions.dart +89 -0
- package/templates/firebase/lib/features/onboarding/ui/onboarding_page.dart +108 -0
- package/templates/firebase/lib/features/onboarding/ui/widgets/onboarding_background.dart +80 -0
- package/templates/firebase/lib/features/onboarding/ui/widgets/onboarding_feature.dart +145 -0
- package/templates/firebase/lib/features/onboarding/ui/widgets/onboarding_illustration_scaffold.dart +125 -0
- package/templates/firebase/lib/features/onboarding/ui/widgets/onboarding_progress.dart +84 -0
- package/templates/firebase/lib/features/onboarding/ui/widgets/onboarding_radio_question.dart +173 -0
- package/templates/firebase/lib/features/onboarding/ui/widgets/onboarding_reassurance.dart +44 -0
- package/templates/firebase/lib/features/onboarding/ui/widgets/onboarding_sticky_footer.dart +77 -0
- package/templates/firebase/lib/features/onboarding/ui/widgets/selectable_row_tile.dart +392 -0
- package/templates/firebase/lib/features/settings/settings_page.dart +460 -0
- package/templates/firebase/lib/features/settings/ui/components/admin/admin_bottom_sheet.dart +301 -0
- package/templates/firebase/lib/features/settings/ui/components/admin/admin_home_widgets.dart +38 -0
- package/templates/firebase/lib/features/settings/ui/components/admin/admin_paywalls.dart +53 -0
- package/templates/firebase/lib/features/settings/ui/components/admin/admin_routes.dart +22 -0
- package/templates/firebase/lib/features/settings/ui/components/admin/send_push_notification_page.dart +366 -0
- package/templates/firebase/lib/features/settings/ui/components/admin/send_push_notifier.dart +40 -0
- package/templates/firebase/lib/features/settings/ui/components/avatar_component.dart +430 -0
- package/templates/firebase/lib/features/settings/ui/components/delete_user_component.dart +28 -0
- package/templates/firebase/lib/features/settings/ui/components/language_switcher.dart +163 -0
- package/templates/firebase/lib/features/settings/ui/widgets/admin_card.dart +59 -0
- package/templates/firebase/lib/features/settings/ui/widgets/avatar_utils.dart +51 -0
- package/templates/firebase/lib/features/settings/ui/widgets/round_progress.dart +151 -0
- package/templates/firebase/lib/features/settings/ui/widgets/settings_bottom_sheet_option_tile.dart +52 -0
- package/templates/firebase/lib/features/settings/ui/widgets/settings_tile.dart +163 -0
- package/templates/firebase/lib/features/subscription/api/entities/subscription_entity.dart +40 -0
- package/templates/firebase/lib/features/subscription/api/inapp_subscription_api.dart +389 -0
- package/templates/firebase/lib/features/subscription/api/subscription_api.dart +39 -0
- package/templates/firebase/lib/features/subscription/providers/models/premium_state.dart +35 -0
- package/templates/firebase/lib/features/subscription/providers/premium_page_provider.dart +259 -0
- package/templates/firebase/lib/features/subscription/repositories/subscription_repository.dart +177 -0
- package/templates/firebase/lib/features/subscription/shared/maybeshow_premium.dart +85 -0
- package/templates/firebase/lib/features/subscription/ui/component/active_premium_content.dart +171 -0
- package/templates/firebase/lib/features/subscription/ui/component/paywall_minimal.dart +146 -0
- package/templates/firebase/lib/features/subscription/ui/component/paywall_row.dart +332 -0
- package/templates/firebase/lib/features/subscription/ui/component/paywall_with_switch.dart +207 -0
- package/templates/firebase/lib/features/subscription/ui/component/premium_content.dart +157 -0
- package/templates/firebase/lib/features/subscription/ui/component/premium_page_factory.dart +161 -0
- package/templates/firebase/lib/features/subscription/ui/premium_page.dart +139 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/comparison_table.dart +346 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/feature_line.dart +131 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/paywall_empty_state.dart +68 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/premium_background.dart +63 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/premium_background_gradient.dart +53 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/premium_banner.dart +80 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/premium_bottom_menu.dart +102 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/premium_card.dart +26 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/premium_close_button.dart +61 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/premium_feature.dart +39 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/selectable_col.dart +377 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/selectable_row.dart +436 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/trial_switcher.dart +85 -0
- package/templates/firebase/lib/features/subscription/ui/widgets/unsubscribe_feedback_popup.dart +123 -0
- package/templates/firebase/lib/firebase_options.dart +75 -0
- package/templates/firebase/lib/google_auth_options.dart +10 -0
- package/templates/firebase/lib/i18n/app_locale_display.dart +17 -0
- package/templates/firebase/lib/i18n/en.i18n.json +514 -0
- package/templates/firebase/lib/i18n/es.i18n.json +514 -0
- package/templates/firebase/lib/i18n/pt.i18n.json +514 -0
- package/templates/firebase/lib/i18n/widgets/locale_code_badge.dart +47 -0
- package/templates/firebase/lib/main.dart +263 -0
- package/templates/firebase/lib/router.dart +226 -0
- package/templates/firebase/login-redesign-preview.png +0 -0
- package/templates/firebase/pubspec.yaml +177 -0
- package/templates/firebase/scripts/bump-ios-version.js +38 -0
- package/templates/firebase/scripts/release-ios.sh +137 -0
- package/templates/firebase/slang.yaml +7 -0
- package/templates/firebase/storage.rules +12 -0
- package/templates/firebase/test/core/data/api/analytics_api_fake.dart +25 -0
- package/templates/firebase/test/core/data/api/fake_remote_config_api.dart +45 -0
- package/templates/firebase/test/core/data/api/storage_api_fake.dart +28 -0
- package/templates/firebase/test/core/data/models/subscription_test.dart +42 -0
- package/templates/firebase/test/core/data/repositories/user_repository_test.dart +56 -0
- package/templates/firebase/test/core/guards/guard_test.dart +78 -0
- package/templates/firebase/test/core/navigation/kasy_page_transition_test.dart +30 -0
- package/templates/firebase/test/core/onstart_service_test.dart +18 -0
- package/templates/firebase/test/core/rating/rating_api_fake.dart +58 -0
- package/templates/firebase/test/core/rating/rating_banner_test.dart +117 -0
- package/templates/firebase/test/core/rating/rating_test.dart +60 -0
- package/templates/firebase/test/core/security/secured_storage_fake.dart +33 -0
- package/templates/firebase/test/core/states/event_dispatcher_test.dart +269 -0
- package/templates/firebase/test/core/states/user_state_notifier_test.dart +244 -0
- package/templates/firebase/test/core/widgets/responsive_layout_test.dart +50 -0
- package/templates/firebase/test/device_test_utils.dart +98 -0
- package/templates/firebase/test/features/authentication/data/api/auth_api_fake.dart +169 -0
- package/templates/firebase/test/features/authentication/data/api/user_api_fake.dart +86 -0
- package/templates/firebase/test/features/authentication/lost_password_page_test.dart +59 -0
- package/templates/firebase/test/features/authentication/repositories/authentication_repository_test.dart +88 -0
- package/templates/firebase/test/features/authentication/signin_page_test.dart +133 -0
- package/templates/firebase/test/features/authentication/signup_page_test.dart +136 -0
- package/templates/firebase/test/features/notifications/data/device_api_fake.dart +66 -0
- package/templates/firebase/test/features/notifications/data/fake_facebook_api.dart +40 -0
- package/templates/firebase/test/features/notifications/data/local_notifier_fake.dart +59 -0
- package/templates/firebase/test/features/notifications/data/notifications_api_fake.dart +120 -0
- package/templates/firebase/test/features/notifications/data/notifications_settings_fake.dart +34 -0
- package/templates/firebase/test/features/notifications/providers/device_repository_test.dart +68 -0
- package/templates/firebase/test/features/notifications/providers/notifications_repository_test.dart +74 -0
- package/templates/firebase/test/features/notifications/ui/notifications_page_test.dart +69 -0
- package/templates/firebase/test/features/subscription/api/fake_inapp_subscription_api.dart +85 -0
- package/templates/firebase/test/features/subscription/api/fake_revenuecat_product.dart +186 -0
- package/templates/firebase/test/features/subscription/api/fake_subscription_api.dart +11 -0
- package/templates/firebase/test/features/subscription/subscription_page_test.dart +119 -0
- package/templates/firebase/test/firebase_test_utils.dart +25 -0
- package/templates/firebase/test/test_utils.dart +272 -0
- package/templates/firebase/web/favicon.png +0 -0
- package/templates/firebase/web/firebase-messaging-sw.js +27 -0
- package/templates/firebase/web/icons/Icon-192.png +0 -0
- package/templates/firebase/web/icons/Icon-512.png +0 -0
- package/templates/firebase/web/icons/Icon-maskable-192.png +0 -0
- package/templates/firebase/web/icons/Icon-maskable-512.png +0 -0
- package/templates/firebase/web/index.html +110 -0
- package/templates/firebase/web/local_notifications.js +31 -0
- package/templates/firebase/web/manifest.json +35 -0
- package/templates/firebase/web/splash/img/dark-1x.png +0 -0
- package/templates/firebase/web/splash/img/dark-2x.png +0 -0
- package/templates/firebase/web/splash/img/dark-3x.png +0 -0
- package/templates/firebase/web/splash/img/dark-4x.png +0 -0
- package/templates/firebase/web/splash/img/light-1x.png +0 -0
- package/templates/firebase/web/splash/img/light-2x.png +0 -0
- package/templates/firebase/web/splash/img/light-3x.png +0 -0
- package/templates/firebase/web/splash/img/light-4x.png +0 -0
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
{
|
|
2
|
+
"home": {
|
|
3
|
+
"title": "Ejemplo Kasy",
|
|
4
|
+
"welcome": "Bienvenido al demo de Kasy",
|
|
5
|
+
"cards": {
|
|
6
|
+
"paywall_title": "Paywall",
|
|
7
|
+
"paywall_description": "Ver la página de suscripción",
|
|
8
|
+
"notification_title": "Prueba de notificación local",
|
|
9
|
+
"notification_description": "Muestra una alerta solo en este dispositivo. No aparece en la pestaña Notificaciones (push).",
|
|
10
|
+
"feedback_title": "Feedback",
|
|
11
|
+
"feedback_description": "Página de solicitud de funciones o votación",
|
|
12
|
+
"signup_title": "Registro",
|
|
13
|
+
"signup_description": "El usuario anónimo puede registrarse con correo o red social",
|
|
14
|
+
"assistant_title": "Asistente IA",
|
|
15
|
+
"assistant_description": "Abrir la página de plantilla de chat con IA"
|
|
16
|
+
},
|
|
17
|
+
"features_page": {
|
|
18
|
+
"title": "Recursos del kit",
|
|
19
|
+
"assistant_title": "Chatea con la IA",
|
|
20
|
+
"assistant_description": "Chat listo para preguntas, ideas y ayuda dentro de la app",
|
|
21
|
+
"feedback_title": "Vota y sugiere",
|
|
22
|
+
"feedback_description": "Participa en el roadmap: vota ideas o envía la tuya",
|
|
23
|
+
"notification_title": "Probar notificación",
|
|
24
|
+
"notification_description": "Muestra una alerta solo en este dispositivo (no es push)",
|
|
25
|
+
"notification_demo_title": "Alerta de prueba",
|
|
26
|
+
"notification_demo_body": "Notificación local del demo del kit",
|
|
27
|
+
"send_push_title": "Enviar notificación push",
|
|
28
|
+
"send_push_description": "Envía un push a usuarios específicos o a todos",
|
|
29
|
+
"paywall_title": "Planes y suscripción",
|
|
30
|
+
"paywall_description": "Pantallas de paywall, prueba y flujo RevenueCat"
|
|
31
|
+
},
|
|
32
|
+
"dashboard": {
|
|
33
|
+
"brand": "kasy",
|
|
34
|
+
"components_title": "Componentes",
|
|
35
|
+
"components_subtitle": "Explora tokens de diseño y bloques de UI",
|
|
36
|
+
"features_title": "Features",
|
|
37
|
+
"features_subtitle": "IA, feedback, alertas y suscripción",
|
|
38
|
+
"count_total": "$count en total"
|
|
39
|
+
},
|
|
40
|
+
"components_preview": {
|
|
41
|
+
"nav_title": "Componentes",
|
|
42
|
+
"pro_badge": "PRO"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"auth": {
|
|
46
|
+
"signin": {
|
|
47
|
+
"title": "Bienvenido de nuevo",
|
|
48
|
+
"subtitle": "Inicia sesión para continuar tu experiencia",
|
|
49
|
+
"email_hint": "bruce@wayne.com",
|
|
50
|
+
"email_label": "Correo electrónico",
|
|
51
|
+
"password_hint": "Contraseña",
|
|
52
|
+
"password_label": "Contraseña",
|
|
53
|
+
"forgot_password": "Olvidé contraseña",
|
|
54
|
+
"submit": "Continuar con correo",
|
|
55
|
+
"create_account": "Crear mi cuenta",
|
|
56
|
+
"no_account": "¿No tienes una cuenta?",
|
|
57
|
+
"signup_link": "Regístrate",
|
|
58
|
+
"continue_without": "Continuar sin cuenta",
|
|
59
|
+
"or_sign_in_with": "o",
|
|
60
|
+
"google": "Gmail",
|
|
61
|
+
"apple": "Apple",
|
|
62
|
+
"facebook": "Facebook",
|
|
63
|
+
"error_title": "Error",
|
|
64
|
+
"error_text": "Correo, contraseña incorrectos o este correo no está registrado",
|
|
65
|
+
"email_invalid": "Correo electrónico inválido",
|
|
66
|
+
"password_required": "Debes ingresar una contraseña",
|
|
67
|
+
"password_too_short": "Tu contraseña debe tener al menos 5 caracteres"
|
|
68
|
+
},
|
|
69
|
+
"signup": {
|
|
70
|
+
"title": "Regístrate ahora",
|
|
71
|
+
"subtitle": "Crea tu cuenta para empezar",
|
|
72
|
+
"submit": "Crear mi cuenta",
|
|
73
|
+
"have_account": "¿Ya tienes una cuenta?",
|
|
74
|
+
"signin_link": "Iniciar sesión",
|
|
75
|
+
"already_have_account": "Ya tengo una cuenta",
|
|
76
|
+
"error_title": "Error",
|
|
77
|
+
"error_text": "Este correo ya existe o es inválido"
|
|
78
|
+
},
|
|
79
|
+
"recover": {
|
|
80
|
+
"title": "Recuperar contraseña",
|
|
81
|
+
"email_label": "Correo electrónico",
|
|
82
|
+
"submit": "Recuperar contraseña",
|
|
83
|
+
"error_title": "Error",
|
|
84
|
+
"error_text": "Ingresa un correo electrónico válido"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"rate_popup": {
|
|
88
|
+
"title": "¿Tienes 15 segundos para calificarnos?",
|
|
89
|
+
"description": "¡Es rápido y muy útil! ¡Muchas gracias!",
|
|
90
|
+
"cancel_button": "Quizás más tarde",
|
|
91
|
+
"rate_button": "¡Sí, con gusto!"
|
|
92
|
+
},
|
|
93
|
+
"premium": {
|
|
94
|
+
"title_1": "Desbloquea el acceso completo",
|
|
95
|
+
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
|
|
96
|
+
"feature_1": "Característica 1 lorem ipsum",
|
|
97
|
+
"feature_2": "Característica 2 mop issum",
|
|
98
|
+
"feature_3": "Característica 3 lorem",
|
|
99
|
+
"duration_weekly": "Semana",
|
|
100
|
+
"duration_annual": "Año",
|
|
101
|
+
"duration_monthly": "Mes",
|
|
102
|
+
"duration_monthly_description": "Cancela cuando quieras",
|
|
103
|
+
"duration_lifetime": "De por vida",
|
|
104
|
+
"duration_lifetime_description": "Pago único",
|
|
105
|
+
"restore_action": "Restaurar",
|
|
106
|
+
"coupon_title": "¿Tienes un cupón?",
|
|
107
|
+
"payment_cancel_reassurance": "Cancelación fácil con 1 clic, siempre",
|
|
108
|
+
"payment_cancel_reassurance_free_trial": "Sin pago ahora, cancela cuando quieras",
|
|
109
|
+
"payment_action": "Iniciar prueba gratuita",
|
|
110
|
+
"payment_action_trial": "7 días gratis, luego $money",
|
|
111
|
+
"try_free_btn_action": "Prueba gratis por $days días",
|
|
112
|
+
"duration_recuring_label_annual": "Anual",
|
|
113
|
+
"duration_recuring_label_monthly": "Mensual",
|
|
114
|
+
"duration_recuring_label_weekly": "Semanal",
|
|
115
|
+
"action_button": "Continuar",
|
|
116
|
+
"terms": "Términos",
|
|
117
|
+
"privacy": "Privacidad",
|
|
118
|
+
"error_loading": "Error al cargar las ofertas",
|
|
119
|
+
"no_products_title": "Las opciones de suscripción aún no están disponibles",
|
|
120
|
+
"no_products_description": "Inténtalo de nuevo en unos instantes. Si sigue ocurriendo, es posible que los productos de la tienda aún estén terminando la configuración.",
|
|
121
|
+
"restore_success_title": "Suscripción restaurada",
|
|
122
|
+
"restore_success_text": "Gracias por tu confianza",
|
|
123
|
+
"purchase_success_title": "Suscripción realizada con éxito",
|
|
124
|
+
"purchase_success_text": "Gracias por tu confianza",
|
|
125
|
+
"error_title": "Error",
|
|
126
|
+
"error_text": "Ocurrió un error. Inténtalo de nuevo",
|
|
127
|
+
"comparison": {
|
|
128
|
+
"title": "Comparación de planes Premium",
|
|
129
|
+
"features_label": "Características",
|
|
130
|
+
"free_version": "Gratis",
|
|
131
|
+
"premium_version": "Premium",
|
|
132
|
+
"no_ads": "Sin anuncios",
|
|
133
|
+
"premium_themes": "Temas Premium",
|
|
134
|
+
"advanced_customization": "Personalización avanzada",
|
|
135
|
+
"priority_support": "Soporte prioritario",
|
|
136
|
+
"home_widget": "Widgets en pantalla de inicio",
|
|
137
|
+
"talk_with_assistant": "Asistente IA"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"activePremium": {
|
|
141
|
+
"title": "Eres un usuario premium",
|
|
142
|
+
"description": "Disfruta todas las funciones",
|
|
143
|
+
"unsubscribe_button": "Cancelar suscripción",
|
|
144
|
+
"early_bird_description": "Usaste un cupón que te dio acceso gratuito a las funciones premium sin suscripción. ¡Disfrútalo!",
|
|
145
|
+
"unsubscribe_feedback_title": "Ayúdanos a mejorar",
|
|
146
|
+
"unsubscribe_feedback_description": "Lamentamos verte partir. ¿Podrías decirnos brevemente por qué te estás dando de baja?",
|
|
147
|
+
"unsubscribe_feedback_hint": "Cuéntanos tu motivo...",
|
|
148
|
+
"unsubscribe_feedback_min_chars": "Se requieren mínimo 6 caracteres",
|
|
149
|
+
"unsubscribe_confirm_button": "Continuar",
|
|
150
|
+
"lifetime_user_description": "Eres un usuario de por vida",
|
|
151
|
+
"cancel_button": "Cerrar"
|
|
152
|
+
},
|
|
153
|
+
"paywallWithSwitch": {
|
|
154
|
+
"withTrial": {
|
|
155
|
+
"title": "Prueba gratis por $days días",
|
|
156
|
+
"btnAction": "Prueba gratis",
|
|
157
|
+
"details": "$days días gratis, luego $price",
|
|
158
|
+
"trial_switch_title": "Prueba gratuita de $days días"
|
|
159
|
+
},
|
|
160
|
+
"noTrial": {
|
|
161
|
+
"title": "Disfruta tu experiencia Premium",
|
|
162
|
+
"btnAction": "Continuar",
|
|
163
|
+
"trial_switch_title": "¿Aún no estás seguro?",
|
|
164
|
+
"trial_switch_subtitle": "Activar prueba gratuita"
|
|
165
|
+
},
|
|
166
|
+
"features": [
|
|
167
|
+
"Lorem característica 1",
|
|
168
|
+
"Lorem característica 2",
|
|
169
|
+
"Lorem característica 3",
|
|
170
|
+
"Cancela cuando quieras"
|
|
171
|
+
]
|
|
172
|
+
},
|
|
173
|
+
"onboarding": {
|
|
174
|
+
"feature_1": {
|
|
175
|
+
"title": "Módulo de suscripciones",
|
|
176
|
+
"description": "Gestiona suscripciones con paywalls listos para usar",
|
|
177
|
+
"action": "Continuar",
|
|
178
|
+
"skip": "Omitir"
|
|
179
|
+
},
|
|
180
|
+
"feature_2": {
|
|
181
|
+
"title": "Módulo de autenticación",
|
|
182
|
+
"description": "Gestiona la autenticación con pantallas listas (inicio de sesión, registro, olvidé la contraseña, etc.)",
|
|
183
|
+
"action": "Continuar"
|
|
184
|
+
},
|
|
185
|
+
"feature_3": {
|
|
186
|
+
"title": "Módulo de notificaciones",
|
|
187
|
+
"description": "Recibe notificaciones push, muestra notificaciones en la app, gestiona permisos, lista de notificaciones con estado...",
|
|
188
|
+
"action": "Continuar"
|
|
189
|
+
},
|
|
190
|
+
"ageQuestion": {
|
|
191
|
+
"title": "¿Cuál es tu edad?",
|
|
192
|
+
"description": "Esto nos ayuda a personalizar tu experiencia en la app.",
|
|
193
|
+
"options(map)": {
|
|
194
|
+
"age18_30": "[18 - 30] años",
|
|
195
|
+
"age31_40": "[31 - 40] años",
|
|
196
|
+
"age41_50": "[41 - 50] años",
|
|
197
|
+
"age51_60": "50 años o más",
|
|
198
|
+
"none": "Prefiero no responder"
|
|
199
|
+
},
|
|
200
|
+
"action": "Continuar"
|
|
201
|
+
},
|
|
202
|
+
"genderQuestion": {
|
|
203
|
+
"title": "¿Cuál es tu género?",
|
|
204
|
+
"description": "Elige la opción que mejor te represente. Puedes omitir si prefieres.",
|
|
205
|
+
"options(map)": {
|
|
206
|
+
"male": "Masculino",
|
|
207
|
+
"female": "Femenino",
|
|
208
|
+
"none": "Prefiero no responder"
|
|
209
|
+
},
|
|
210
|
+
"action": "Continuar"
|
|
211
|
+
},
|
|
212
|
+
"notifications": {
|
|
213
|
+
"title": "Permitir notificaciones",
|
|
214
|
+
"description": "Solo te enviaremos notificaciones importantes",
|
|
215
|
+
"continue_button": "Permitir notificaciones",
|
|
216
|
+
"skip_button": "Quizás más tarde"
|
|
217
|
+
},
|
|
218
|
+
"att": {
|
|
219
|
+
"title": "Transparencia de Seguimiento de Apps",
|
|
220
|
+
"description": "Solo necesitamos esto para mejorar nuestras campañas de anuncios",
|
|
221
|
+
"continue_button": "Continuar"
|
|
222
|
+
},
|
|
223
|
+
"loading": {
|
|
224
|
+
"title": "Creando tu perfil",
|
|
225
|
+
"subtitle": "Espera unos segundos"
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
"feature_requests": {
|
|
229
|
+
"title": "Ideas",
|
|
230
|
+
"description": "Vota ideas o comparte la tuya. Cada voz define lo que construimos.",
|
|
231
|
+
"community_ideas": "Ideas de la comunidad",
|
|
232
|
+
"no_requests": "Sin ideas aun. Se el primero en sugerir una.",
|
|
233
|
+
"vote_success": {
|
|
234
|
+
"title": "Voto registrado",
|
|
235
|
+
"description": "Gracias por ayudarnos a priorizar"
|
|
236
|
+
},
|
|
237
|
+
"vote_error": {
|
|
238
|
+
"title": "Ya votado",
|
|
239
|
+
"description": "Ya votaste por esta idea"
|
|
240
|
+
},
|
|
241
|
+
"add_feature": {
|
|
242
|
+
"chip_label": "Agregar",
|
|
243
|
+
"title": "Enviar una idea",
|
|
244
|
+
"description": "Cuentanos que te gustaria ver en la app.",
|
|
245
|
+
"save_button": "Enviar",
|
|
246
|
+
"title_label": "Titulo",
|
|
247
|
+
"title_hint": "Un titulo corto y descriptivo",
|
|
248
|
+
"description_label": "Descripcion",
|
|
249
|
+
"description_hint": "Describe el recurso o la mejora en detalle...",
|
|
250
|
+
"error_title": "Error",
|
|
251
|
+
"error_required": "El titulo y la descripcion son obligatorios",
|
|
252
|
+
"error_sending": "Algo salio mal. Intentalo de nuevo.",
|
|
253
|
+
"error_too_short": "Descripcion muy corta. Agrega mas detalles",
|
|
254
|
+
"toast_success": {
|
|
255
|
+
"title": "Idea enviada",
|
|
256
|
+
"description": "La revisaremos y te daremos una respuesta"
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
"update_bottom_sheet": {
|
|
261
|
+
"title": "¿Qué hay de nuevo?",
|
|
262
|
+
"description": "Hicimos algunas mejoras",
|
|
263
|
+
"highlights": [
|
|
264
|
+
"- Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
|
|
265
|
+
"- Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
|
|
266
|
+
"- Lorem ipsum dolor sit amet, consectetur adipiscing elit."
|
|
267
|
+
],
|
|
268
|
+
"continue_button": "Continuar"
|
|
269
|
+
},
|
|
270
|
+
"request_notification_permission": {
|
|
271
|
+
"title": "¿Activar notificaciones?",
|
|
272
|
+
"description": "Recibe actualizaciones en tiempo real y mantente al día con lo que importa.",
|
|
273
|
+
"continue_button": "Activar",
|
|
274
|
+
"skip_button": "Ahora no"
|
|
275
|
+
},
|
|
276
|
+
"notification_permission_denied": {
|
|
277
|
+
"title": "Permiso requerido",
|
|
278
|
+
"description": "Para recibir notificaciones, activa los permisos de notificación en la configuración de tu dispositivo.",
|
|
279
|
+
"allow_button": "Permitir notificaciones",
|
|
280
|
+
"open_settings_button": "Abrir configuración",
|
|
281
|
+
"cancel_button": "Cancelar"
|
|
282
|
+
},
|
|
283
|
+
"review_popup": {
|
|
284
|
+
"title": "¡Tu opinión importa!",
|
|
285
|
+
"description": "Ayúdanos a crecer compartiendo tu experiencia. Solo toma unos segundos y hace una gran diferencia para nosotros 🙏🏻",
|
|
286
|
+
"cancel_button": "Sugerir mejoras",
|
|
287
|
+
"rate_button": "Escribir una reseña"
|
|
288
|
+
},
|
|
289
|
+
"navigation": {
|
|
290
|
+
"home": "Inicio",
|
|
291
|
+
"wishlist": "Deseos",
|
|
292
|
+
"notifications": "Notificaciones",
|
|
293
|
+
"settings": "Config."
|
|
294
|
+
},
|
|
295
|
+
"wishlist": {
|
|
296
|
+
"empty_title": "Nada aquí aún",
|
|
297
|
+
"empty_subtitle": "Guarda tus favoritos para encontrarlos aquí"
|
|
298
|
+
},
|
|
299
|
+
"reminderPage": {
|
|
300
|
+
"title": "Recordatorios",
|
|
301
|
+
"toggleLabel": "Activar recordatorio",
|
|
302
|
+
"typeLabel": "Repetir",
|
|
303
|
+
"daily": "Cada día",
|
|
304
|
+
"weekly": "Cada semana",
|
|
305
|
+
"specificDate": "Fecha específica",
|
|
306
|
+
"timeLabel": "Hora",
|
|
307
|
+
"dayLabel": "Día de la semana",
|
|
308
|
+
"dateLabel": "Fecha y hora",
|
|
309
|
+
"selectDate": "Seleccionar fecha y hora"
|
|
310
|
+
},
|
|
311
|
+
"dailyReminder": {
|
|
312
|
+
"title": "Recordatorio",
|
|
313
|
+
"body": "Es hora de beber un vaso de agua."
|
|
314
|
+
},
|
|
315
|
+
"settings": {
|
|
316
|
+
"title": "Configuración",
|
|
317
|
+
"avatar": {
|
|
318
|
+
"take_photo": "Tomar foto",
|
|
319
|
+
"choose_library": "Biblioteca de fotos",
|
|
320
|
+
"remove_photo": "Eliminar foto",
|
|
321
|
+
"cancel": "Cancelar"
|
|
322
|
+
},
|
|
323
|
+
"language_title": "Idiomas",
|
|
324
|
+
"theme_title": "Modo claro/oscuro",
|
|
325
|
+
"haptic_feedback_title": "Feedback háptico",
|
|
326
|
+
"section_preferences_label": "PREFERENCIAS",
|
|
327
|
+
"section_security_label": "SEGURIDAD",
|
|
328
|
+
"section_support_label": "SOPORTE",
|
|
329
|
+
"biometric_title": "Bloqueo de la app",
|
|
330
|
+
"biometric_subtitle_ios": "Pide Face ID o Touch ID al abrir con la sesión iniciada.",
|
|
331
|
+
"biometric_subtitle_ios_face": "Exige Face ID al abrir con sesión iniciada.",
|
|
332
|
+
"biometric_subtitle_ios_touch": "Exige Touch ID al abrir con sesión iniciada.",
|
|
333
|
+
"biometric_subtitle_android": "Pediremos una verificación rápida en el teléfono cuando abras con sesión iniciada.",
|
|
334
|
+
"biometric_subtitle_android_face": "Exige desbloqueo facial al abrir con sesión iniciada.",
|
|
335
|
+
"biometric_subtitle_android_fingerprint": "Exige huella digital al abrir con sesión iniciada.",
|
|
336
|
+
"biometric_subtitle_android_face_and_fingerprint": "Exige huella digital o desbloqueo facial al abrir con sesión iniciada.",
|
|
337
|
+
"biometric_disable_title": "¿Desactivar el bloqueo de la app?",
|
|
338
|
+
"biometric_disable_message": "Sin bloqueo, quien tenga el teléfono desbloqueado puede usar la app hasta que cierres sesión.",
|
|
339
|
+
"biometric_disable_confirm": "Desactivar",
|
|
340
|
+
"biometric_disable_cancel": "Cancelar",
|
|
341
|
+
"biometric_enable_reason_ios": "Confirma con Face ID o Touch ID para activar el bloqueo",
|
|
342
|
+
"biometric_enable_reason_ios_face": "Confirma con Face ID para activar el bloqueo",
|
|
343
|
+
"biometric_enable_reason_ios_touch": "Confirma con Touch ID para activar el bloqueo",
|
|
344
|
+
"biometric_enable_reason_android": "Confirma en el teléfono para activar el bloqueo",
|
|
345
|
+
"biometric_enable_reason_android_face": "Confirma con reconocimiento facial para activar el bloqueo",
|
|
346
|
+
"biometric_enable_reason_android_fingerprint": "Confirma con huella digital para activar el bloqueo",
|
|
347
|
+
"biometric_enable_reason_android_face_and_fingerprint": "Confirma con huella o rostro para activar el bloqueo",
|
|
348
|
+
"biometric_login_reason_ios": "Desbloquea con Face ID o Touch ID",
|
|
349
|
+
"biometric_login_reason_ios_face": "Desbloquea con Face ID",
|
|
350
|
+
"biometric_login_reason_ios_touch": "Desbloquea con Touch ID",
|
|
351
|
+
"biometric_login_reason_android": "Confirma tu identidad",
|
|
352
|
+
"biometric_login_reason_android_face": "Desbloquea con reconocimiento facial",
|
|
353
|
+
"biometric_login_reason_android_fingerprint": "Desbloquea con huella digital",
|
|
354
|
+
"biometric_login_reason_android_face_and_fingerprint": "Desbloquea con huella o rostro",
|
|
355
|
+
"biometric_unavailable_message_ios": "Activa Face ID, Touch ID o código en Ajustes.",
|
|
356
|
+
"biometric_unavailable_message_ios_face": "Activa Face ID o un código del dispositivo en Ajustes.",
|
|
357
|
+
"biometric_unavailable_message_ios_touch": "Activa Touch ID o un código del dispositivo en Ajustes.",
|
|
358
|
+
"biometric_unavailable_message_android": "Activa desbloqueo biométrico o bloqueo de pantalla en Ajustes.",
|
|
359
|
+
"biometric_unavailable_message_android_face": "Configura reconocimiento facial o bloqueo de pantalla en ajustes.",
|
|
360
|
+
"biometric_unavailable_message_android_fingerprint": "Configura huella digital o bloqueo de pantalla en ajustes.",
|
|
361
|
+
"biometric_unavailable_message_android_face_and_fingerprint": "Añade huella o reconocimiento facial en Ajustes.",
|
|
362
|
+
"biometric_not_enabled_message": "El bloqueo de la app no se activó.",
|
|
363
|
+
"feedback": "Enviar comentarios",
|
|
364
|
+
"premium": "Premium",
|
|
365
|
+
"privacy": "Política de privacidad",
|
|
366
|
+
"support": "Soporte",
|
|
367
|
+
"disconnect": "Desconectar",
|
|
368
|
+
"disconnect_confirm_title": "Salir",
|
|
369
|
+
"disconnect_confirm_message": "¿Seguro que quieres salir?",
|
|
370
|
+
"disconnect_cancel": "Cancelar",
|
|
371
|
+
"my_account": "Mi cuenta",
|
|
372
|
+
"not_signed_in": "No conectado",
|
|
373
|
+
"register": "Registrarse",
|
|
374
|
+
"reminders": "Recordatorios",
|
|
375
|
+
"admin_panel": "Panel de Administración",
|
|
376
|
+
"admin_debug_section_label": "ADMIN (SOLO DEBUG)",
|
|
377
|
+
"admin_panel_debug_notice": "Toda esta sección Admin (título, panel y opciones) solo existe en builds de debug. No se incluye en release; quien instala desde la tienda o un APK de producción no ve nada de esto.",
|
|
378
|
+
"delete_account": {
|
|
379
|
+
"button": "Quiero eliminar mi cuenta",
|
|
380
|
+
"title": "¿Eliminar mi cuenta?",
|
|
381
|
+
"content": "Advertencia: esta acción es irreversible",
|
|
382
|
+
"cancel": "Cancelar",
|
|
383
|
+
"confirm": "Sí, eliminar"
|
|
384
|
+
},
|
|
385
|
+
"admin": {
|
|
386
|
+
"update_bottom_sheet": "Actualizar bottom sheet",
|
|
387
|
+
"paywalls": "Paywalls",
|
|
388
|
+
"test_onboarding": "Probar onboarding",
|
|
389
|
+
"copy_user_id": "Copiar ID de usuario",
|
|
390
|
+
"user_id_copied": "ID de usuario copiado al portapapeles",
|
|
391
|
+
"copy_fcm_token": "Copiar FCM Token",
|
|
392
|
+
"fcm_token_copied": "FCM Token copiado al portapapeles",
|
|
393
|
+
"fcm_token_unavailable": "Token no disponible (¿notificaciones desactivadas?)",
|
|
394
|
+
"ask_notification": "Pedir permiso de notificación",
|
|
395
|
+
"ask_review": "Pedir evaluación",
|
|
396
|
+
"home_widgets_panel": "Panel de Home Widgets",
|
|
397
|
+
"home_widgets_title": "Panel de Home Widgets",
|
|
398
|
+
"inspector_fab_title": "Inspector de widgets",
|
|
399
|
+
"update_mywidget_title": "📱 Actualizar Widget MyWidget",
|
|
400
|
+
"update_mywidget_desc": "Llamar a la actualización manual para el widget MyWidget",
|
|
401
|
+
"paywalls_title": "Panel de Admin de Paywalls",
|
|
402
|
+
"send_push_title": "Enviar notificación",
|
|
403
|
+
"send_push_to_all": "Enviar a todos",
|
|
404
|
+
"send_push_email_hint": "Agregar e-mail",
|
|
405
|
+
"send_push_title_label": "Título",
|
|
406
|
+
"send_push_title_hint": "Ej: Nueva actualización disponible",
|
|
407
|
+
"send_push_body_label": "Mensaje",
|
|
408
|
+
"send_push_body_hint": "Escribe el contenido de la notificación",
|
|
409
|
+
"send_push_image_label": "URL de imagen (opcional)",
|
|
410
|
+
"send_push_image_hint": "https://...",
|
|
411
|
+
"send_push_email_label": "Correos destinatarios",
|
|
412
|
+
"send_push_success": "¡Notificación enviada!",
|
|
413
|
+
"send_push_user_not_found": "Usuario no encontrado: $email",
|
|
414
|
+
"send_push_send_button": "Enviar",
|
|
415
|
+
"send_push_required": "El título y el mensaje son obligatorios",
|
|
416
|
+
"send_push_no_emails": "Agrega al menos un correo",
|
|
417
|
+
"send_push_route_label": "Ruta al abrir (opcional)",
|
|
418
|
+
"send_push_route_hint": "Ej: /premium, /notifications",
|
|
419
|
+
"device_preview_title": "Device Preview (solo web)"
|
|
420
|
+
}
|
|
421
|
+
},
|
|
422
|
+
"rate_banner": {
|
|
423
|
+
"title": "¿Te gusta nuestra app?",
|
|
424
|
+
"text": "¿Tienes un minuto para dejarnos una reseña en la tienda?",
|
|
425
|
+
"rate_button": "¡Sí, seguro!",
|
|
426
|
+
"later_button": "Más tarde..."
|
|
427
|
+
},
|
|
428
|
+
"notifications": {
|
|
429
|
+
"title": "Notificaciones",
|
|
430
|
+
"empty_title": "No tienes notificaciones",
|
|
431
|
+
"empty_subtitle": "Mantente atento a las actualizaciones",
|
|
432
|
+
"error_fetching": "Error al obtener notificaciones",
|
|
433
|
+
"push_title": "Notificaciones push",
|
|
434
|
+
"push_subtitle_enabled": "Estás recibiendo alertas",
|
|
435
|
+
"push_subtitle_disabled": "Toca para activar en Configuración",
|
|
436
|
+
"push_subtitle_waiting": "Activa para no perderte nada",
|
|
437
|
+
"mark_all_read": "Marcar leídas",
|
|
438
|
+
"group_today": "Hoy",
|
|
439
|
+
"group_yesterday": "Ayer",
|
|
440
|
+
"group_older": "Más antiguas",
|
|
441
|
+
"empty_cta": "Activar notificaciones"
|
|
442
|
+
},
|
|
443
|
+
"bottom_router": {
|
|
444
|
+
"fake_page_text": "Esta es una página de prueba"
|
|
445
|
+
},
|
|
446
|
+
"llm_chat": {
|
|
447
|
+
"title": "Plantilla de Chat IA",
|
|
448
|
+
"empty_state": "Inicia una conversación con tu asistente.",
|
|
449
|
+
"hint": "Pregunta algo...",
|
|
450
|
+
"error_not_configured": "Endpoint LLM no configurado. Usa --dart-define=LLM_CHAT_ENDPOINT=...",
|
|
451
|
+
"error_no_reply": "No se encontró campo de respuesta en la API.",
|
|
452
|
+
"error_network": "No se pudo conectar al asistente de IA."
|
|
453
|
+
},
|
|
454
|
+
"phone_auth": {
|
|
455
|
+
"title_input": "Autenticación por Teléfono",
|
|
456
|
+
"subtitle_input": "Ingresa tu número de teléfono",
|
|
457
|
+
"description_input": "Cobraremos un código de verificación para confirmar tu identidad",
|
|
458
|
+
"phone_label": "Número de teléfono",
|
|
459
|
+
"phone_hint": "+34 600 123 456",
|
|
460
|
+
"error_empty": "Por favor, ingresa un número de teléfono",
|
|
461
|
+
"error_invalid": "Por favor, ingresa un número válido",
|
|
462
|
+
"continue_btn": "Continuar",
|
|
463
|
+
"title_verify": "Verificar Código",
|
|
464
|
+
"verification_code": "Código de Verificación",
|
|
465
|
+
"code_sent": "Hemos enviado un código de verificación a $phone",
|
|
466
|
+
"verify_code": "Verificar Código",
|
|
467
|
+
"resend_code": "Reenviar Código",
|
|
468
|
+
"enter_all_digits": "Por favor, ingresa los 6 dígitos"
|
|
469
|
+
},
|
|
470
|
+
"recover_password_result": {
|
|
471
|
+
"title": "Email enviado",
|
|
472
|
+
"description": "Te hemos enviado un email con un enlace para restablecer tu contraseña",
|
|
473
|
+
"back_to_signin": "Volver a Iniciar Sesión",
|
|
474
|
+
"note": "Nota: Si no recibes un email, por favor revisa tu carpeta de spam"
|
|
475
|
+
},
|
|
476
|
+
"page_not_found": {
|
|
477
|
+
"title": "404 - Página no encontrada"
|
|
478
|
+
},
|
|
479
|
+
"devInspector": {
|
|
480
|
+
"copied": "$widget copiado al portapapeles",
|
|
481
|
+
"activate": "Activar inspector de widgets",
|
|
482
|
+
"deactivate": "Desactivar inspector de widgets",
|
|
483
|
+
"copyForAi": "Copiar para IA",
|
|
484
|
+
"selectWidgetFirst": "Selecciona un widget en pantalla primero y luego toca Copiar.",
|
|
485
|
+
"inspectorHint": "Toca la interfaz para seleccionar (borde morado). Luego copia para tu prompt de IA."
|
|
486
|
+
},
|
|
487
|
+
"webDevicePreview": {
|
|
488
|
+
"frame": "Frame",
|
|
489
|
+
"darkBackground": "Fondo oscuro",
|
|
490
|
+
"darkTheme": "Tema oscuro",
|
|
491
|
+
"landscape": "Horizontal",
|
|
492
|
+
"textScale": "Escala de texto",
|
|
493
|
+
"screenshot": "Captura de pantalla"
|
|
494
|
+
},
|
|
495
|
+
"biometric_prompt": {
|
|
496
|
+
"title_ios_face": "¿Activar Face ID en el bloqueo?",
|
|
497
|
+
"title_ios_touch": "¿Activar Touch ID en el bloqueo?",
|
|
498
|
+
"title_ios_mixed": "¿Activar Face ID/Touch ID en el bloqueo?",
|
|
499
|
+
"title_android_face": "¿Activar bloqueo con reconocimiento facial?",
|
|
500
|
+
"title_android_fingerprint": "¿Activar bloqueo con huella digital?",
|
|
501
|
+
"title_android_mixed": "¿Proteger la app con tu teléfono?",
|
|
502
|
+
"message_ios_face": "Al abrir confirmarás con Face ID—sigues con sesión iniciada.",
|
|
503
|
+
"message_ios_touch": "Al abrir confirmarás con Touch ID—sigues con sesión iniciada.",
|
|
504
|
+
"message_ios_mixed": "Al abrir confirmarás con Face ID o Touch ID—sigues con sesión iniciada.",
|
|
505
|
+
"message_android_face": "Al abrir verificarás con reconocimiento facial—sigues con sesión iniciada.",
|
|
506
|
+
"message_android_fingerprint": "Al abrir verificarás con huella digital—sigues con sesión iniciada.",
|
|
507
|
+
"title_android_face_and_fingerprint": "¿Activar bloqueo con huella o rostro?",
|
|
508
|
+
"message_android_face_and_fingerprint": "Puedes usar cualquiera de los dos—sigues dentro.",
|
|
509
|
+
"message_android_mixed": "Una confirmación rápida al abrir—sigues con la sesión.",
|
|
510
|
+
"not_now": "Ahora no",
|
|
511
|
+
"enable": "Activar"
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
|