diff --git a/screens/auth/register/RegisterForm.tsx b/screens/auth/register/RegisterForm.tsx
index db7167a..46fbb21 100644
--- a/screens/auth/register/RegisterForm.tsx
+++ b/screens/auth/register/RegisterForm.tsx
@@ -25,15 +25,16 @@ import React, { useCallback, useMemo, useRef, useState } from 'react';
import { useTranslation } from 'react-i18next';
import {
ActivityIndicator,
- KeyboardAvoidingView,
- Platform,
+ Keyboard,
ScrollView,
StyleSheet,
Text,
TextInput,
TouchableOpacity,
- View,
+ TouchableWithoutFeedback,
+ View
} from 'react-native';
+import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';
import { SafeAreaView } from 'react-native-safe-area-context';
import { auth_api } from '../login/lib/api';
import PhonePrefix from '../login/ui/PhonePrefix';
@@ -360,27 +361,27 @@ export default function RegisterFormScreen() {
};
return (
-
-
-
-
-
+
+
+
+
+
-
+
+
+
-
-
-
-
+
- {/* ---- Country BottomSheet ---- */}
-
-
- {t('Davlat')}
-
+ {/* ---- Country BottomSheet ---- */}
+
+
+ {t('Davlat')}
+
- {/* Search input */}
-
-
-
-
+ {/* Search input */}
+
+
+
+
- item.id?.toString()}
- contentContainerStyle={styles.listContainer}
- showsVerticalScrollIndicator={false}
- keyboardShouldPersistTaps="handled"
- ListEmptyComponent={
-
- {t('Natija topilmadi')}
-
- }
- renderItem={({ item }: { item: any }) => {
- const isSelected = item.flag?.toUpperCase() === selectedCountry;
- const flagCode = item.flag ? item.flag.toLowerCase() : '';
- return (
- {
- setSelectedCountry(item.flag?.toUpperCase());
- closeCountrySheet();
- }}
- activeOpacity={0.7}
- >
-
- {flagCode ? (
-
- ) : (
-
- )}
-
- {item.name}
-
-
- {isSelected && (
-
-
+ item.id?.toString()}
+ contentContainerStyle={styles.listContainer}
+ showsVerticalScrollIndicator={false}
+ keyboardShouldPersistTaps="handled"
+ ListEmptyComponent={
+
+ {t('Natija topilmadi')}
+
+ }
+ renderItem={({ item }: { item: any }) => {
+ const isSelected = item.flag?.toUpperCase() === selectedCountry;
+ const flagCode = item.flag ? item.flag.toLowerCase() : '';
+ return (
+ {
+ setSelectedCountry(item.flag?.toUpperCase());
+ closeCountrySheet();
+ }}
+ activeOpacity={0.7}
+ >
+
+ {flagCode ? (
+
+ ) : (
+
+ )}
+
+ {item.name}
+
- )}
-
- );
- }}
- />
-
-
-
+ {isSelected && (
+
+
+
+ )}
+
+ );
+ }}
+ />
+
+
+
+
);
}
diff --git a/screens/create-ads/ui/CreateAdsScreens.tsx b/screens/create-ads/ui/CreateAdsScreens.tsx
index 9162872..20637c2 100644
--- a/screens/create-ads/ui/CreateAdsScreens.tsx
+++ b/screens/create-ads/ui/CreateAdsScreens.tsx
@@ -1,5 +1,5 @@
import { useTheme } from '@/components/ThemeContext';
-import { BottomSheetBackdrop, BottomSheetModal, BottomSheetScrollView } from '@gorhom/bottom-sheet';
+import { BottomSheetBackdrop, BottomSheetModal, BottomSheetScrollView, TouchableWithoutFeedback } from '@gorhom/bottom-sheet';
import { useMutation, useQuery } from '@tanstack/react-query';
import { AxiosError } from 'axios';
import { router, useFocusEffect } from 'expo-router';
@@ -7,18 +7,19 @@ import React, { useCallback, useRef, useState } from 'react';
import {
Alert,
Image,
- KeyboardAvoidingView,
+ Keyboard,
Linking,
ScrollView,
StyleSheet,
Text,
TouchableOpacity,
- View,
+ View
} from 'react-native';
import OneClick from '@/assets/images/one_click.png';
import PAYME from '@/assets/images/Payme_NEW.png';
import { useTranslation } from 'react-i18next';
+import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';
import { price_calculation } from '../lib/api';
import { CreateAdsResponse } from '../lib/types';
import StepFour from './StepFour';
@@ -209,122 +210,127 @@ export default function CreateAdsScreens() {
};
return (
-
-
-
-
- {t("Bir Zumda Jonatish")}
-
-
- {currentStep === 1 && (
-
- )}
- {currentStep === 2 && (
-
- )}
- {currentStep === 3 && (
-
+
+
- )}
- {currentStep === 4 && }
-
- {currentStep > 1 && currentStep !== 4 && (
- setCurrentStep((s) => s - 1)}
- >
-
- {t('Orqaga')}
-
-
+
+ {t("Bir Zumda Jonatish")}
+
+
+ {currentStep === 1 && (
+
)}
-
- {
- let isValid = true;
-
- if (currentStep === 1) isValid = stepOneRef.current?.validate() ?? false;
- if (currentStep === 2) isValid = stepTwoRef.current?.validate() ?? false;
- if (currentStep === 3) isValid = stepThreeRef.current?.validate() ?? false;
-
- if (!isValid) return;
-
- if (currentStep < 3) setCurrentStep((s) => s + 1);
- if (currentStep === 3) handleSubmit();
- if (currentStep === 4) handlePresentModalPress();
- }}
- >
-
- {currentStep === 3
- ? t('Yaratish')
- : currentStep === 4
- ? t("To'lash")
- : t('Keyingisi')}
-
-
-
-
-
- {/* FOOTER */}
-
- {/* PAYMENT BOTTOM SHEET */}
-
-
-
-
- {t("To'lov turini tanlang")}
-
+ {currentStep === 2 && (
+
+ )}
+ {currentStep === 3 && (
+
+ )}
+ {currentStep === 4 && }
+
+ {currentStep > 1 && currentStep !== 4 && (
+ setCurrentStep((s) => s - 1)}
+ >
+
+ {t('Orqaga')}
+
+
+ )}
sendPayment('payme')}
- >
-
-
+ style={styles.next}
+ disabled={isPending}
+ onPress={() => {
+ let isValid = true;
- sendPayment('referral')}
+ if (currentStep === 1) isValid = stepOneRef.current?.validate() ?? false;
+ if (currentStep === 2) isValid = stepTwoRef.current?.validate() ?? false;
+ if (currentStep === 3) isValid = stepThreeRef.current?.validate() ?? false;
+
+ if (!isValid) return;
+
+ if (currentStep < 3) setCurrentStep((s) => s + 1);
+ if (currentStep === 3) handleSubmit();
+ if (currentStep === 4) handlePresentModalPress();
+ }}
>
-
- {t('Referal orqali')}
+
+ {currentStep === 3
+ ? t('Yaratish')
+ : currentStep === 4
+ ? t("To'lash")
+ : t('Keyingisi')}
-
-
-
+
+
+ {/* FOOTER */}
+
+ {/* PAYMENT BOTTOM SHEET */}
+
+
+
+
+ {t("To'lov turini tanlang")}
+
+
+ sendPayment('payme')}
+ >
+
+
+
+ sendPayment('referral')}
+ >
+
+ {t('Referal orqali')}
+
+
+
+
+
+
+
);
}