This commit is contained in:
azizziy
2025-08-26 18:18:43 +05:00
26 changed files with 170 additions and 165 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -10,7 +10,7 @@ import {
TouchableOpacity, TouchableOpacity,
View, View,
} from 'react-native'; } from 'react-native';
import Fontisto from 'react-native-vector-icons/Fontisto'; import Telegram from 'screens/../../assets/bootsplash/Telegram.png';
import Local from 'screens/../../assets/bootsplash/local.png'; import Local from 'screens/../../assets/bootsplash/local.png';
import Clock from 'svg/Clock'; import Clock from 'svg/Clock';
import CloseIcon from 'svg/Close'; import CloseIcon from 'svg/Close';
@@ -84,7 +84,7 @@ const BottomModal: React.FC<BottomModalProps> = ({
</View> </View>
<View style={styles.card}> <View style={styles.card}>
<View style={styles.row}> <View style={styles.row}>
<Fontisto name="telegram" color="#28A7E8" size={26} /> <Image source={Telegram} style={{ width: 26, height: 26 }} />
<View style={styles.cardText}> <View style={styles.cardText}>
<Text style={styles.label}>{t('Telegram admin')}</Text> <Text style={styles.label}>{t('Telegram admin')}</Text>
<Text style={styles.value}>{branch?.telegramAdmin}</Text> <Text style={styles.value}>{branch?.telegramAdmin}</Text>
@@ -93,7 +93,7 @@ const BottomModal: React.FC<BottomModalProps> = ({
</View> </View>
<View style={styles.card}> <View style={styles.card}>
<View style={styles.row}> <View style={styles.row}>
<Fontisto name="telegram" color="#28A7E8" size={26} /> <Image source={Telegram} style={{ width: 26, height: 26 }} />
<View style={styles.cardText}> <View style={styles.cardText}>
<Text style={styles.label}>{t('Telegram kanal')}</Text> <Text style={styles.label}>{t('Telegram kanal')}</Text>
<Text style={styles.value}>{branch?.telegramChannel}</Text> <Text style={styles.value}>{branch?.telegramChannel}</Text>

View File

@@ -13,7 +13,7 @@ import {
launchImageLibrary, launchImageLibrary,
MediaType, MediaType,
} from 'react-native-image-picker'; } from 'react-native-image-picker';
import Feather from 'react-native-vector-icons/Feather'; import Download from 'svg/Download';
interface FileData { interface FileData {
uri: string; uri: string;
@@ -83,7 +83,7 @@ const SingleFileDrop: React.FC<SingleFileDropProps> = ({
( (
<View style={styles.iconContainer}> <View style={styles.iconContainer}>
<View style={styles.downloadIcon}> <View style={styles.downloadIcon}>
<Feather name="download" color="#28A7E8" size={35} /> <Download fill="#28A7E8" width={50} height={50} />
</View> </View>
</View> </View>
), ),

View File

@@ -12,9 +12,10 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import AppLink from 'react-native-app-link'; import AppLink from 'react-native-app-link';
import Fontisto from 'react-native-vector-icons/Fontisto';
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
import Logo from 'screens/../../assets/bootsplash/logo.png'; import Logo from 'screens/../../assets/bootsplash/logo.png';
import Bell from 'svg/Bell';
import Instagram from 'svg/Instagram';
import Telegram from 'svg/Telegram';
import InAppBrowser from './InAppBrowser'; import InAppBrowser from './InAppBrowser';
const { width } = Dimensions.get('window'); const { width } = Dimensions.get('window');
@@ -89,15 +90,11 @@ const Navbar = () => {
<View style={styles.links}> <View style={styles.links}>
<TouchableOpacity onPress={openTelegram}> <TouchableOpacity onPress={openTelegram}>
<Fontisto name="telegram" color="#fff" size={iconSizes.telegram} /> <Telegram color="#fff" width={24} height={24} />
</TouchableOpacity> </TouchableOpacity>
<TouchableOpacity onPress={openInstagram}> <TouchableOpacity onPress={openInstagram}>
<Fontisto <Instagram color="#fff" width={24} height={24} />
name="instagram"
color="#fff"
size={iconSizes.instagram}
/>
</TouchableOpacity> </TouchableOpacity>
{/* <TouchableOpacity onPress={openFacebook}> {/* <TouchableOpacity onPress={openFacebook}>
@@ -112,11 +109,7 @@ const Navbar = () => {
<TouchableOpacity <TouchableOpacity
onPress={() => navigation.navigate('Notifications')} onPress={() => navigation.navigate('Notifications')}
> >
<MaterialCommunityIcons <Bell color="#fff" width={24} height={24} />
name="bell-outline"
color="#fff"
size={iconSizes.bell}
/>
{/* <View style={styles.bellDot} /> */} {/* <View style={styles.bellDot} /> */}
</TouchableOpacity> </TouchableOpacity>
)} )}

View File

@@ -8,7 +8,7 @@ import {
useWindowDimensions, useWindowDimensions,
View, View,
} from 'react-native'; } from 'react-native';
import ProgressBar from 'screens/../../assets/lottie/non data found.json'; import ProgressBar from 'screens/../../assets/lottie/Empty box.json';
interface Props { interface Props {
message?: string; message?: string;
@@ -56,7 +56,7 @@ const NoResult: React.FC<Props> = ({
loop loop
autoPlay={true} autoPlay={true}
resizeMode="cover" resizeMode="cover"
style={{ width: 150 * scale, height: 150 * scale }} style={{ width: 250 * scale, height: 250 * scale }}
/> />
<Text>{t(message)}</Text> <Text>{t(message)}</Text>
</View> </View>

View File

@@ -18,10 +18,10 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context'; import { SafeAreaView } from 'react-native-safe-area-context';
import SimpleLineIcons from 'react-native-vector-icons/SimpleLineIcons';
import Logo from 'screens/../../assets/bootsplash/logo_512.png'; import Logo from 'screens/../../assets/bootsplash/logo_512.png';
import { useModalStore } from 'screens/auth/registeration/lib/modalStore'; import { useModalStore } from 'screens/auth/registeration/lib/modalStore';
import LanguageSelector from 'screens/auth/select-language/SelectLang'; import LanguageSelector from 'screens/auth/select-language/SelectLang';
import ArrowLeft from 'svg/ArrowLeft';
import { RootStackParamList } from 'types/types'; import { RootStackParamList } from 'types/types';
import { useUserStore } from '../lib/userstore'; import { useUserStore } from '../lib/userstore';
import { Loginstyle } from './styled'; import { Loginstyle } from './styled';
@@ -135,7 +135,7 @@ const Confirm = () => {
<SafeAreaView style={{ flex: 1 }}> <SafeAreaView style={{ flex: 1 }}>
<View style={styles.langContainer}> <View style={styles.langContainer}>
<TouchableOpacity onPress={() => navigation.navigate('Login')}> <TouchableOpacity onPress={() => navigation.navigate('Login')}>
<SimpleLineIcons name="arrow-left" color="#000" size={20} /> <ArrowLeft color={'#000'} />
</TouchableOpacity> </TouchableOpacity>
<LanguageSelector /> <LanguageSelector />
</View> </View>

View File

@@ -21,10 +21,12 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context'; import { SafeAreaView } from 'react-native-safe-area-context';
import SimpleLineIcons from 'react-native-vector-icons/SimpleLineIcons';
import Logo from 'screens/../../assets/bootsplash/logo_512.png'; import Logo from 'screens/../../assets/bootsplash/logo_512.png';
import { LoginFormType, loginSchema } from 'screens/auth/login/lib/form'; import { LoginFormType, loginSchema } from 'screens/auth/login/lib/form';
import LanguageSelector from 'screens/auth/select-language/SelectLang'; import LanguageSelector from 'screens/auth/select-language/SelectLang';
import ArrowDown from 'svg/ArrowDown';
import ArrowLeft from 'svg/ArrowLeft';
import ArrowUp from 'svg/ArrowUp';
import { useUserStore } from '../lib/userstore'; import { useUserStore } from '../lib/userstore';
import { Loginstyle } from './styled'; import { Loginstyle } from './styled';
@@ -120,7 +122,7 @@ const Login = () => {
<SafeAreaView style={{ flex: 1 }}> <SafeAreaView style={{ flex: 1 }}>
<View style={Loginstyle.langContainer}> <View style={Loginstyle.langContainer}>
<TouchableOpacity onPress={handleBackNavigation}> <TouchableOpacity onPress={handleBackNavigation}>
<SimpleLineIcons name="arrow-left" color="#000" size={20} /> <ArrowLeft color={'#000'} />
</TouchableOpacity> </TouchableOpacity>
<LanguageSelector /> <LanguageSelector />
</View> </View>
@@ -236,13 +238,11 @@ const Login = () => {
{branchList?.find(e => e.id === value)?.name || {branchList?.find(e => e.id === value)?.name ||
t('Filialni tanlang...')} t('Filialni tanlang...')}
</Text> </Text>
<SimpleLineIcons {filialDropdownVisible ? (
name={ <ArrowUp color={'#000'} />
filialDropdownVisible ? 'arrow-up' : 'arrow-down' ) : (
} <ArrowDown color={'#000'} />
color="#000" )}
size={14}
/>
</TouchableOpacity> </TouchableOpacity>
</View> </View>
{filialDropdownVisible && ( {filialDropdownVisible && (

View File

@@ -18,10 +18,10 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context'; import { SafeAreaView } from 'react-native-safe-area-context';
import SimpleLineIcons from 'react-native-vector-icons/SimpleLineIcons';
import Logo from 'screens/../../assets/bootsplash/logo_512.png'; import Logo from 'screens/../../assets/bootsplash/logo_512.png';
import { useModalStore } from 'screens/auth/registeration/lib/modalStore'; import { useModalStore } from 'screens/auth/registeration/lib/modalStore';
import LanguageSelector from 'screens/auth/select-language/SelectLang'; import LanguageSelector from 'screens/auth/select-language/SelectLang';
import ArrowLeft from 'svg/ArrowLeft';
import { RootStackParamList } from 'types/types'; import { RootStackParamList } from 'types/types';
import { useUserStore } from '../lib/userstore'; import { useUserStore } from '../lib/userstore';
import { RegisterStyle } from './styled'; import { RegisterStyle } from './styled';
@@ -138,7 +138,7 @@ const Confirm = ({
<SafeAreaView style={{ flex: 1 }}> <SafeAreaView style={{ flex: 1 }}>
<View style={styles.langContainer}> <View style={styles.langContainer}>
<TouchableOpacity onPress={() => setStep(1)}> <TouchableOpacity onPress={() => setStep(1)}>
<SimpleLineIcons name="arrow-left" color="#000" size={20} /> <ArrowLeft color={'#000'} />
</TouchableOpacity> </TouchableOpacity>
<LanguageSelector /> <LanguageSelector />
</View> </View>

View File

@@ -28,14 +28,16 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context'; import { SafeAreaView } from 'react-native-safe-area-context';
import AntDesign from 'react-native-vector-icons/AntDesign';
import SimpleLineIcons from 'react-native-vector-icons/SimpleLineIcons';
import Logo from 'screens/../../assets/bootsplash/logo_512.png'; import Logo from 'screens/../../assets/bootsplash/logo_512.png';
import { import {
FirstStepFormType, FirstStepFormType,
FirstStepSchema, FirstStepSchema,
} from 'screens/auth/registeration/lib/form'; } from 'screens/auth/registeration/lib/form';
import LanguageSelector from 'screens/auth/select-language/SelectLang'; import LanguageSelector from 'screens/auth/select-language/SelectLang';
import ArrowDown from 'svg/ArrowDown';
import ArrowLeft from 'svg/ArrowLeft';
import ArrowUp from 'svg/ArrowUp';
import Check from 'svg/Check';
import { RootStackParamList } from 'types/types'; import { RootStackParamList } from 'types/types';
import { useUserStore } from '../lib/userstore'; import { useUserStore } from '../lib/userstore';
import { RegisterStyle } from './styled'; import { RegisterStyle } from './styled';
@@ -156,7 +158,7 @@ const FirstStep = ({ onNext }: { onNext: () => void }) => {
<SafeAreaView style={{ flex: 1 }}> <SafeAreaView style={{ flex: 1 }}>
<View style={RegisterStyle.langContainer}> <View style={RegisterStyle.langContainer}>
<TouchableOpacity onPress={() => navigation.navigate('select-auth')}> <TouchableOpacity onPress={() => navigation.navigate('select-auth')}>
<SimpleLineIcons name="arrow-left" color="#000" size={20} /> <ArrowLeft color="#000" />
</TouchableOpacity> </TouchableOpacity>
<LanguageSelector /> <LanguageSelector />
</View> </View>
@@ -274,13 +276,11 @@ const FirstStep = ({ onNext }: { onNext: () => void }) => {
{branchList?.find(e => e.id === value)?.name || {branchList?.find(e => e.id === value)?.name ||
t('Filialni tanlang...')} t('Filialni tanlang...')}
</Text> </Text>
<SimpleLineIcons {filialDropdownVisible ? (
name={ <ArrowUp color={'#000'} />
filialDropdownVisible ? 'arrow-up' : 'arrow-down' ) : (
} <ArrowDown color={'#000'} />
color="#000" )}
size={14}
/>
</TouchableOpacity> </TouchableOpacity>
</View> </View>
{filialDropdownVisible && ( {filialDropdownVisible && (
@@ -341,15 +341,11 @@ const FirstStep = ({ onNext }: { onNext: () => void }) => {
'Bizni kim tavsiya qildi...', 'Bizni kim tavsiya qildi...',
)} )}
</Text> </Text>
<SimpleLineIcons {recommendedDropdownVisible ? (
name={ <ArrowUp color={'#000'} />
recommendedDropdownVisible ) : (
? 'arrow-up' <ArrowDown color={'#000'} />
: 'arrow-down' )}
}
color="#000"
size={14}
/>
</TouchableOpacity> </TouchableOpacity>
</View> </View>
{recommendedDropdownVisible && ( {recommendedDropdownVisible && (
@@ -420,7 +416,7 @@ const FirstStep = ({ onNext }: { onNext: () => void }) => {
], ],
}} }}
> >
<AntDesign name="check" color="#fff" size={20} /> <Check color="#fff" />
</Animated.View> </Animated.View>
)} )}
</Animated.View> </Animated.View>

View File

@@ -29,10 +29,10 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context'; import { SafeAreaView } from 'react-native-safe-area-context';
import AntDesign from 'react-native-vector-icons/AntDesign';
import SimpleLineIcons from 'react-native-vector-icons/SimpleLineIcons';
import Logo from 'screens/../../assets/bootsplash/logo_512.png'; import Logo from 'screens/../../assets/bootsplash/logo_512.png';
import LanguageSelector from 'screens/auth/select-language/SelectLang'; import LanguageSelector from 'screens/auth/select-language/SelectLang';
import ArrowLeft from 'svg/ArrowLeft';
import Calendar from 'svg/Calendar';
import { RootStackParamList } from 'types/types'; import { RootStackParamList } from 'types/types';
import { SecondStepFormType, SecondStepSchema } from '../lib/form'; import { SecondStepFormType, SecondStepSchema } from '../lib/form';
import { RegisterStyle } from './styled'; import { RegisterStyle } from './styled';
@@ -137,7 +137,7 @@ const SecondStep = () => {
<SafeAreaView style={{ flex: 1 }}> <SafeAreaView style={{ flex: 1 }}>
<View style={RegisterStyle.langContainer}> <View style={RegisterStyle.langContainer}>
<TouchableOpacity onPress={() => navigation.goBack()}> <TouchableOpacity onPress={() => navigation.goBack()}>
<SimpleLineIcons name="arrow-left" color="#000" size={20} /> <ArrowLeft color="#000" />
</TouchableOpacity> </TouchableOpacity>
<LanguageSelector /> <LanguageSelector />
</View> </View>
@@ -327,11 +327,7 @@ const SecondStep = () => {
onPress={() => setDatePickerVisibility(true)} onPress={() => setDatePickerVisibility(true)}
style={{ right: 15 }} style={{ right: 15 }}
> >
<AntDesign <Calendar color="#D8DADC" width={24} height={24} />
name="calendar"
color="#D8DADC"
size={25}
/>
</TouchableOpacity> </TouchableOpacity>
</View> </View>

View File

@@ -10,7 +10,7 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context'; import { SafeAreaView } from 'react-native-safe-area-context';
import SimpleLineIcons from 'react-native-vector-icons/SimpleLineIcons'; import ArrowLeft from 'svg/ArrowLeft';
import { RootStackParamList } from 'types/types'; import { RootStackParamList } from 'types/types';
type TermsScreenNavigationProp = NativeStackNavigationProp< type TermsScreenNavigationProp = NativeStackNavigationProp<
@@ -30,7 +30,7 @@ const TermsAndConditions = () => {
<SafeAreaView style={styles.container}> <SafeAreaView style={styles.container}>
<View style={styles.header}> <View style={styles.header}>
<TouchableOpacity onPress={() => navigation.goBack()}> <TouchableOpacity onPress={() => navigation.goBack()}>
<SimpleLineIcons name="arrow-left" color="#000" size={20} /> <ArrowLeft color="#000" />
</TouchableOpacity> </TouchableOpacity>
<Text style={styles.headerTitle}>{t('Foydalanish shartlari')}</Text> <Text style={styles.headerTitle}>{t('Foydalanish shartlari')}</Text>
<View style={{ width: 20 }} /> <View style={{ width: 20 }} />

View File

@@ -1,9 +1,10 @@
import React, { useState } from 'react'; import React, { useState } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
import Icon from 'react-native-vector-icons/Feather';
import RU from 'screens/../../assets/bootsplash/RU.png'; import RU from 'screens/../../assets/bootsplash/RU.png';
import UZ from 'screens/../../assets/bootsplash/UZ.png'; import UZ from 'screens/../../assets/bootsplash/UZ.png';
import ArrowDown from 'svg/ArrowDown';
import ArrowUp from 'svg/ArrowUp';
import { changeLanguage } from 'utils/changeLanguage'; import { changeLanguage } from 'utils/changeLanguage';
const languages = [ const languages = [
@@ -43,11 +44,11 @@ const LanguageSelector = () => {
/> />
<Text style={styles.selectedText}>{selectedLang?.label}</Text> <Text style={styles.selectedText}>{selectedLang?.label}</Text>
</View> </View>
<Icon {dropdownVisible ? (
name={dropdownVisible ? 'chevron-up' : 'chevron-down'} <ArrowUp color={'#555'} width={20} height={20} />
size={20} ) : (
color="#555" <ArrowDown color={'#555'} width={20} height={20} />
/> )}
</TouchableOpacity> </TouchableOpacity>
{dropdownVisible && ( {dropdownVisible && (

View File

@@ -4,7 +4,6 @@ import { authApi } from 'api/auth';
import React from 'react'; import React from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { import {
Alert,
FlatList, FlatList,
StyleSheet, StyleSheet,
Text, Text,
@@ -13,7 +12,6 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import Toast from 'react-native-toast-message'; import Toast from 'react-native-toast-message';
import AntDesign from 'react-native-vector-icons/AntDesign';
import Copy from 'svg/Copy'; import Copy from 'svg/Copy';
import Kitay from 'svg/Ki'; import Kitay from 'svg/Ki';
@@ -27,7 +25,6 @@ const TabsAuto = () => {
queryKey: ['getMe'], queryKey: ['getMe'],
queryFn: authApi.getMe, queryFn: authApi.getMe,
}); });
console.log(getMe);
const addressList = [ const addressList = [
{ {
@@ -35,9 +32,9 @@ const TabsAuto = () => {
title: 'China (Auto)', title: 'China (Auto)',
postCode: '510440', postCode: '510440',
addressInfo: [ addressInfo: [
`货人: ${getMe?.aviaCargoId}`, `件人吴彦祖AT(${getMe?.autoCargoId})`,
'手机号码: 18335530701', '地址广州市白云区龙归街道南村攀龙六巷30号AТ(N209)',
'北京市顺义区南法信旭辉空港中心C座', ' 电话: 18023847617',
`1004 ${getMe?.aviaCargoId}`, `1004 ${getMe?.aviaCargoId}`,
], ],
}, },
@@ -98,9 +95,9 @@ const TabsAuto = () => {
<Text style={styles.title}>{item.title}</Text> <Text style={styles.title}>{item.title}</Text>
</View> </View>
<View style={styles.infoId}> <View style={styles.infoId}>
<View style={{ gap: 4 * scale }}> <View style={{ gap: 4 * scale, width: '90%' }}>
{item.addressInfo.map((line, idx) => ( {item.addressInfo.map((line, idx) => (
<Text key={idx} style={styles.infoText}> <Text key={idx} style={[styles.infoText]}>
{line} {line}
</Text> </Text>
))} ))}
@@ -112,20 +109,6 @@ const TabsAuto = () => {
<View style={styles.postCodeWrapper}> <View style={styles.postCodeWrapper}>
<Text style={styles.postCodeText}>{t('Auto post kodi')}: </Text> <Text style={styles.postCodeText}>{t('Auto post kodi')}: </Text>
<Text style={styles.postCode}>{item.postCode}</Text> <Text style={styles.postCode}>{item.postCode}</Text>
<TouchableOpacity
onPress={() => {
Clipboard.setString(item.postCode);
Alert.alert(t('Nusxa olindi'), t('Pochta kodi nusxalandi!'));
}}
style={{ marginLeft: 4 * scale }}
>
<AntDesign
name="pushpin"
color="red"
size={16 * scale}
style={{ transform: [{ rotateY: '180deg' }] }}
/>
</TouchableOpacity>
</View> </View>
</View> </View>
); );
@@ -141,12 +124,12 @@ const makeStyles = (scale: number, cardWidth: number, screenWidth: number) =>
paddingHorizontal: (screenWidth - cardWidth) / 2, paddingHorizontal: (screenWidth - cardWidth) / 2,
}, },
card: { card: {
height: 220 * scale, height: '100%',
width: cardWidth, width: cardWidth,
backgroundColor: '#28a8e82c', backgroundColor: '#28a8e82c',
borderRadius: 12 * scale, borderRadius: 12 * scale,
padding: 15 * scale, padding: 15 * scale,
gap: 10 * scale, gap: 5 * scale,
}, },
titleCard: { titleCard: {
flexDirection: 'row', flexDirection: 'row',

View File

@@ -4,7 +4,6 @@ import { authApi } from 'api/auth';
import React from 'react'; import React from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { import {
Alert,
FlatList, FlatList,
StyleSheet, StyleSheet,
Text, Text,
@@ -13,7 +12,6 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import Toast from 'react-native-toast-message'; import Toast from 'react-native-toast-message';
import AntDesign from 'react-native-vector-icons/AntDesign';
import Copy from 'svg/Copy'; import Copy from 'svg/Copy';
import Kitay from 'svg/Ki'; import Kitay from 'svg/Ki';
@@ -27,7 +25,7 @@ const TabsAvia = () => {
{ {
id: 1, id: 1,
title: 'China (Avia)', title: 'China (Avia)',
postCode: '510440', postCode: ' 101399',
addressInfo: [ addressInfo: [
`收货人: ${getMe?.aviaCargoId}`, `收货人: ${getMe?.aviaCargoId}`,
'手机号码: 18335530701', '手机号码: 18335530701',
@@ -112,20 +110,6 @@ const TabsAvia = () => {
<View style={styles.postCodeWrapper}> <View style={styles.postCodeWrapper}>
<Text style={styles.postCodeText}>{t('Avia post kodi')}: </Text> <Text style={styles.postCodeText}>{t('Avia post kodi')}: </Text>
<Text style={styles.postCode}>{item.postCode}</Text> <Text style={styles.postCode}>{item.postCode}</Text>
<TouchableOpacity
onPress={() => {
Clipboard.setString(item.postCode);
Alert.alert(t('Nusxa olindi'), t('Pochta kodi nusxalandi!'));
}}
style={{ marginLeft: 4 * scale }}
>
<AntDesign
name="pushpin"
color="red"
size={16 * scale}
style={{ transform: [{ rotateY: '180deg' }] }}
/>
</TouchableOpacity>
</View> </View>
</View> </View>
); );

View File

@@ -20,7 +20,7 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context'; import { SafeAreaView } from 'react-native-safe-area-context';
import AntDesign from 'react-native-vector-icons/AntDesign'; import Calendar from 'svg/Calendar';
import { PassportStyle } from '../../myPassport/ui/styled'; import { PassportStyle } from '../../myPassport/ui/styled';
import { CreatePassSchema, CreatePassSchemaType } from '../lib/form'; import { CreatePassSchema, CreatePassSchemaType } from '../lib/form';
import CreateModal from './CreateModal'; import CreateModal from './CreateModal';
@@ -313,11 +313,7 @@ const CreatePassword = () => {
<TouchableOpacity <TouchableOpacity
onPress={() => setDatePickerVisibility(true)} onPress={() => setDatePickerVisibility(true)}
> >
<AntDesign <Calendar color="#D8DADC" width={25} height={25} />
name="calendar"
color="#D8DADC"
size={25}
/>
</TouchableOpacity> </TouchableOpacity>
</View> </View>

View File

@@ -14,9 +14,10 @@ import {
import ImagePicker from 'react-native-image-crop-picker'; import ImagePicker from 'react-native-image-crop-picker';
import Modal from 'react-native-modal'; import Modal from 'react-native-modal';
import SendIntentAndroid from 'react-native-send-intent'; import SendIntentAndroid from 'react-native-send-intent';
import Fontisto from 'react-native-vector-icons/Fontisto';
import GalleryEdit from 'svg/GalleryEdit'; import GalleryEdit from 'svg/GalleryEdit';
import Instagram from 'svg/Instagram';
import Plus from 'svg/Plus'; import Plus from 'svg/Plus';
import Telegram from 'svg/Telegram';
import Trash from 'svg/Trash'; import Trash from 'svg/Trash';
const { width } = Dimensions.get('window'); const { width } = Dimensions.get('window');
@@ -200,19 +201,11 @@ const ProfileHeader = ({ userName = 'Samandar' }: { userName?: string }) => {
<View style={styles.links}> <View style={styles.links}>
<TouchableOpacity onPress={openTelegram}> <TouchableOpacity onPress={openTelegram}>
<Fontisto <Telegram color="#28A7E8" width={24} height={24} />
name="telegram"
color="#28A7E8"
size={isSmallScreen ? 20 : 24}
/>
</TouchableOpacity> </TouchableOpacity>
<TouchableOpacity onPress={openInstagram}> <TouchableOpacity onPress={openInstagram}>
<Fontisto <Instagram color="#28A7E8" width={24} height={24} />
name="instagram"
color="#28A7E8"
size={isSmallScreen ? 18 : 22}
/>
</TouchableOpacity> </TouchableOpacity>
{/* <TouchableOpacity onPress={openFacebook}> {/* <TouchableOpacity onPress={openFacebook}>

View File

@@ -4,7 +4,6 @@ import { authApi } from 'api/auth';
import React from 'react'; import React from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { import {
Alert,
FlatList, FlatList,
StyleSheet, StyleSheet,
Text, Text,
@@ -13,7 +12,6 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import Toast from 'react-native-toast-message'; import Toast from 'react-native-toast-message';
import AntDesign from 'react-native-vector-icons/AntDesign';
import Copy from 'svg/Copy'; import Copy from 'svg/Copy';
import Kitay from 'svg/Ki'; import Kitay from 'svg/Ki';
@@ -35,9 +33,9 @@ const TabsAutoWarehouses = () => {
title: 'China (Auto)', title: 'China (Auto)',
postCode: '510440', postCode: '510440',
addressInfo: [ addressInfo: [
`货人: ${getMe?.aviaCargoId}`, `件人吴彦祖AT(${getMe?.autoCargoId})`,
'手机号码: 18335530701', '地址广州市白云区龙归街道南村攀龙六巷30号AТ(N209)',
'北京市顺义区南法信旭辉空港中心C座', ' 电话: 18023847617',
`1004 ${getMe?.aviaCargoId}`, `1004 ${getMe?.aviaCargoId}`,
], ],
}, },
@@ -94,7 +92,7 @@ const TabsAutoWarehouses = () => {
<Text style={styles.title}>{item.title}</Text> <Text style={styles.title}>{item.title}</Text>
</View> </View>
<View style={styles.infoId}> <View style={styles.infoId}>
<View style={{ gap: 4 * scale }}> <View style={{ gap: 4 * scale, width: '90%' }}>
{item.addressInfo.map((line, idx) => ( {item.addressInfo.map((line, idx) => (
<Text key={idx} style={styles.infoText}> <Text key={idx} style={styles.infoText}>
{line} {line}
@@ -108,20 +106,6 @@ const TabsAutoWarehouses = () => {
<View style={styles.postCodeWrapper}> <View style={styles.postCodeWrapper}>
<Text style={styles.postCodeText}>{t('Auto post kodi')}: </Text> <Text style={styles.postCodeText}>{t('Auto post kodi')}: </Text>
<Text style={styles.postCode}>{item.postCode}</Text> <Text style={styles.postCode}>{item.postCode}</Text>
<TouchableOpacity
onPress={() => {
Clipboard.setString(item.postCode);
Alert.alert(t('Nusxa olindi'), t('Pochta kodi nusxalandi!'));
}}
style={{ marginLeft: 4 * scale }}
>
<AntDesign
name="pushpin"
color="red"
size={16 * scale}
style={{ transform: [{ rotateY: '180deg' }] }}
/>
</TouchableOpacity>
</View> </View>
</View> </View>
); );
@@ -133,7 +117,7 @@ const TabsAutoWarehouses = () => {
const makeStyles = (scale: number, cardWidth: number, screenWidth: number) => const makeStyles = (scale: number, cardWidth: number, screenWidth: number) =>
StyleSheet.create({ StyleSheet.create({
card: { card: {
height: 220 * scale, height: '100%',
width: cardWidth, width: cardWidth,
backgroundColor: '#28a8e82c', backgroundColor: '#28a8e82c',
borderRadius: 12 * scale, borderRadius: 12 * scale,

View File

@@ -4,7 +4,6 @@ import { authApi } from 'api/auth';
import React from 'react'; import React from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { import {
Alert,
FlatList, FlatList,
StyleSheet, StyleSheet,
Text, Text,
@@ -13,7 +12,6 @@ import {
View, View,
} from 'react-native'; } from 'react-native';
import Toast from 'react-native-toast-message'; import Toast from 'react-native-toast-message';
import AntDesign from 'react-native-vector-icons/AntDesign';
import Copy from 'svg/Copy'; import Copy from 'svg/Copy';
import Kitay from 'svg/Ki'; import Kitay from 'svg/Ki';
@@ -27,7 +25,7 @@ const TabsAviaWarehouses = () => {
{ {
id: 1, id: 1,
title: 'China (Avia)', title: 'China (Avia)',
postCode: '510440', postCode: ' 101399',
addressInfo: [ addressInfo: [
`收货人: ${getMe?.aviaCargoId}`, `收货人: ${getMe?.aviaCargoId}`,
'手机号码: 18335530701', '手机号码: 18335530701',
@@ -108,20 +106,6 @@ const TabsAviaWarehouses = () => {
<View style={styles.postCodeWrapper}> <View style={styles.postCodeWrapper}>
<Text style={styles.postCodeText}>{t('Avia post kodi')}: </Text> <Text style={styles.postCodeText}>{t('Avia post kodi')}: </Text>
<Text style={styles.postCode}>{item.postCode}</Text> <Text style={styles.postCode}>{item.postCode}</Text>
<TouchableOpacity
onPress={() => {
Clipboard.setString(item.postCode);
Alert.alert(t('Nusxa olindi'), t('Pochta kodi nusxalandi!'));
}}
style={{ marginLeft: 4 * scale }}
>
<AntDesign
name="pushpin"
color="red"
size={16 * scale}
style={{ transform: [{ rotateY: '180deg' }] }}
/>
</TouchableOpacity>
</View> </View>
</View> </View>
); );

16
src/svg/ArrowUp.tsx Normal file
View File

@@ -0,0 +1,16 @@
import * as React from 'react';
import Svg, { Path, SvgProps } from 'react-native-svg';
const ArrowUp = ({
width = 24,
height = 24,
color = '#2BA6E5',
...props
}: SvgProps) => (
<Svg width={width} height={height} fill="none" viewBox="0 0 24 24" {...props}>
<Path
fill="#212121"
d="M19.53 16.03a.75.75 0 0 1-.976.073l-.084-.073L12 9.561l-6.47 6.47a.75.75 0 0 1-.976.072l-.084-.073a.75.75 0 0 1-.073-.976l.073-.084 7-7a.75.75 0 0 1 .976-.073l.084.073 7 7a.75.75 0 0 1 0 1.06Z"
/>
</Svg>
);
export default ArrowUp;

28
src/svg/Calendar.tsx Normal file
View File

@@ -0,0 +1,28 @@
import * as React from 'react';
import Svg, { Path } from 'react-native-svg';
interface Props {
color?: string;
width?: number;
height?: number;
}
const Calendar = ({ color, height = 24, width = 24 }: Props) => (
<Svg width={width} height={height} fill="none" viewBox="0 0 24 24">
<Path
stroke={color}
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={1.5}
d="M16.442 17.196h.01M12.005 17.196h.009M7.558 17.196h.01M16.442 13.31h.01M12.005 13.31h.009M7.558 13.31h.01M3.093 9.404h17.824M16.044 2v3.29M7.966 2v3.29"
/>
<Path
stroke={color}
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={1.5}
d="M16.238 3.58H7.771C4.834 3.58 3 5.214 3 8.221v9.05C3 20.326 4.834 22 7.771 22h8.458C19.175 22 21 20.355 21 17.347V8.222c.01-3.007-1.816-4.643-4.762-4.643Z"
clipRule="evenodd"
/>
</Svg>
);
export default Calendar;

16
src/svg/Download.tsx Normal file
View File

@@ -0,0 +1,16 @@
import * as React from 'react';
import Svg, { Path } from 'react-native-svg';
interface Props {
width?: number;
height?: number;
fill?: string;
}
const Download = ({ fill = '#FF6363', height = 24, width = 24 }: Props) => (
<Svg width={width} height={height} fill="none" viewBox="0 0 24 24">
<Path
fill={fill}
d="M14.29 17.29 13 18.59V13a1 1 0 1 0-2 0v5.59l-1.29-1.3a1.004 1.004 0 0 0-1.42 1.42l3 3a1 1 0 0 0 .33.21.94.94 0 0 0 .76 0 .999.999 0 0 0 .33-.21l3-3a1.004 1.004 0 1 0-1.42-1.42Zm4.13-11.07A7 7 0 0 0 5.06 8.11 4 4 0 0 0 6 16a1 1 0 1 0 0-2 2 2 0 1 1 0-4 1 1 0 0 0 1-1 5 5 0 0 1 9.73-1.61 1 1 0 0 0 .78.67 3 3 0 0 1 .24 5.84 1.001 1.001 0 1 0 .5 1.94 5 5 0 0 0 .17-9.62Z"
/>
</Svg>
);
export default Download;

17
src/svg/Instagram.tsx Normal file
View File

@@ -0,0 +1,17 @@
import * as React from 'react';
import Svg, { Path } from 'react-native-svg';
interface Props {
color: string;
width?: number;
height?: number;
}
const Instagram = ({ color, height = 24, width = 24 }: Props) => (
<Svg width={width} height={height} fill="none" viewBox="0 0 24 24">
<Path
fill={color}
d="M17.34 5.46a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Zm4.6 2.42a7.588 7.588 0 0 0-.46-2.43 4.94 4.94 0 0 0-1.16-1.77 4.7 4.7 0 0 0-1.77-1.15 7.3 7.3 0 0 0-2.43-.47C15.06 2 14.72 2 12 2s-3.06 0-4.12.06a7.3 7.3 0 0 0-2.43.47 4.78 4.78 0 0 0-1.77 1.15 4.7 4.7 0 0 0-1.15 1.77 7.3 7.3 0 0 0-.47 2.43C2 8.94 2 9.28 2 12s0 3.06.06 4.12a7.3 7.3 0 0 0 .47 2.43 4.7 4.7 0 0 0 1.15 1.77 4.78 4.78 0 0 0 1.77 1.15 7.3 7.3 0 0 0 2.43.47C8.94 22 9.28 22 12 22s3.06 0 4.12-.06a7.3 7.3 0 0 0 2.43-.47 4.7 4.7 0 0 0 1.77-1.15 4.85 4.85 0 0 0 1.16-1.77c.285-.78.44-1.6.46-2.43 0-1.06.06-1.4.06-4.12s0-3.06-.06-4.12ZM20.14 16a5.61 5.61 0 0 1-.34 1.86 3.06 3.06 0 0 1-.75 1.15c-.324.33-.717.586-1.15.75a5.61 5.61 0 0 1-1.86.34c-1 .05-1.37.06-4 .06s-3 0-4-.06a5.73 5.73 0 0 1-1.94-.3 3.27 3.27 0 0 1-1.1-.75 3 3 0 0 1-.74-1.15 5.54 5.54 0 0 1-.4-1.9c0-1-.06-1.37-.06-4s0-3 .06-4a5.54 5.54 0 0 1 .35-1.9A3 3 0 0 1 5 5a3.14 3.14 0 0 1 1.1-.8A5.73 5.73 0 0 1 8 3.86c1 0 1.37-.06 4-.06s3 0 4 .06a5.61 5.61 0 0 1 1.86.34 3.06 3.06 0 0 1 1.19.8c.328.307.584.683.75 1.1.222.609.337 1.252.34 1.9.05 1 .06 1.37.06 4s-.01 3-.06 4ZM12 6.87A5.13 5.13 0 1 0 17.14 12 5.12 5.12 0 0 0 12 6.87Zm0 8.46a3.33 3.33 0 1 1 0-6.66 3.33 3.33 0 0 1 0 6.66Z"
/>
</Svg>
);
export default Instagram;

17
src/svg/Telegram.tsx Normal file
View File

@@ -0,0 +1,17 @@
import * as React from 'react';
import Svg, { Path } from 'react-native-svg';
interface Props {
color: string;
width?: number;
height?: number;
}
const Telegram = ({ color, height = 19, width = 20 }: Props) => (
<Svg width={width} height={height} fill="none" viewBox="0 0 24 24">
<Path
fill={color}
d="M11.994 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm3.18 15.152a.707.707 0 0 1-1.002.352l-2.715-2.11-1.742 1.608a.3.3 0 0 1-.285.039l.334-2.989.01.009.007-.059s4.885-4.448 5.084-4.637c.202-.189.135-.23.135-.23.012-.23-.361 0-.361 0l-6.473 4.164-2.695-.918s-.414-.149-.453-.475c-.041-.324.466-.5.466-.5l10.717-4.258s.881-.392.881.258l-1.908 9.747Z"
/>
</Svg>
);
export default Telegram;