fix(app): review fixes — billing-unknown pre-check, free-user top-ups, pro out-of-credits copy

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Timo Knuth
2026-07-06 13:19:15 +02:00
parent 4ddf16ed20
commit 88b12aeb00
3 changed files with 49 additions and 41 deletions

View File

@@ -161,8 +161,6 @@ const getBillingCopy = (language: Language) => {
topupMedium: '100 Credits 6,99 €',
topupLarge: '250 Credits 12,99 €',
topupBestValue: 'BESTES ANGEBOT',
topupRequiresProTitle: 'Pro erforderlich',
topupRequiresProMessage: 'Top-ups sind für aktive Pro-Nutzer gedacht. Starte Pro, um zusätzliche Credits zu kaufen.',
cancelTitle: 'Schade, dass du gehst',
cancelQuestion: 'Dürfen wir fragen, warum du kündigst?',
reasonTooExpensive: 'Es ist mir zu teuer',
@@ -237,8 +235,6 @@ const getBillingCopy = (language: Language) => {
topupMedium: '100 Créditos 6,99 €',
topupLarge: '250 Créditos 12,99 €',
topupBestValue: 'MEJOR OFERTA',
topupRequiresProTitle: 'Pro requerido',
topupRequiresProMessage: 'Los top-ups son para usuarios Pro activos. Inicia Pro para comprar créditos adicionales.',
cancelTitle: 'Lamentamos verte ir',
cancelQuestion: '¿Podemos saber por qué cancelas?',
reasonTooExpensive: 'Es muy caro',
@@ -313,8 +309,6 @@ const getBillingCopy = (language: Language) => {
topupMedium: '100 Credits €6.99',
topupLarge: '250 Credits €12.99',
topupBestValue: 'BEST VALUE',
topupRequiresProTitle: 'Pro required',
topupRequiresProMessage: 'Top-ups are for active Pro users. Start Pro to buy extra credits.',
cancelTitle: 'Sorry to see you go',
cancelQuestion: 'May we ask why you are cancelling?',
reasonTooExpensive: 'It is too expensive',
@@ -487,10 +481,9 @@ export default function BillingScreen() {
};
const handlePurchase = async (productId: PurchaseProductId) => {
if (isTopupProductId(productId) && planId !== 'pro') {
Alert.alert(copy.topupRequiresProTitle, copy.topupRequiresProMessage, [
{ text: copy.manageSubscription, onPress: () => setSubModalVisible(true) },
]);
// Guests can't sync purchases to an account; signed-in free users may
// buy top-ups (the server counts topupBalance for free plans too).
if (isTopupProductId(productId) && !session) {
return;
}