Browse Source

changes of ui

master
!Root 5 months ago
parent
commit
950e649463
22 changed files with 502 additions and 41 deletions
  1. +1
    -1
      android/app/src/main/AndroidManifest.xml
  2. BIN
      android/app/src/main/assets/fonts/font-bold.ttf
  3. BIN
      android/app/src/main/assets/fonts/font.ttf
  4. BIN
      android/app/src/main/assets/fonts/font.woff2
  5. +6
    -1
      android/app/src/main/java/com/alarm/MainApplication.java
  6. +21
    -9
      index.js
  7. +7
    -0
      package.json
  8. +6
    -0
      react-native.config.js
  9. +103
    -19
      src/App.js
  10. BIN
      src/assets/font-bold.ttf
  11. BIN
      src/assets/font.ttf
  12. +10
    -0
      src/components/appbar.js
  13. +5
    -0
      src/components/index.js
  14. +45
    -0
      src/components/selection.js
  15. +38
    -0
      src/components/slideitem.js
  16. +19
    -0
      src/components/slider.js
  17. +16
    -0
      src/components/view.js
  18. +25
    -0
      src/core/theme.js
  19. +22
    -0
      src/database/slides.js
  20. +0
    -3
      src/module/sms-listener/android/src/main/java/com/centaurwarchief/smslistener/SmsNotification.java
  21. +3
    -0
      src/views/About/index.js
  22. +175
    -8
      yarn.lock

+ 1
- 1
android/app/src/main/AndroidManifest.xml View File

@ -13,6 +13,7 @@
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
@ -26,6 +27,5 @@
</intent-filter>
</activity>
<service android:name="com.voximplant.foregroundservice.VIForegroundService"> </service>
</application>
</manifest>

BIN
android/app/src/main/assets/fonts/font-bold.ttf View File


BIN
android/app/src/main/assets/fonts/font.ttf View File


BIN
android/app/src/main/assets/fonts/font.woff2 View File


+ 6
- 1
android/app/src/main/java/com/alarm/MainApplication.java View File

@ -1,5 +1,4 @@
package com.alarm;
import android.app.Application;
import android.content.Context;
import com.facebook.react.PackageList;
@ -13,6 +12,7 @@ import com.centaurwarchief.smslistener.SmsListenerPackage;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.modules.i18nmanager.I18nUtil;
import com.facebook.soloader.SoLoader;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
@ -51,6 +51,11 @@ public class MainApplication extends Application implements ReactApplication {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
/// rtl
I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance();
sharedI18nUtilInstance.forceRTL(this,true);
sharedI18nUtilInstance.allowRTL(this, true);
}
/**

+ 21
- 9
index.js View File

@ -2,21 +2,33 @@
* @format
*/
import React from 'react';
import { AppRegistry } from 'react-native';
import { AppRegistry, I18nManager, SafeAreaView, Text } from 'react-native';
import { name as appName } from './app.json';
import { App } from './src/App';
// redux
import { Provider } from 'react-redux';
import { Provider as ReduxProvider } from 'react-redux';
import { ReduxStore } from './src/provider/store';
// material
import { Provider as PaperProvider } from 'react-native-paper';
import { Theme } from './src/core/theme';
const Index = () => (
<Provider store={ReduxStore}>
<PaperProvider>
<App />
</PaperProvider>
</Provider>
);
Text.defaultProps = Text.defaultProps || {};
Text.defaultProps.style = { fontFamily: 'font' };
import { NavigationContainer } from '@react-navigation/native';
const Index = () => {
I18nManager.forceRTL(true);
return (
<ReduxProvider store={ReduxStore}>
<PaperProvider theme={Theme}>
<NavigationContainer theme={Theme}>
<App />
</NavigationContainer>
</PaperProvider>
</ReduxProvider>
);
};
AppRegistry.registerComponent(appName, () => Index);

+ 7
- 0
package.json View File

@ -12,6 +12,9 @@
},
"dependencies": {
"@react-native-async-storage/async-storage": "^1.16.1",
"@react-navigation/core": "^6.1.1",
"@react-navigation/material-top-tabs": "^6.1.1",
"@react-navigation/native": "^6.0.8",
"@reduxjs/toolkit": "^1.8.0",
"@voximplant/react-native-foreground-service": "^2.0.0",
"react": "17.0.2",
@ -19,7 +22,11 @@
"react-native-android-sms-listener": "^0.8.0",
"react-native-get-sms-android-v2": "^2.1.0",
"react-native-notifications": "^4.2.2",
"react-native-pager-view": "^5.4.11",
"react-native-paper": "^4.11.2",
"react-native-snap-carousel": "^3.9.1",
"react-native-swiper-flatlist": "^3.0.16",
"react-native-tab-view": "^3.1.1",
"react-native-vector-icons": "^9.1.0",
"react-redux": "^7.2.6",
"redux": "^4.1.2"

+ 6
- 0
react-native.config.js View File

@ -0,0 +1,6 @@
module.exports = {
project: {
android: {},
},
assets: ['./src/assets/'],
};

+ 103
- 19
src/App.js View File

@ -1,24 +1,33 @@
import React, { useEffect, useState } from 'react';
import { SafeAreaView, Text } from 'react-native';
import { View, Animated, TouchableOpacity } from 'react-native';
// material
import { Button } from 'react-native-paper';
import { Button, Text, useTheme } from 'react-native-paper';
// redux
import { useDeviceList, useDeviceActive } from './provider/device.helper';
// core
import { Storage } from './core/storage';
import { useSMSRead } from './core/sms.read';
import { useSMSListener } from './core/sms.listen';
import { StartForegroundService } from './core/foreground';
// import { StartForegroundService } from './core/foreground';
// import { NotificationOnReciveSMS } from './core/notification';
// component
import { AppBar, Selection, Slider, ViewCard } from './components';
// view
import { DialogDevice } from './views/Dialog.Device';
//
import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
import { Slides } from './database/slides';
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
const Tab = createMaterialTopTabNavigator();
export const App = () => {
const [devices, setDevices] = useDeviceList();
const [deviceActive, setDeviceActive] = useDeviceActive();
const [visible, setVisable] = useState(false);
const [view, setView] = useState(0);
const theme = useTheme();
useEffect(() => {
onInit();
@ -49,8 +58,6 @@ export const App = () => {
const onForground = async () => {
console.log('forground/1');
StartForegroundService();
// eslint-disable-next-line react-hooks/rules-of-hooks
useSMSListener((message) => {
console.log(message.originatingAddress);
@ -72,22 +79,99 @@ export const App = () => {
Storage.SetDeviceActive(0);
}
}
};
const TabBar = ({ state, descriptors, navigation, position }) => {
return (
<>
<AppBar />
<Selection />
<View
style={{
flexDirection: 'row',
borderBottomWidth: 1,
borderBottomColor: 'rgba(0, 0, 0, 0.12)',
}}>
{state.routes.map((route, index) => {
const { options } = descriptors[route.key];
const label = options.tabBarLabel,
icon = options.tabBarIcon;
setVisable(false);
const isFocused = state.index === index;
const onPress = () => {
const event = navigation.emit({
type: 'tabPress',
target: route.key,
canPreventDefault: true,
});
if (!isFocused && !event.defaultPrevented) {
// The `merge: true` option makes sure that the params inside the tab screen are preserved
navigation.navigate({ name: route.name, merge: true });
}
};
return (
<Button
icon={icon}
theme={{ roundness: 0 }}
color={isFocused ? theme.colors.primary : '#000'}
onPress={onPress}>
{label}
</Button>
);
})}
</View>
</>
);
};
return (
<SafeAreaView>
<Text>{deviceActive}</Text>
{devices.map((item, index) => (
<Text key={index}>
{item.name} - {item.phone}
</Text>
))}
<Button onPress={() => setVisable(!visible)}>افزودن دستگاه جدید</Button>
<DialogDevice visible={visible} onClose={onDialogDeviceClose} />
</SafeAreaView>
<>
<AppBar />
<Selection />
<Tab.Navigator
initialRouteName="0"
style={{
direction: 'rtl',
}}>
{Slides.map((item, index) => (
<Tab.Screen
key={index}
name={index.toString()}
component={Test}
options={{
tabBarStyle: {
backgroundColor: '#fff',
borderBottomWidth: 1,
borderBottomColor: 'rgba(0, 0, 0, 0.2)',
},
tabBarItemStyle: { width: 100 },
tabBarScrollEnabled: true,
tabBarLabel: () => (
<>
<View
style={{
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'center',
}}>
<MaterialCommunityIcons name={item.icon} size={16} />
<Text style={{ marginLeft: 12 }}>{item.label}</Text>
</View>
</>
),
}}
/>
))}
</Tab.Navigator>
</>
);
};
const Test = () => (
<View>
<Text>Test</Text>
</View>
);

BIN
src/assets/font-bold.ttf View File


BIN
src/assets/font.ttf View File


+ 10
- 0
src/components/appbar.js View File

@ -0,0 +1,10 @@
import React from 'react';
import { Appbar, Text, Surface } from 'react-native-paper';
export const AppBar = () => (
<Surface>
<Appbar style={{ paddingHorizontal: 16 }}>
<Text style={{ color: 'white', fontFamily: 'font-bold', fontSize: 20 }}>آلارم هوشمند</Text>
</Appbar>
</Surface>
);

+ 5
- 0
src/components/index.js View File

@ -0,0 +1,5 @@
export * from './appbar';
export * from './selection';
export * from './slideitem';
export * from './slider';
export * from './view';

+ 45
- 0
src/components/selection.js View File

@ -0,0 +1,45 @@
import React from 'react';
import { View } from 'react-native';
import { Surface, Text, TouchableRipple } from 'react-native-paper';
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
export const Selection = () => {
const ItemView = ({ children, title }) => (
<View
style={{
display: 'flex',
flexWrap: 'nowrap',
flexDirection: 'row',
alignItems: 'center',
paddingHorizontal: 12,
paddingVertical: 8,
borderBottomWidth: 1,
borderStyle: 'solid',
borderBottomColor: 'rgba(0, 0, 0, 0.12)',
}}>
<Text style={{ fontFamily: 'font-bold' }}>{title}</Text>
<View style={{ flex: 1 }} />
{children}
</View>
);
const SelectView = ({ value }) => (
<TouchableRipple style={{ flexDirection: 'row' }}>
<>
<Text style={{ width: 120, color: '#9e9e9e', fontSize: 12 }}>{value ?? 'انتخاب کنید'}</Text>
<MaterialCommunityIcons name="menu-down" size={20} color="#9e9e9e" />
</>
</TouchableRipple>
);
return (
<Surface style={{ backgroundColor: 'white' }}>
<ItemView title="انتخاب دستگاه">
<SelectView />
</ItemView>
<ItemView title="تاریخ گزارشات">
<SelectView />
</ItemView>
</Surface>
);
};

+ 38
- 0
src/components/slideitem.js View File

@ -0,0 +1,38 @@
import React from 'react';
import { TouchableHighlight, StyleSheet } from 'react-native';
import { Text, useTheme } from 'react-native-paper';
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
export const SlideItem = ({ icon, label }) => {
const { colors } = useTheme();
return (
<TouchableHighlight onPress={undefined} style={[styles.item, { backgroundColor: colors.primary }]}>
<>
<MaterialCommunityIcons name={icon} size={46} color="#000000" />
<Text style={styles.label}>{label}</Text>
</>
</TouchableHighlight>
);
};
const styles = StyleSheet.create({
item: {
flexDirection: 'column',
alignItems: 'center',
justifyContent: 'center',
paddingHorizontal: 24,
paddingVertical: 32,
borderRadius: 50,
borderWidth: 5,
borderColor: '#000',
width: 120,
overflow: 'hidden',
},
label: {
marginTop: 20,
color: '#000000',
fontFamily: 'font-bold',
fontSize: 16,
},
});

+ 19
- 0
src/components/slider.js View File

@ -0,0 +1,19 @@
import React from 'react';
import { View, Dimensions } from 'react-native';
import Carousel from 'react-native-snap-carousel';
import { SlideItem } from './slideitem';
import { Slides } from '../database/slides';
const { width } = Dimensions.get('window');
export const Slider = ({ onChange }) => (
<View style={{ marginVertical: 30 }}>
<Carousel
onSnapToItem={onChange}
sliderWidth={width}
itemWidth={130}
data={Slides}
renderItem={({ item }) => <SlideItem {...item} />}
/>
</View>
);

+ 16
- 0
src/components/view.js View File

@ -0,0 +1,16 @@
import React from 'react';
import { View, StyleSheet } from 'react-native';
import { useTheme } from 'react-native-paper';
export const ViewCard = ({ children }) => (
<View style={[styles.container, { borderColor: useTheme().colors.primary }]}>{children}</View>
);
const styles = StyleSheet.create({
container: {
flex: 1,
padding: 8,
borderWidth: 2,
borderRadius: 4,
},
});

+ 25
- 0
src/core/theme.js View File

@ -0,0 +1,25 @@
import { configureFonts, DefaultTheme } from 'react-native-paper';
const fonts = {
android: {
regular: {
fontFamily: 'font',
fontWeight: 'normal',
},
bold: {
fontFamily: 'font-bold',
fontWeight: '700',
},
},
};
export const Theme = {
...DefaultTheme,
roundness: 8,
fonts: configureFonts(fonts),
colors: {
...DefaultTheme.colors,
primary: '#d50000',
accent: '#f1c40f',
},
};

+ 22
- 0
src/database/slides.js View File

@ -0,0 +1,22 @@
export const Slides = [
{
icon: 'bell',
label: 'آلارم',
},
{
icon: 'cog',
label: 'تنظیمات',
},
{
icon: 'dots-horizontal',
label: 'سایر',
},
{
icon: 'server',
label: 'رک',
},
{
icon: 'information',
label: 'درباره ما',
},
];

+ 0
- 3
src/module/sms-listener/android/src/main/java/com/centaurwarchief/smslistener/SmsNotification.java View File

@ -1,3 +0,0 @@
public class SmsNotification extends Application {
}

+ 3
- 0
src/views/About/index.js View File

@ -0,0 +1,3 @@
import React from 'react';
export const About = () => <></>;

+ 175
- 8
yarn.lock View File

@ -1663,6 +1663,42 @@
resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-2.0.0.tgz#4c40b74655c83982c8cf47530ee7dc13d957b6aa"
integrity sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==
"@react-navigation/core@^6.1.1":
version "6.1.1"
resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.1.1.tgz#47b01d0263e413164431c886267a5139e093c706"
integrity sha512-njysuiqztgvR1Z9Noxk2OGJfYtFGFDRyji5Vmm1jHzlql0m+q0wh1dUiyaIEtTyrhFXr/YNgdrKuiPaU9Jp8OA==
dependencies:
"@react-navigation/routers" "^6.1.0"
escape-string-regexp "^4.0.0"
nanoid "^3.1.23"
query-string "^7.0.0"
react-is "^16.13.0"
"@react-navigation/material-top-tabs@^6.1.1":
version "6.1.1"
resolved "https://registry.yarnpkg.com/@react-navigation/material-top-tabs/-/material-top-tabs-6.1.1.tgz#73208ab1624d48fc84bd5bae3c21fde452c2ccfe"
integrity sha512-9XsLIPVJJweBRqVznnRYzCIRGMrPKfCzyMjHbBxHuKQIxGZLkUcHVaQDKZZFRkXtvWxPF8ZwFJcuSs0GZ9r4dA==
dependencies:
color "^3.1.3"
warn-once "^0.1.0"
"@react-navigation/native@^6.0.8":
version "6.0.8"
resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.0.8.tgz#66f48ad2b3fb1acd08c8d935d9f342a3d77ee6cd"
integrity sha512-6022M3+Btok3xJC/49B88er3SRrlDAZ4FdmGndhEVvBcGSHWmscU2qKCwFd0RY6A0AGCVmdIlXudrfdcdRAkpQ==
dependencies:
"@react-navigation/core" "^6.1.1"
escape-string-regexp "^4.0.0"
fast-deep-equal "^3.1.3"
nanoid "^3.1.23"
"@react-navigation/routers@^6.1.0":
version "6.1.0"
resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-6.1.0.tgz#d5682be88f1eb7809527c48f9cd3dedf4f344e40"
integrity sha512-8xJL+djIzpFdRW/sGlKojQ06fWgFk1c5jER9501HYJ12LF5DIJFr/tqBI2TJ6bk+y+QFu0nbNyeRC80OjRlmkA==
dependencies:
nanoid "^3.1.23"
"@reduxjs/toolkit@^1.8.0":
version "1.8.0"
resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.8.0.tgz#8ae875e481ed97e4a691aafa034f876bfd0413c4"
@ -2954,7 +2990,7 @@ arrify@^1.0.1:
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
asap@~2.0.6:
asap@~2.0.3, asap@~2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
@ -4148,7 +4184,7 @@ color-string@^1.6.0:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
color@^3.1.2:
color@^3.1.2, color@^3.1.3:
version "3.2.1"
resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
@ -4334,6 +4370,11 @@ core-js-pure@^3.0.1:
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.21.1.tgz#8c4d1e78839f5f46208de7230cebfb72bc3bdb51"
integrity sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==
core-js@^1.0.0:
version "1.2.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
core-js@^3.0.1, core-js@^3.0.4:
version "3.21.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.1.tgz#f2e0ddc1fc43da6f904706e8e955bc19d06a0d94"
@ -4941,6 +4982,13 @@ encodeurl@~1.0.2:
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
encoding@^0.1.11:
version "0.1.13"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
dependencies:
iconv-lite "^0.6.2"
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
version "1.4.4"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
@ -5087,6 +5135,11 @@ escape-string-regexp@^2.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
escape-string-regexp@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
escodegen@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd"
@ -5467,7 +5520,7 @@ fast-deep-equal@^2.0.1:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
fast-deep-equal@^3.1.1:
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
@ -5520,6 +5573,19 @@ fb-watchman@^2.0.0:
dependencies:
bser "2.1.1"
fbjs@^0.8.4:
version "0.8.18"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.18.tgz#9835e0addb9aca2eff53295cd79ca1cfc7c9662a"
integrity sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==
dependencies:
core-js "^1.0.0"
isomorphic-fetch "^2.1.1"
loose-envify "^1.0.0"
object-assign "^4.1.0"
promise "^7.1.1"
setimmediate "^1.0.5"
ua-parser-js "^0.7.30"
figgy-pudding@^3.5.1:
version "3.5.2"
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
@ -5590,6 +5656,11 @@ fill-range@^7.0.1:
dependencies:
to-regex-range "^5.0.1"
filter-obj@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs=
finalhandler@1.1.2, finalhandler@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
@ -6309,6 +6380,13 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
iconv-lite@^0.6.2:
version "0.6.3"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
icss-utils@^4.0.0, icss-utils@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
@ -6825,7 +6903,7 @@ is-shared-array-buffer@^1.0.1:
resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6"
integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==
is-stream@^1.1.0:
is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
@ -6915,6 +6993,14 @@ isobject@^4.0.0:
resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0"
integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==
isomorphic-fetch@^2.1.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
dependencies:
node-fetch "^1.0.1"
whatwg-fetch ">=0.10.0"
istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
@ -8345,6 +8431,11 @@ nan@^2.12.1:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
nanoid@^3.1.23:
version "3.3.1"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35"
integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@ -8402,6 +8493,14 @@ node-dir@^0.1.17:
dependencies:
minimatch "^3.0.2"
node-fetch@^1.0.1:
version "1.7.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
dependencies:
encoding "^0.1.11"
is-stream "^1.0.1"
node-fetch@^2.2.0, node-fetch@^2.6.0:
version "2.6.7"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
@ -9247,6 +9346,13 @@ promise.prototype.finally@^3.1.0:
define-properties "^1.1.3"
es-abstract "^1.19.1"
promise@^7.1.1:
version "7.3.1"
resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
dependencies:
asap "~2.0.3"
promise@^8.0.3:
version "8.1.0"
resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e"
@ -9360,6 +9466,16 @@ qs@^6.6.0:
dependencies:
side-channel "^1.0.4"
query-string@^7.0.0:
version "7.1.1"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.1.tgz#754620669db978625a90f635f12617c271a088e1"
integrity sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==
dependencies:
decode-uri-component "^0.2.0"
filter-obj "^1.1.0"
split-on-first "^1.0.0"
strict-uri-encode "^2.0.0"
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@ -9423,6 +9539,14 @@ raw-loader@^3.1.0:
loader-utils "^1.1.0"
schema-utils "^2.0.1"
react-addons-shallow-compare@15.6.2:
version "15.6.2"
resolved "https://registry.yarnpkg.com/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.2.tgz#198a00b91fc37623db64a28fd17b596ba362702f"
integrity sha1-GYoAuR/DdiPbZKKP0XtZa6NicC8=
dependencies:
fbjs "^0.8.4"
object-assign "^4.1.0"
react-clientside-effect@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.5.tgz#e2c4dc3c9ee109f642fac4f5b6e9bf5bcd2219a3"
@ -9570,7 +9694,7 @@ react-inspector@^4.0.0:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
react-is@^16.13.1, react-is@^16.7.0:
react-is@^16.13.0, react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@ -9639,6 +9763,11 @@ react-native-notifications@^4.2.2:
resolved "https://registry.yarnpkg.com/react-native-notifications/-/react-native-notifications-4.2.2.tgz#7bbafda0876328511726a2584ec5347919d0aa68"
integrity sha512-GvLI75KPDGBogzCrH0BE3g7oiUWRCZe30KFjAtzvLE7pg/OLvG8OKBHBqfhf97ITJcIvGhs/TrjfYUIslKVWEA==
react-native-pager-view@^5.4.11:
version "5.4.11"
resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-5.4.11.tgz#677540293c7b4e0e022efb45727ef9b4efa35409"
integrity sha512-4QlBL5W8yVjeYwrw89oCdABI7sDxIGapFQvIbukfB5mAj1Zn1IQPkBqROLblNFtQ8PbAeexXRgDT1ENWygiJ7A==
react-native-paper@^4.11.2:
version "4.11.2"
resolved "https://registry.yarnpkg.com/react-native-paper/-/react-native-paper-4.11.2.tgz#4ae73282da9be3bf20760c609d3273643d1dd4a9"
@ -9648,11 +9777,29 @@ react-native-paper@^4.11.2:
color "^3.1.2"
react-native-iphone-x-helper "^1.3.1"
react-native-snap-carousel@^3.9.1:
version "3.9.1"
resolved "https://registry.yarnpkg.com/react-native-snap-carousel/-/react-native-snap-carousel-3.9.1.tgz#6fd9bd8839546c2c6043a41d2035afbc6fe0443e"
integrity sha512-xWEGusacIgK1YaDXLi7Gao2+ISLoGPVEBR8fcMf4tOOJQufutlNwkoLu0l6B8Qgsrre0nTxoVZikRgGRDWlLaQ==
dependencies:
prop-types "^15.6.1"
react-addons-shallow-compare "15.6.2"
react-native-swipe-gestures@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/react-native-swipe-gestures/-/react-native-swipe-gestures-1.0.5.tgz#a172cb0f3e7478ccd681fd36b8bfbcdd098bde7c"
integrity sha512-Ns7Bn9H/Tyw278+5SQx9oAblDZ7JixyzeOczcBK8dipQk2pD7Djkcfnf1nB/8RErAmMLL9iXgW0QHqiII8AhKw==
react-native-swiper-flatlist@^3.0.16:
version "3.0.16"
resolved "https://registry.yarnpkg.com/react-native-swiper-flatlist/-/react-native-swiper-flatlist-3.0.16.tgz#626770e36479793ace806888d84bbd2d0a496465"
integrity sha512-8Mkh5DnGP7x42GBI870vpiliAdXAJObi8uDdqCjd3cWJBDgVv1xmo3y11CZzqpf6241EyddX0LygSt1Rv61LYg==
react-native-tab-view@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-3.1.1.tgz#1f8d7a835ab4f5b1b1407ec8dddc1053b53fa3c6"
integrity sha512-M5pRN6utQfytKWoKlKVzg5NbkYu308qNoW1khGTtEOTs1k14p2dHJ/BWOJoJYHKbPVUyZldbG9MFT7gUl4YHnw==
react-native-vector-icons@^9.1.0:
version "9.1.0"
resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-9.1.0.tgz#52eaa205f5954d567b7048eb93d58ac854a2c59e"
@ -10207,7 +10354,7 @@ safe-regex@^1.1.0:
dependencies:
ret "~0.1.10"
"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0:
"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
@ -10367,7 +10514,7 @@ set-value@^2.0.0, set-value@^2.0.1:
is-plain-object "^2.0.3"
split-string "^3.0.1"
setimmediate@^1.0.4:
setimmediate@^1.0.4, setimmediate@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
@ -10651,6 +10798,11 @@ spdx-license-ids@^3.0.0:
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95"
integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==
split-on-first@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
@ -10757,6 +10909,11 @@ stream-shift@^1.0.0:
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
strict-uri-encode@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
string-length@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"
@ -11301,6 +11458,11 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
ua-parser-js@^0.7.30:
version "0.7.31"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6"
integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==
uglify-es@^3.1.9:
version "3.3.9"
resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
@ -11571,6 +11733,11 @@ walker@^1.0.7, walker@~1.0.5:
dependencies:
makeerror "1.0.12"
warn-once@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/warn-once/-/warn-once-0.1.0.tgz#4f58d89b84f968d0389176aa99e0cf0f14ffd4c8"
integrity sha512-recZTSvuaH/On5ZU5ywq66y99lImWqzP93+AiUo9LUwG8gXHW+LJjhOd6REJHm7qb0niYqrEQJvbHSQfuJtTqA==
warning@^4.0.2, warning@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
@ -11712,7 +11879,7 @@ whatwg-encoding@^1.0.5:
dependencies:
iconv-lite "0.4.24"
whatwg-fetch@^3.0.0:
whatwg-fetch@>=0.10.0, whatwg-fetch@^3.0.0:
version "3.6.2"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c"
integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==

Loading…
Cancel
Save