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,
View,
} 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 Clock from 'svg/Clock';
import CloseIcon from 'svg/Close';
@@ -84,7 +84,7 @@ const BottomModal: React.FC<BottomModalProps> = ({
</View>
<View style={styles.card}>
<View style={styles.row}>
<Fontisto name="telegram" color="#28A7E8" size={26} />
<Image source={Telegram} style={{ width: 26, height: 26 }} />
<View style={styles.cardText}>
<Text style={styles.label}>{t('Telegram admin')}</Text>
<Text style={styles.value}>{branch?.telegramAdmin}</Text>
@@ -93,7 +93,7 @@ const BottomModal: React.FC<BottomModalProps> = ({
</View>
<View style={styles.card}>
<View style={styles.row}>
<Fontisto name="telegram" color="#28A7E8" size={26} />
<Image source={Telegram} style={{ width: 26, height: 26 }} />
<View style={styles.cardText}>
<Text style={styles.label}>{t('Telegram kanal')}</Text>
<Text style={styles.value}>{branch?.telegramChannel}</Text>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -4,7 +4,6 @@ import { authApi } from 'api/auth';
import React from 'react';
import { useTranslation } from 'react-i18next';
import {
Alert,
FlatList,
StyleSheet,
Text,
@@ -13,7 +12,6 @@ import {
View,
} from 'react-native';
import Toast from 'react-native-toast-message';
import AntDesign from 'react-native-vector-icons/AntDesign';
import Copy from 'svg/Copy';
import Kitay from 'svg/Ki';
@@ -27,7 +25,7 @@ const TabsAvia = () => {
{
id: 1,
title: 'China (Avia)',
postCode: '510440',
postCode: ' 101399',
addressInfo: [
`收货人: ${getMe?.aviaCargoId}`,
'手机号码: 18335530701',
@@ -112,20 +110,6 @@ const TabsAvia = () => {
<View style={styles.postCodeWrapper}>
<Text style={styles.postCodeText}>{t('Avia post kodi')}: </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 File

@@ -20,7 +20,7 @@ import {
View,
} from 'react-native';
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 { CreatePassSchema, CreatePassSchemaType } from '../lib/form';
import CreateModal from './CreateModal';
@@ -313,11 +313,7 @@ const CreatePassword = () => {
<TouchableOpacity
onPress={() => setDatePickerVisibility(true)}
>
<AntDesign
name="calendar"
color="#D8DADC"
size={25}
/>
<Calendar color="#D8DADC" width={25} height={25} />
</TouchableOpacity>
</View>

View File

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

View File

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

View File

@@ -4,7 +4,6 @@ import { authApi } from 'api/auth';
import React from 'react';
import { useTranslation } from 'react-i18next';
import {
Alert,
FlatList,
StyleSheet,
Text,
@@ -13,7 +12,6 @@ import {
View,
} from 'react-native';
import Toast from 'react-native-toast-message';
import AntDesign from 'react-native-vector-icons/AntDesign';
import Copy from 'svg/Copy';
import Kitay from 'svg/Ki';
@@ -27,7 +25,7 @@ const TabsAviaWarehouses = () => {
{
id: 1,
title: 'China (Avia)',
postCode: '510440',
postCode: ' 101399',
addressInfo: [
`收货人: ${getMe?.aviaCargoId}`,
'手机号码: 18335530701',
@@ -108,20 +106,6 @@ const TabsAviaWarehouses = () => {
<View style={styles.postCodeWrapper}>
<Text style={styles.postCodeText}>{t('Avia post kodi')}: </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>
);

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;