Browse Source

BUGS | Theme

merge-requests/84/merge
Vitalik 3 years ago
parent
commit
a05dca9f91
  1. BIN
      android/app/src/main/ic_launcher-playstore.png
  2. 2
      android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
  3. 2
      android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
  4. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  5. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png
  6. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
  7. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
  8. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  9. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png
  10. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
  11. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
  12. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  13. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png
  14. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
  15. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
  16. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  17. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
  18. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
  19. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
  20. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  21. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
  22. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
  23. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
  24. 7
      android/build.gradle
  25. 6
      iconset.config.js
  26. 8
      ios/Podfile.lock
  27. 4
      ios/taskme.xcodeproj/project.pbxproj
  28. 1
      ios/taskme/AppDelegate.m
  29. 1206
      package-lock.json
  30. 9
      package.json
  31. 7
      src/App.tsx
  32. BIN
      src/assets/app-icon/background.png
  33. BIN
      src/assets/app-icon/foreground.png
  34. 0
      src/assets/app-icon/icon.png
  35. BIN
      src/assets/images/auth_1.png
  36. 11
      src/modules/account/screens/account.screen.tsx
  37. 6
      src/modules/auth/hooks/use-authorization.hook.ts
  38. 86
      src/modules/auth/screens/confirm-code.screen.tsx
  39. 51
      src/modules/auth/screens/sign-in.screen.tsx
  40. 2
      src/modules/contacts/atoms/search-field-with-icon.component.tsx
  41. 105
      src/modules/root/atoms/icon-with-count-indicator.component.tsx
  42. 13
      src/modules/root/index.tsx
  43. 21
      src/modules/root/smart-components/confirm-modal.smart-component.tsx
  44. 13
      src/modules/settings/components/setting-item.component.tsx
  45. 12
      src/modules/settings/hooks/use-setting-navigation-list.hook.ts
  46. 38
      src/modules/settings/screens/settings.screen.tsx
  47. 18
      src/shared/components/elements/image.component.tsx
  48. 7
      src/shared/components/forms/form-large-control-with-icon.component.tsx
  49. 5
      src/shared/components/forms/form-phone.component.tsx
  50. 2
      src/shared/components/headers/primary-header.component.tsx
  51. 33
      src/shared/components/images/img-with-bg-circle.components.tsx
  52. 13
      src/shared/components/layouts/auth-layout.component.tsx
  53. 31
      src/shared/components/layouts/screen-layout-content.component.tsx
  54. 8
      src/shared/components/layouts/screen-layout.component.tsx
  55. 17
      src/shared/themes/dark/auth.ts
  56. 4
      src/shared/themes/dark/index.ts
  57. 13
      src/shared/themes/dark/shared-components.ts
  58. 17
      src/shared/themes/interfaces/auth.interface.ts
  59. 18
      src/shared/themes/light/auth.ts
  60. 4
      src/shared/themes/light/index.ts
  61. 2
      src/shared/themes/light/navigation.ts
  62. 38
      src/shared/themes/light/settings.ts
  63. 8
      src/shared/themes/light/shared-components.ts
  64. 2
      src/store/shared/reducer.ts
  65. 385
      yarn.lock

BIN
android/app/src/main/ic_launcher-playstore.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 57 KiB

2
android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<background android:drawable="@mipmap/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

2
android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<background android:drawable="@mipmap/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 14 KiB

7
android/build.gradle

@ -6,14 +6,14 @@ buildscript { @@ -6,14 +6,14 @@ buildscript {
minSdkVersion = 21
compileSdkVersion = 29
targetSdkVersion = 29
ndkVersion = "20.1.5948944"
ndkVersion = "22.0.7026061"
}
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:4.1.0")
classpath("com.android.tools.build:gradle:4.0.1")
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@ -30,9 +30,6 @@ allprojects { @@ -30,9 +30,6 @@ allprojects {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
maven { url 'https://maven.google.com' }
maven { url "https://www.jitpack.io" }
google()
jcenter()
maven { url 'https://www.jitpack.io' }

6
iconset.config.js

@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
module.exports = {
imagePath: './src/assets/app-icon/icon.png',
adaptiveIconBackground: './src/assets/app-icon/background.png',
adaptiveIconForeground: './src/assets/app-icon/foreground.png',
}

8
ios/Podfile.lock

@ -354,6 +354,8 @@ PODS: @@ -354,6 +354,8 @@ PODS:
- RNScreens (3.6.0):
- React-Core
- React-RCTImage
- RNSVG (9.13.6):
- React
- RNVectorIcons (8.0.0):
- React-Core
- TOCropViewController (2.6.0)
@ -425,6 +427,7 @@ DEPENDENCIES: @@ -425,6 +427,7 @@ DEPENDENCIES:
- RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`)
- RNPermissions (from `../node_modules/react-native-permissions`)
- RNScreens (from `../node_modules/react-native-screens`)
- RNSVG (from `../node_modules/react-native-svg`)
- RNVectorIcons (from `../node_modules/react-native-vector-icons`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
@ -529,6 +532,8 @@ EXTERNAL SOURCES: @@ -529,6 +532,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-permissions"
RNScreens:
:path: "../node_modules/react-native-screens"
RNSVG:
:path: "../node_modules/react-native-svg"
RNVectorIcons:
:path: "../node_modules/react-native-vector-icons"
Yoga:
@ -588,11 +593,12 @@ SPEC CHECKSUMS: @@ -588,11 +593,12 @@ SPEC CHECKSUMS:
RNImageCropPicker: 35a3ceb837446fa11547704709bb22b5fac6d584
RNPermissions: 4b54095940aea8c03fa3e6c92d4ac3647b31ed4e
RNScreens: eb0dfb2d6b21d2d7f980ad46b14eb306d2f1062e
RNSVG: 8ba35cbeb385a52fd960fd28db9d7d18b4c2974f
RNVectorIcons: f67a1abce2ec73e62fe4606e8110e95a832bc859
TOCropViewController: 3105367e808b7d3d886a74ff59bf4804e7d3ab38
Yoga: 575c581c63e0d35c9a83f4b46d01d63abc1100ac
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
PODFILE CHECKSUM: 465fefddb2adca7d66f342c9336387893ca73d38
PODFILE CHECKSUM: 7c42e987d85f19fed87d9ce656708219fc97fe5b
COCOAPODS: 1.10.1

4
ios/taskme.xcodeproj/project.pbxproj

@ -497,7 +497,7 @@ @@ -497,7 +497,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 8;
CURRENT_PROJECT_VERSION = 11;
DEVELOPMENT_TEAM = HQ3J3TDPR2;
ENABLE_BITCODE = NO;
"EXCLUDED_ARCHS[sdk=*]" = "";
@ -533,7 +533,7 @@ @@ -533,7 +533,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 8;
CURRENT_PROJECT_VERSION = 11;
DEVELOPMENT_TEAM = HQ3J3TDPR2;
ENABLE_BITCODE = NO;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";

1
ios/taskme/AppDelegate.m

@ -29,6 +29,7 @@ static void InitializeFlipper(UIApplication *application) { @@ -29,6 +29,7 @@ static void InitializeFlipper(UIApplication *application) {
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
#ifdef FB_SONARKIT_ENABLED
InitializeFlipper(application);
#endif

1206
package-lock.json generated

File diff suppressed because it is too large Load Diff

9
package.json

@ -9,7 +9,8 @@ @@ -9,7 +9,8 @@
"test": "jest",
"lint": "eslint .",
"pod": "cd ./ios && pod install && cd ../",
"build:android": "cd android && ./gradlew assembleRelease"
"build:android": "cd android && ./gradlew assembleRelease",
"create-appicon": "iconset create"
},
"dependencies": {
"@bitalikrty/redux-create-reducer": "^1.0.0",
@ -46,7 +47,11 @@ @@ -46,7 +47,11 @@
"react-native-raw-bottom-sheet": "^2.2.0",
"react-native-safe-area-context": "^3.3.0",
"react-native-screens": "^3.6.0",
"react-native-shadow": "^1.2.2",
"react-native-shadow-2": "^5.1.2",
"react-native-shadow-view": "^0.0.1",
"react-native-splash-screen": "^3.2.0",
"react-native-svg": "9.13",
"react-native-tab-view": "^3.1.1",
"react-native-vector-icons": "8.0.0",
"react-redux": "^7.2.4",
@ -65,8 +70,10 @@ @@ -65,8 +70,10 @@
"babel-jest": "^26.6.3",
"babel-plugin-module-resolver": "^4.1.0",
"eslint": "7.14.0",
"icon-set-creator": "^0.1.3",
"jest": "^26.6.3",
"metro-react-native-babel-preset": "^0.64.0",
"react-native-svg-app-icon": "^0.5.0",
"react-test-renderer": "17.0.1"
},
"jest": {

7
src/App.tsx

@ -1,16 +1,17 @@ @@ -1,16 +1,17 @@
import React, { useEffect } from 'react'
import SplashScreen from 'react-native-splash-screen'
import { Provider } from 'react-redux'
import { Navigation } from './modules/root'
import store from './store'
import { ActionSheetProvider } from '@expo/react-native-action-sheet'
import './services/system/reactron.service'
import { ThemeProvider } from './shared/themes'
import Orientation from "react-native-orientation-locker"
import Orientation from 'react-native-orientation-locker'
import { LogBox } from 'react-native'
LogBox.ignoreLogs(['Warning: ...']) // Ignore log notification by message
LogBox.ignoreAllLogs() //Ignore all log notifications
const App = () => {
useEffect(() => {
SplashScreen.hide()
Orientation.lockToPortrait()
}, [])

BIN
src/assets/app-icon/background.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 KiB

BIN
src/assets/app-icon/foreground.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

0
icon.png → src/assets/app-icon/icon.png

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
src/assets/images/auth_1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

11
src/modules/account/screens/account.screen.tsx

@ -28,17 +28,10 @@ export const AccountScreen: FC<IProps> = ({ navigation }) => { @@ -28,17 +28,10 @@ export const AccountScreen: FC<IProps> = ({ navigation }) => {
appEvents.emit('openConfirmModal', {
title: 'Ви впевнені, що хочете вийти з профілю?',
buttonToHighlight: 'allow',
allowBtnAction: async () => {
await logout()
hideLogoutModal()
},
notAllowBtnAction: () => hideLogoutModal(),
allowBtnAction: () => logout(),
notAllowBtnAction: () => {},
})
const hideLogoutModal = () => {
appEvents.emit('closeConfirmModal', {})
}
const { values, setFormField } = form
return (

6
src/modules/auth/hooks/use-authorization.hook.ts

@ -45,8 +45,9 @@ export const useAuthorization = ({ onSentCode, onConfirmCode }: IParams) => { @@ -45,8 +45,9 @@ export const useAuthorization = ({ onSentCode, onConfirmCode }: IParams) => {
}
setError(getMessageByExceptionKey(e.response?.data?.key))
} finally {
setLoading(false)
}
setLoading(false)
}
const confirmLogin = async (code: string) => {
@ -66,8 +67,9 @@ export const useAuthorization = ({ onSentCode, onConfirmCode }: IParams) => { @@ -66,8 +67,9 @@ export const useAuthorization = ({ onSentCode, onConfirmCode }: IParams) => {
return
}
setError(getMessageByExceptionKey(e.response?.data?.key))
} finally {
setLoading(false)
}
setLoading(false)
}
const logout = async () => {

86
src/modules/auth/screens/confirm-code.screen.tsx

@ -6,12 +6,19 @@ import { @@ -6,12 +6,19 @@ import {
ImageComponent,
ImgWithBgCircle,
NavigationModuleKey,
ScreenLayout,
Txt,
useCountdown,
} from '@/shared'
import { LargeFormControlWithIcon } from '@/shared/components/forms'
import React, { ComponentRef, FC, useEffect, useRef, useState } from 'react'
import { StyleSheet, View, Text, TouchableOpacity } from 'react-native'
import {
StyleSheet,
View,
Text,
TouchableOpacity,
Dimensions,
} from 'react-native'
import { useAuthorization } from '../hooks'
import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'
import { PartialTheme } from '@/shared/themes/interfaces'
@ -25,11 +32,12 @@ export const ConfirmCode: FC = () => { @@ -25,11 +32,12 @@ export const ConfirmCode: FC = () => {
const inputRef = useRef<any>()
const [confirmCode, setConfirmCode] = useState('')
const { confirmLogin, sendCode, getPhoneNumber, error } = useAuthorization({
onConfirmCode: () =>
NavigationService.setModule(NavigationModuleKey.User),
onSentCode: () => {},
})
const { confirmLogin, sendCode, getPhoneNumber, error, isLoading } =
useAuthorization({
onConfirmCode: () =>
NavigationService.setModule(NavigationModuleKey.User),
onSentCode: () => {},
})
const { startCountdown, getformattedTimer, restartCountDown, isTimeOver } =
useCountdown(initialCount)
@ -83,43 +91,58 @@ export const ConfirmCode: FC = () => { @@ -83,43 +91,58 @@ export const ConfirmCode: FC = () => {
setConfirmCode(code)
}
useEffect(() => {
if (!isLoading && confirmCode.length === 4) {
inputRef.current.blur()
confirmLogin(confirmCode)
}
}, [confirmCode])
return (
<AuthLayout>
<View>
<ScreenLayout needScroll={true} keyboardSpacerOn={false}>
<View style={styles.container}>
<ImgWithBgCircle
source={require('@/assets/images/auth_2.png')}
bgCircleTopPosition={'25%'}
height={$size(270)}
width={$size(270)}
/>
<View>
<Txt style={styles.label}>Вхід</Txt>
<Txt style={styles.label}>Вхід</Txt>
<LargeFormControlWithIcon
disabled={isDisabledField}
title={renderTitle()}
name={'verifyCode'}
onChange={v => changeCode(v)}
value={confirmCode}
placeHolder={'6342'}
beforeIcon={{
name: 'lock-1',
color: theme.iconComponent.$primaryColor,
}}
error={error}
inputRef={inputRef}
/>
<Button
title="Підтвердити"
onPress={() => confirmLogin(confirmCode)}
/>
<LargeFormControlWithIcon
disabled={isDisabledField}
title={renderTitle()}
name={'verifyCode'}
onChange={v => changeCode(v)}
value={confirmCode}
placeHolder={'6342'}
beforeIcon={{
name: 'lock-1',
color: theme.auth.$icon,
wrapperStyles: styles.iconWrap,
}}
error={error}
inputRef={inputRef}
inputType="number-pad"
/>
<Button
title="Підтвердити"
onPress={() => confirmLogin(confirmCode)}
showLoadingIndicator={isLoading}
/>
</View>
</View>
</AuthLayout>
</ScreenLayout>
)
}
const createStyles = (theme: PartialTheme) =>
StyleSheet.create({
container: {
marginTop: -$size(15),
marginBottom: $size(25),
flex: 1,
justifyContent: 'flex-end',
},
label: {
marginBottom: $size(10),
@ -129,6 +152,9 @@ const createStyles = (theme: PartialTheme) => @@ -129,6 +152,9 @@ const createStyles = (theme: PartialTheme) =>
textAlign: 'center',
color: theme.$textPrimary,
},
iconWrap: {
backgroundColor: theme.auth.$iconBg,
},
inputTitle: {
fontSize: $size(16, 14),
textAlign: 'center',

51
src/modules/auth/screens/sign-in.screen.tsx

@ -2,7 +2,13 @@ import React, { FC, useEffect, useState } from 'react' @@ -2,7 +2,13 @@ import React, { FC, useEffect, useState } from 'react'
import { StyleSheet, Text, View } from 'react-native'
import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'
import { AuthLayout, Button, ImgWithBgCircle, Txt } from '$components'
import {
AuthLayout,
Button,
ImgWithBgCircle,
ScreenLayout,
Txt,
} from '$components'
import { ImageComponent } from '@/shared/components/elements/image.component'
import { FormPhone } from '@/shared/components/forms/form-phone.component'
import { $size, IRouteParams, RouteKey } from '@/shared'
@ -22,32 +28,35 @@ export const SignInScreen: FC<IProps> = ({ navigation }) => { @@ -22,32 +28,35 @@ export const SignInScreen: FC<IProps> = ({ navigation }) => {
})
return (
<AuthLayout>
<View>
<ScreenLayout needScroll={true} keyboardSpacerOn={false}>
<View style={styles.container}>
<ImgWithBgCircle
style={styles.img}
source={require('@/assets/images/auth_1.png')}
bgCircleTopPosition={'25%'}
height={$size(200)}
width={$size(200)}
/>
<Txt style={styles.label}>Вхід</Txt>
<View>
<Txt style={styles.label}>Вхід</Txt>
<FormPhone
label={'Номер телефону'}
name={'phoneNumber'}
onChange={v => setPhoneNumber(v)}
value={phoneNumber}
error={error}
/>
<FormPhone
label={'Номер телефону'}
name={'phoneNumber'}
onChange={v => setPhoneNumber(v)}
value={phoneNumber}
error={error}
/>
<Button
style={styles.btn}
title="Підтвердити"
onPress={() => sendCode(phoneNumber)}
showLoadingIndicator={isLoading}
/>
<Button
style={styles.btn}
title="Підтвердити"
onPress={() => sendCode(phoneNumber)}
showLoadingIndicator={isLoading}
/>
</View>
</View>
</AuthLayout>
</ScreenLayout>
)
}
@ -55,9 +64,11 @@ const createStyles = (theme: PartialTheme) => @@ -55,9 +64,11 @@ const createStyles = (theme: PartialTheme) =>
StyleSheet.create({
container: {
marginBottom: $size(25),
flex: 1,
justifyContent: 'flex-end',
},
img: {
marginBottom: $size(55),
// marginBottom: $size(55),
},
label: {
marginBottom: $size(10, 5),

2
src/modules/contacts/atoms/search-field-with-icon.component.tsx

@ -4,7 +4,7 @@ import { useTheme } from '@/shared/hooks/use-theme.hook' @@ -4,7 +4,7 @@ import { useTheme } from '@/shared/hooks/use-theme.hook'
import { PartialTheme } from '@/shared/themes/interfaces'
import React, { FC } from 'react'
import { StyleSheet, ViewStyle } from 'react-native'
import { TouchableOpacity } from 'react-native-gesture-handler'
import { TouchableOpacity } from 'react-native'
interface IProps {
searchString: string

105
src/modules/root/atoms/icon-with-count-indicator.component.tsx

@ -2,7 +2,9 @@ import { $size, IconComponent, RouteKey, Txt } from '@/shared' @@ -2,7 +2,9 @@ import { $size, IconComponent, RouteKey, Txt } from '@/shared'
import { useTheme } from '@/shared/hooks/use-theme.hook'
import { PartialTheme } from '@/shared/themes/interfaces'
import React, { FC } from 'react'
import { StyleSheet, TouchableOpacity, View } from 'react-native'
import { Platform, StyleSheet, TouchableOpacity, View } from 'react-native'
import { Shadow } from 'react-native-shadow-2'
import ShadowView from 'react-native-shadow-view'
interface IProps {
iconName: string
@ -26,42 +28,94 @@ export const IconWithCountIndicator: FC<IProps> = ({ @@ -26,42 +28,94 @@ export const IconWithCountIndicator: FC<IProps> = ({
const isAddTask = route === RouteKey.AddTask
if (isAddTask && Platform.OS === 'android') {
return (
<Shadow
distance={11}
radius={100}
startColor="rgba(221, 37, 59, 0.11)"
safeRender={true}
containerViewStyle={styles.simpleItem}
offset={[0, 4]}>
<TouchableOpacity
onPress={onPress}
style={[styles.item, styles.navItemAddTask]}>
<IconComponent
name={iconName}
size={$size(24, 22)}
style={[
route === RouteKey.AddTask && {
color: $layoutBg,
},
]}
color={
isActive ? tabBar.$activeIcon : tabBar.$iconColor
}
/>
</TouchableOpacity>
</Shadow>
)
}
return (
<TouchableOpacity
onPress={onPress}
style={[styles.item, isAddTask && styles.navItemAddTask]}>
{indicatorCount && !isAddTask ? (
<View style={styles.indicator}>
<Txt style={styles.indicatorCount}>{indicatorCount}</Txt>
</View>
) : null}
style={[
styles.item,
isAddTask && styles.navItemAddTask,
isAddTask && styles.simpleItem,
]}>
<View>
{indicatorCount && !isAddTask ? (
<View style={styles.indicator}>
<Txt style={styles.indicatorCount}>
{indicatorCount}
</Txt>
</View>
) : null}
<IconComponent
name={iconName}
size={$size(24, 22)}
style={[
route === RouteKey.AddTask && {
color: $layoutBg,
},
]}
color={isActive ? tabBar.$activeIcon : tabBar.$iconColor}
/>
<View style={styles.container}>
<IconComponent
name={iconName}
size={$size(24, 22)}
style={[
route === RouteKey.AddTask && {
color: $layoutBg,
},
]}
color={
isActive ? tabBar.$activeIcon : tabBar.$iconColor
}
/>
</View>
</View>
</TouchableOpacity>
)
}
const createStyles = ({ tabBar }: PartialTheme) =>
StyleSheet.create({
container: {
position: 'relative',
},
simpleItem: {
marginBottom: $size(34),
},
navItemAddTask: {
width: $size(50, 40),
height: $size(50, 40),
borderRadius: 100,
marginBottom: $size(34),
backgroundColor: tabBar.$addTaskBtn,
shadowColor: tabBar.$shadowColor,
shadowOffset: { width: $size(5), height: $size(5) },
shadowOpacity: 1,
shadowRadius: $size(25),
...Platform.select({
ios: {
shadowColor: tabBar.$shadowColor,
shadowOffset: { width: $size(5), height: $size(5) },
shadowOpacity: 0.35,
shadowRadius: 15,
},
}),
},
item: {
justifyContent: 'center',
@ -75,14 +129,15 @@ const createStyles = ({ tabBar }: PartialTheme) => @@ -75,14 +129,15 @@ const createStyles = ({ tabBar }: PartialTheme) =>
alignItems: 'center',
justifyContent: 'center',
right: $size(20, 18),
bottom: -5,
borderRadius: 100,
right: $size(15, 10),
bottom: -6,
borderRadius: 10,
borderWidth: 2,
borderColor: tabBar.indicator.$border,
backgroundColor: tabBar.indicator.$bg,
height: 20,
minWidth: 20,
opacity: 0.9,
},
indicatorCount: {
color: tabBar.indicator.$txt,

13
src/modules/root/index.tsx

@ -15,12 +15,25 @@ import { @@ -15,12 +15,25 @@ import {
} from './smart-components'
import { authService } from '@/services/domain'
import { ModalPickerSmartComponent } from './smart-components/modal-picker.smart-component'
import SplashScreen from 'react-native-splash-screen'
import { NavigationService } from '@/services/system'
export const Navigation = () => {
const activeModule = useSelector(selectActiveNavigationModule)
const handleAutoAuth = async () => {
const start = new Date().getTime()
console.log('start')
await authService.autoAuth()
const now = new Date().getTime() - start
console.log('now', now)
if (now > 400) return SplashScreen.hide()
setTimeout(() => {
SplashScreen.hide()
}, 500 - now)
}
React.useEffect(() => {

21
src/modules/root/smart-components/confirm-modal.smart-component.tsx

@ -28,8 +28,11 @@ export const ConfirmModalSmartComponent: FC = () => { @@ -28,8 +28,11 @@ export const ConfirmModalSmartComponent: FC = () => {
useEventsListener<'openConfirmModal'>(
'openConfirmModal',
data => {
sheetRef.current.open()
// console.log(JSON.stringify(sheetRef.current))
console.log('log')
try {
sheetRef.current.open()
settingsRef.current = {
allowBtnAction: data.allowBtnAction,
notAllowBtnAction: data.notAllowBtnAction,
@ -40,7 +43,7 @@ export const ConfirmModalSmartComponent: FC = () => { @@ -40,7 +43,7 @@ export const ConfirmModalSmartComponent: FC = () => {
console.log(e)
}
},
[sheetRef.current],
[sheetRef, settingsRef, setTitle, setButtonToHighlight],
)
useEventsListener<'closeConfirmModal'>(
@ -51,6 +54,16 @@ export const ConfirmModalSmartComponent: FC = () => { @@ -51,6 +54,16 @@ export const ConfirmModalSmartComponent: FC = () => {
[sheetRef.current],
)
const pressNowAllow = () => {
settingsRef.current.notAllowBtnAction()
sheetRef.current.close()
}
const pressAllow = () => {
settingsRef.current.allowBtnAction()
sheetRef.current.close()
}
return (
<BottomModal
closeOnPressMask
@ -59,7 +72,7 @@ export const ConfirmModalSmartComponent: FC = () => { @@ -59,7 +72,7 @@ export const ConfirmModalSmartComponent: FC = () => {
<View style={styles.btnsPair}>
<Button
title={'Ні'}
onPress={() => settingsRef.current.notAllowBtnAction()}
onPress={() => pressNowAllow()}
style={styles.btn}
type={
buttonToHighlight === 'notAllow' ? 'border' : 'primary'
@ -67,7 +80,7 @@ export const ConfirmModalSmartComponent: FC = () => { @@ -67,7 +80,7 @@ export const ConfirmModalSmartComponent: FC = () => {
/>
<Button
title={'Так'}
onPress={() => settingsRef.current.allowBtnAction()}
onPress={() => pressAllow()}
style={styles.btn}
type={buttonToHighlight === 'allow' ? 'border' : 'primary'}
/>

13
src/modules/settings/components/setting-item.component.tsx

@ -4,7 +4,7 @@ import { PartialTheme } from '@/shared/themes/interfaces' @@ -4,7 +4,7 @@ import { PartialTheme } from '@/shared/themes/interfaces'
import React, { FC, useMemo } from 'react'
import { TouchableOpacity, View, Text, StyleSheet } from 'react-native'
import { SettingsItemActionType } from '../enums'
import Switch from 'react-native-draggable-switch';
import Switch from 'react-native-draggable-switch'
interface IProps {
title: string
@ -37,8 +37,15 @@ export const SettingItem: FC<IProps> = props => { @@ -37,8 +37,15 @@ export const SettingItem: FC<IProps> = props => {
value={props.switchDefaultValue}
activeColor={'#DE253B'}
backgroundColor={settings.switch.trackColor.false}
circleColor={props.switchDefaultValue ? settings.switch.thumbColor.true : settings.switch.thumbColor.false}
containerStyle={{ borderWidth: 1, borderColor: settings.switch.borderColor }}
circleColor={
props.switchDefaultValue
? settings.switch.thumbColor.true
: settings.switch.thumbColor.false
}
containerStyle={{
borderWidth: 1,
borderColor: settings.switch.borderColor,
}}
/>
),
}

12
src/modules/settings/hooks/use-setting-navigation-list.hook.ts

@ -3,7 +3,7 @@ import { ThemeContext } from '@/shared/themes' @@ -3,7 +3,7 @@ import { ThemeContext } from '@/shared/themes'
import { useContext } from 'react'
import { SettingsItemActionType } from '../enums'
export const UseSettingNavigationList = (navigation: {
export const useSettingNavigationList = (navigation: {
navigate: (to: string, params?: any) => any
}) => {
const { toggleTheme, changeTheme, themeTitle } = useContext(ThemeContext)
@ -17,19 +17,19 @@ export const UseSettingNavigationList = (navigation: { @@ -17,19 +17,19 @@ export const UseSettingNavigationList = (navigation: {
{
title: 'Змінити фон повідомлень',
icon: 'selectionbackground-1',
onPress: () => { },
onPress: () => {},
actionType: SettingsItemActionType.link,
},
{
title: 'Очистити кеш додатку',
icon: 'wrench-1',
onPress: () => { },
onPress: () => {},
actionType: SettingsItemActionType.link,
},
{
title: 'Синхронізувати задачі в Google/Apple',
icon: 'calendar',
onPress: () => { },
onPress: () => {},
actionType: SettingsItemActionType.none,
},
{
@ -42,13 +42,13 @@ export const UseSettingNavigationList = (navigation: { @@ -42,13 +42,13 @@ export const UseSettingNavigationList = (navigation: {
{
title: 'Очистити повідомлення всіх бесід',
icon: 'bin',
onPress: () => { },
onPress: () => {},
actionType: SettingsItemActionType.none,
},
{
title: 'Видалити всі бесіди',
icon: 'bin',
onPress: () => { },
onPress: () => {},
actionType: SettingsItemActionType.none,
lastItem: true,
},

38
src/modules/settings/screens/settings.screen.tsx

@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
import React, { FC } from 'react'
import React, { FC, useMemo } from 'react'
import { $size, ScreenLayout } from '@/shared'
import { StyleSheet, View, Text, Image, Dimensions } from 'react-native'
import { StyleSheet, View, Text, Image } from 'react-native'
import { SettingItem } from '../components/setting-item.component'
import { UseSettingNavigationList } from '../hooks'
import { useSettingNavigationList } from '../hooks'
import { IRouteParams } from '@/shared'
import { PartialTheme } from '@/shared/themes/interfaces'
import { useTheme } from '@/shared/hooks/use-theme.hook'
@ -12,7 +12,22 @@ interface IProps extends IRouteParams {} @@ -12,7 +12,22 @@ interface IProps extends IRouteParams {}
export const SettingsScreen: FC<IProps> = ({ navigation }) => {
const { styles } = useTheme(createStyles)
const settingListConfig = UseSettingNavigationList(navigation)
const settingListConfig = useSettingNavigationList(navigation)
const items = useMemo(() => {
return settingListConfig.map(item => {
return (
<SettingItem
title={item.title}
icon={item.icon}
onPress={item.onPress}
lastItem={item.lastItem}
actionType={item.actionType}
switchDefaultValue={item.switchDefaultValue}
/>
)
})
}, [settingListConfig])
return (
<ScreenLayout
@ -25,20 +40,7 @@ export const SettingsScreen: FC<IProps> = ({ navigation }) => { @@ -25,20 +40,7 @@ export const SettingsScreen: FC<IProps> = ({ navigation }) => {
flexGrow: 1,
}}
needScroll={true}>
<View style={styles.wrapper}>
{settingListConfig.map(item => {
return (
<SettingItem
title={item.title}
icon={item.icon}
onPress={item.onPress}
lastItem={item.lastItem}
actionType={item.actionType}
switchDefaultValue={item.switchDefaultValue}
/>
)
})}
</View>
<View style={styles.wrapper}>{items}</View>
<View style={styles.logoWrapper}>
<Image
style={styles.logo as any}

18
src/shared/components/elements/image.component.tsx

@ -12,18 +12,16 @@ interface IProps { @@ -12,18 +12,16 @@ interface IProps {
export const ImageComponent = (props: IProps) => {
const { styles } = useTheme(createStyles)
if (!props.imageProps) return null
return (
<View style={[styles.container, props.style]}>
{!props.imageProps ? null : (
<Image
{...props.imageProps}
style={{
maxHeight: props.maxHeight,
maxWidth: props.maxWidth,
}}
/>
)}
<Image
{...props.imageProps}
style={{
maxHeight: props.maxHeight,
maxWidth: props.maxWidth,
}}
/>
</View>
)
}

7
src/shared/components/forms/form-large-control-with-icon.component.tsx

@ -8,6 +8,7 @@ import { @@ -8,6 +8,7 @@ import {
TextInput,
ColorValue,
ViewStyle,
TextInputProps,
} from 'react-native'
import { PartialTheme } from '@/shared/themes/interfaces'
import { useTheme } from '@/shared/hooks/use-theme.hook'
@ -33,6 +34,7 @@ interface IProps { @@ -33,6 +34,7 @@ interface IProps {
placeholderTextColor?: ColorValue
disabled?: boolean
inputRef?: any
inputType?: TextInputProps['keyboardType']
}
export const LargeFormControlWithIcon = (props: IProps) => {
@ -59,6 +61,7 @@ export const LargeFormControlWithIcon = (props: IProps) => { @@ -59,6 +61,7 @@ export const LargeFormControlWithIcon = (props: IProps) => {
</View>
)}
<TextInput
keyboardType={props.inputType}
ref={props.inputRef}
editable={!props.disabled}
value={props.value}
@ -71,8 +74,8 @@ export const LargeFormControlWithIcon = (props: IProps) => { @@ -71,8 +74,8 @@ export const LargeFormControlWithIcon = (props: IProps) => {
}
/>
</View>
{props.error && <Text style={styles.error}>{props.error}</Text>}
</View>
{props.error && <Text style={styles.error}>{props.error}</Text>}
</>
)
}
@ -94,6 +97,7 @@ const createStyles = (theme: PartialTheme) => @@ -94,6 +97,7 @@ const createStyles = (theme: PartialTheme) =>
borderRadius: 14,
flexDirection: 'row',
paddingHorizontal: $size(20),
marginBottom: $size(6, 3),
},
input: {
height: $size(56, 50),
@ -110,7 +114,6 @@ const createStyles = (theme: PartialTheme) => @@ -110,7 +114,6 @@ const createStyles = (theme: PartialTheme) =>
},
error: {
color: theme.$errorText,
marginBottom: $size(15),
fontSize: $size(12),
},
})

5
src/shared/components/forms/form-phone.component.tsx

@ -92,6 +92,7 @@ const createStyles = (theme: PartialTheme) => @@ -92,6 +92,7 @@ const createStyles = (theme: PartialTheme) =>
borderRadius: 14,
flexDirection: 'row',
paddingHorizontal: $size(20),
marginBottom: $size(6, 3),
},
input: {
height: $size(56, 50),
@ -101,14 +102,14 @@ const createStyles = (theme: PartialTheme) => @@ -101,14 +102,14 @@ const createStyles = (theme: PartialTheme) =>
color: theme.$textPrimary,
},
icon: {
backgroundColor: theme.roundButtonComponent.$primaryBg,
backgroundColor: theme.iconInput.$iconBg,
marginRight: $size(15),
minWidth: $size(32, 28),
minHeight: $size(32, 28),
},
error: {
color: theme.$errorText,
marginBottom: $size(15),
marginBottom: $size(15, 10),
fontSize: $size(12),
},
})

2
src/shared/components/headers/primary-header.component.tsx

@ -67,7 +67,7 @@ const createStyles = (theme: PartialTheme) => @@ -67,7 +67,7 @@ const createStyles = (theme: PartialTheme) =>
paddingLeft: $size(16, 12),
},
title: {
fontSize: $size(16, 14),
fontSize: $size(17, 15),
fontWeight: isAndroid('bold', '600'),
color: theme.$textPrimary,
},

33
src/shared/components/images/img-with-bg-circle.components.tsx

@ -14,26 +14,28 @@ interface IProps { @@ -14,26 +14,28 @@ interface IProps {
paddingRight?: number
}
style?: ViewStyle
height?: number
width?: number
}
export const ImgWithBgCircle: FC<IProps> = ({
source,
bgCircleTopPosition,
imgStyle,
style,
height = 270,
width = 270,
}) => {
const { styles } = useTheme(createStyles)
return (
<View style={style}>
<View style={[styles.bgCircle, { top: bgCircleTopPosition }]} />
<View style={[style, styles.bgCircle]}>
<ImageComponent
imageProps={{
source,
resizeMode: 'contain',
}}
maxWidth={270}
maxHeight={270}
maxWidth={height}
maxHeight={width}
style={[styles.img, imgStyle]}
/>
</View>
@ -42,27 +44,22 @@ export const ImgWithBgCircle: FC<IProps> = ({ @@ -42,27 +44,22 @@ export const ImgWithBgCircle: FC<IProps> = ({
const createStyles = ({ ImgWithBgCircle }: PartialTheme) =>
StyleSheet.create({
container: {
position: 'relative',
alignItems: 'center',
justifyContent: 'center',
width: $size(255, 250),
height: $size(255, 250),
},
bgCircle: {
alignSelf: 'center',
borderRadius: 1000,
position: 'absolute',
width: $size(255, 250),
height: $size(255, 250),
// position: 'absolute',
width: $size(255, 150),
height: $size(255, 150),
backgroundColor: ImgWithBgCircle.$circle,
marginBottom: $size(80),
justifyContent: 'center',
alignItems: 'center',
},
img: {
zIndex: 1,
justifyContent: 'center',
alignItems: 'center',
maxHeight: $size(300),
paddingLeft: $size(10),
marginVertical: $size(70),
},
})

13
src/shared/components/layouts/auth-layout.component.tsx

@ -9,16 +9,5 @@ interface IProps { @@ -9,16 +9,5 @@ interface IProps {
}
export const AuthLayout = (props: IProps) => {
const { styles } = useTheme(createStyles)
return (
<ScreenLayout needScroll={true}>
<View style={styles.wrapper}>{props.children}</View>
</ScreenLayout>
)
return <ScreenLayout needScroll={false}>{props.children}</ScreenLayout>
}
const createStyles = (theme: PartialTheme) =>
StyleSheet.create({
wrapper: {},
})

31
src/shared/components/layouts/screen-layout-content.component.tsx

@ -23,7 +23,7 @@ interface ScreenLayoutContentProps { @@ -23,7 +23,7 @@ interface ScreenLayoutContentProps {
viewStyle?: ViewStyle
leftBottomRound?: boolean
backdropBackground?: string
withOutKeyboardSpacer?: boolean
keyboardSpacerOn?: boolean
}
export const ScreenLayoutContent: FC<ScreenLayoutContentProps> = ({
@ -33,9 +33,8 @@ export const ScreenLayoutContent: FC<ScreenLayoutContentProps> = ({ @@ -33,9 +33,8 @@ export const ScreenLayoutContent: FC<ScreenLayoutContentProps> = ({
needScroll,
scrollStyle,
viewStyle,
leftBottomRound,
backdropBackground,
withOutKeyboardSpacer,
keyboardSpacerOn,
}) => {
const { styles } = useTheme(createStyles)
@ -44,17 +43,18 @@ export const ScreenLayoutContent: FC<ScreenLayoutContentProps> = ({ @@ -44,17 +43,18 @@ export const ScreenLayoutContent: FC<ScreenLayoutContentProps> = ({
<SafeAreaView style={styles.view}>
{header && header()}
<KeyboardAwareScrollView
enableOnAndroid
// enableOnAndroid
enableAutomaticScroll
extraHeight={$size(110, 100)}>
<ScrollView
contentContainerStyle={[
{ paddingHorizontal: $size(horizontalPadding), },
scrollStyle,
]}>
{children}
{!withOutKeyboardSpacer && <KeyboardSpacer />}
</ScrollView>
extraHeight={Platform.OS === 'ios' ? 100 : 75}
contentContainerStyle={[
{
paddingHorizontal: $size(horizontalPadding),
flexGrow: 1,
},
scrollStyle,
]}>
{children}
{keyboardSpacerOn && <KeyboardSpacer />}
</KeyboardAwareScrollView>
</SafeAreaView>
)
@ -67,11 +67,12 @@ export const ScreenLayoutContent: FC<ScreenLayoutContentProps> = ({ @@ -67,11 +67,12 @@ export const ScreenLayoutContent: FC<ScreenLayoutContentProps> = ({
viewStyle,
{
paddingHorizontal: $size(horizontalPadding),
flex: 1,
},
]}>
{children}
</View>
{!withOutKeyboardSpacer && <KeyboardSpacer />}
{keyboardSpacerOn && <KeyboardSpacer />}
</SafeAreaView>
)
}

8
src/shared/components/layouts/screen-layout.component.tsx

@ -14,7 +14,7 @@ interface ScreenLayoutProps { @@ -14,7 +14,7 @@ interface ScreenLayoutProps {
leftBottomRound?: boolean
backdropBackground?: string
horizontalPadding?: number
withOutKeyboardSpacer?: boolean
keyboardSpacerOn?: boolean
headerComponent?: ReactElement
header?: {
title?: string
@ -29,7 +29,11 @@ export const ScreenLayout = (props: ScreenLayoutProps) => { @@ -29,7 +29,11 @@ export const ScreenLayout = (props: ScreenLayoutProps) => {
const { styles, themeTitle } = useTheme(createStyles)
return (
<View style={styles.container}>
<StatusBar barStyle={themeTitle === 'light' ? 'dark-content' : 'light-content'} />
<StatusBar
barStyle={
themeTitle === 'light' ? 'dark-content' : 'light-content'
}
/>
<ScreenLayoutContent
{...props}
header={() => {

17
src/shared/themes/dark/auth.ts

@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
import { AuthColors } from '../interfaces/auth.interface'
import { colors } from './colors'
export const authColors: AuthColors = {
auth: {
$title: '',
$subTitle: '',
input: {
$icon: '',
$placeholder: '',
$text: '',
},
$icon: '#9E2743',
$iconBg: '#fff',
},
}

4
src/shared/themes/dark/index.ts

@ -8,6 +8,7 @@ import { contactsColors } from './contacts' @@ -8,6 +8,7 @@ import { contactsColors } from './contacts'
import { callsColors } from './calls'
import { chatColors } from './chat'
import { accountColors } from './account'
import { authColors } from './auth'
export const darkTheme: Partial<Theme> = {
...colors,
@ -18,5 +19,6 @@ export const darkTheme: Partial<Theme> = { @@ -18,5 +19,6 @@ export const darkTheme: Partial<Theme> = {
...contactsColors,
...callsColors,
...chatColors,
...accountColors
...accountColors,
...authColors,
}

13
src/shared/themes/dark/shared-components.ts

@ -5,7 +5,7 @@ export const sharedComponentsColors: SharedComponentsColors = { @@ -5,7 +5,7 @@ export const sharedComponentsColors: SharedComponentsColors = {
primaryBtn: {
$bg: colors.$primary,
$text: colors.$secondary,
$border: colors.$secondaryText
$border: colors.$secondaryText,
},
borderBtn: {
@ -15,8 +15,8 @@ export const sharedComponentsColors: SharedComponentsColors = { @@ -15,8 +15,8 @@ export const sharedComponentsColors: SharedComponentsColors = {
},
iconInput: {
$icon: '#000',
$iconBg: colors.$primary,
$icon: '#9E2743',
$iconBg: '#fff',
$placeholder: '#7F7F7F',
$text: '#7F7F7F',
},
@ -36,7 +36,7 @@ export const sharedComponentsColors: SharedComponentsColors = { @@ -36,7 +36,7 @@ export const sharedComponentsColors: SharedComponentsColors = {
$secondaryColor: '#000',
$iconBg: colors.$primary,
$primaryBg: '#EAEAEA',
$selectedIcon: '#DE253B'
$selectedIcon: '#DE253B',
},
roundButtonComponent: {
@ -46,7 +46,6 @@ export const sharedComponentsColors: SharedComponentsColors = { @@ -46,7 +46,6 @@ export const sharedComponentsColors: SharedComponentsColors = {
$primaryBg: '#D2D2D2',
},
formSelect: {
$bg: colors.$primary,
$icon: colors.$primary,
@ -69,6 +68,6 @@ export const sharedComponentsColors: SharedComponentsColors = { @@ -69,6 +68,6 @@ export const sharedComponentsColors: SharedComponentsColors = {
},
ImgWithBgCircle: {
$circle: 'rgba(31, 31, 31, 1)'
}
$circle: 'rgba(31, 31, 31, 1)',
},
}

17
src/shared/themes/interfaces/auth.interface.ts

@ -1,12 +1,15 @@ @@ -1,12 +1,15 @@
export interface AuthColors {
auth: {
$title: string;
$subTitle: string;
$title: string
$subTitle: string
input: {
$icon: string;
$placeholder: string;
$text: string;
};
};
$icon: string
$placeholder: string
$text: string
}
$icon: string
$iconBg: string
}
}

18
src/shared/themes/light/auth.ts

@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
import { AuthColors } from '../interfaces/auth.interface'
import { colors } from './colors'
export const authColors: AuthColors = {
auth: {
$title: '',
$subTitle: '',
input: {
$icon: '',
$placeholder: '',
$text: '',
},
$icon: '#9E2743',
$iconBg: colors.$primary,
},
}

4
src/shared/themes/light/index.ts

@ -8,6 +8,7 @@ import { taskCardColors } from './task-card' @@ -8,6 +8,7 @@ import { taskCardColors } from './task-card'
import { contactsColors } from './contacts'
import { callsColors } from './calls'
import { accountColors } from './account'
import { authColors } from './auth'
export const lightTheme: Partial<Theme> = {
...colors,
@ -18,5 +19,6 @@ export const lightTheme: Partial<Theme> = { @@ -18,5 +19,6 @@ export const lightTheme: Partial<Theme> = {
...contactsColors,
...callsColors,
...chatColors,
...accountColors
...accountColors,
...authColors,
}

2
src/shared/themes/light/navigation.ts

@ -6,7 +6,7 @@ export const navigation: NavigationColors = { @@ -6,7 +6,7 @@ export const navigation: NavigationColors = {
$iconColor: '#B2B3B7',
$activeIcon: '#9F2843',
$addTaskBtn: '#9F2843',
$shadowColor: 'rgba(221, 37, 59, 0.35)',
$shadowColor: '#DD253B',
indicator: {
$bg: '#9E2743',
$txt: '#fff',

38
src/shared/themes/light/settings.ts

@ -1,23 +1,21 @@ @@ -1,23 +1,21 @@
import { SettingColors } from "../interfaces/setting.interface";
import { SettingColors } from '../interfaces/setting.interface'
export const settingsColors: SettingColors = {
settings: {
$bgColor: '#fff',
$iconColor: '#DE253B',
$borderColor: '#EAEAEA',
$arrowIconColor: '#C6C6C6',
switch: {
borderColor: '#C6C6C6',
trackColor: {
true: '#DE253B',
false: '#fff'
},
thumbColor: {
false: '#C6C6C6',
true: '#fff'
}
}
}
settings: {
$bgColor: '#fff',
$iconColor: '#9E2843',
$borderColor: '#EAEAEA',
$arrowIconColor: '#C6C6C6',
switch: {
borderColor: '#C6C6C6',
trackColor: {
true: '#DE253B',
false: '#fff',
},
thumbColor: {
false: '#C6C6C6',
true: '#fff',
},
},
},
}

8
src/shared/themes/light/shared-components.ts

@ -15,7 +15,7 @@ export const sharedComponentsColors: SharedComponentsColors = { @@ -15,7 +15,7 @@ export const sharedComponentsColors: SharedComponentsColors = {
},
iconInput: {
$icon: colors.$secondary,
$icon: '#9E2743',
$iconBg: colors.$primary,
$placeholder: '#7F7F7F',
$text: '#7F7F7F',
@ -40,7 +40,7 @@ export const sharedComponentsColors: SharedComponentsColors = { @@ -40,7 +40,7 @@ export const sharedComponentsColors: SharedComponentsColors = {
},
roundButtonComponent: {
$primaryIcon: '#DE253B',
$primaryIcon: '#9E2743',
$secondaryIcon: '#FFFFFF',
$secondaryBg: '#C6C6C6',
$primaryBg: colors.$primary,
@ -68,6 +68,6 @@ export const sharedComponentsColors: SharedComponentsColors = { @@ -68,6 +68,6 @@ export const sharedComponentsColors: SharedComponentsColors = {
},
ImgWithBgCircle: {
$circle: '#fff'
}
$circle: '#fff',
},
}

2
src/store/shared/reducer.ts

@ -8,7 +8,7 @@ export interface ISharedState { @@ -8,7 +8,7 @@ export interface ISharedState {
}
const initialState: ISharedState = {
activeNavigationModule: NavigationModuleKey.Loading,
activeNavigationModule: NavigationModuleKey.Pending,
isForbidden: false,
}

385
yarn.lock

@ -666,7 +666,7 @@ @@ -666,7 +666,7 @@
"pirates" "^4.0.0"
"source-map-support" "^0.5.16"
"@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
"@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
"integrity" "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA=="
"resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz"
"version" "7.15.3"
@ -1396,6 +1396,11 @@ @@ -1396,6 +1396,11 @@
"resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz"
"version" "15.7.4"
"@types/q@^1.5.1":
"integrity" "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ=="
"resolved" "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz"
"version" "1.5.5"
"@types/react-native-drawer@^2.5.5":
"integrity" "sha512-aJ0J2ayMfUSIvhRKg4GuKWF4XB5JCWaD8mTtM2aF4tPrG5c9aSPhREuZvKfbjBXY5EAvhrt4hwc8CxWiPOZhYQ=="
"resolved" "https://registry.npmjs.org/@types/react-native-drawer/-/react-native-drawer-2.5.5.tgz"
@ -1536,6 +1541,11 @@ @@ -1536,6 +1541,11 @@
dependencies:
"event-target-shim" "^5.0.0"
"abs-svg-path@^0.1.1":
"integrity" "sha1-32Acjo0roQ1KdtYl4japo5wnI78="
"resolved" "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz"
"version" "0.1.1"
"absolute-path@^0.0.0":
"integrity" "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c="
"resolved" "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz"
@ -1685,6 +1695,11 @@ @@ -1685,6 +1695,11 @@
"resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz"
"version" "5.0.0"
"ansi-regex@^5.0.1":
"integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
"resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
"version" "5.0.1"
"ansi-styles@^3.2.0":
"integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
"resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
@ -2158,6 +2173,11 @@ @@ -2158,6 +2173,11 @@
"resolved" "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz"
"version" "0.0.5"
"boolbase@^1.0.0", "boolbase@~1.0.0":
"integrity" "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
"resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
"version" "1.0.0"
"bplist-creator@0.0.8":
"integrity" "sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA=="
"resolved" "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz"
@ -2350,6 +2370,15 @@ @@ -2350,6 +2370,15 @@
"escape-string-regexp" "^1.0.5"
"supports-color" "^5.3.0"
"chalk@^2.4.1":
"integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
"resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
"version" "2.4.2"
dependencies:
"ansi-styles" "^3.2.1"
"escape-string-regexp" "^1.0.5"
"supports-color" "^5.3.0"
"chalk@^2.4.2":
"integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
"resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
@ -2367,7 +2396,7 @@ @@ -2367,7 +2396,7 @@
"ansi-styles" "^4.1.0"
"supports-color" "^7.1.0"
"chalk@^4.0.0":
"chalk@^4.0.0", "chalk@^4.1.2":
"integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="
"resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
"version" "4.1.2"
@ -2478,6 +2507,15 @@ @@ -2478,6 +2507,15 @@
"resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz"
"version" "4.6.0"
"coa@^2.0.2":
"integrity" "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA=="
"resolved" "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz"
"version" "2.0.2"
dependencies:
"@types/q" "^1.5.1"
"chalk" "^2.4.1"
"q" "^1.1.2"
"code-point-at@^1.0.0":
"integrity" "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
"resolved" "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz"
@ -2496,6 +2534,13 @@ @@ -2496,6 +2534,13 @@
"map-visit" "^1.0.0"
"object-visit" "^1.0.0"
"color-alpha@^1.0.2":
"integrity" "sha512-krPYBO1RSO5LH4AGb/b6z70O1Ip2o0F0+0cVFN5FN99jfQtZFT08rQyg+9oOBNJYAn3SRwJIFC8jUEOKz7PisA=="
"resolved" "https://registry.npmjs.org/color-alpha/-/color-alpha-1.1.3.tgz"
"version" "1.1.3"
dependencies:
"color-parse" "^1.4.1"
"color-convert@^1.9.0", "color-convert@^1.9.3":
"integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
"resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
@ -2520,6 +2565,13 @@ @@ -2520,6 +2565,13 @@
"resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
"version" "1.1.4"
"color-parse@^1.4.1":
"integrity" "sha512-RI7s49/8yqDj3fECFZjUI1Yi0z/Gq1py43oNJivAIIDSyJiOZLfYCRQEgn8HEVAj++PcRe8AnL2XF0fRJ3BTnA=="
"resolved" "https://registry.npmjs.org/color-parse/-/color-parse-1.4.2.tgz"
"version" "1.4.2"
dependencies:
"color-name" "^1.0.0"
"color-string@^1.6.0":
"integrity" "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA=="
"resolved" "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz"
@ -2581,6 +2633,11 @@ @@ -2581,6 +2633,11 @@
"resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz"
"version" "2.20.3"
"commander@^8.1.0":
"integrity" "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="
"resolved" "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz"
"version" "8.3.0"
"commander@~2.13.0":
"integrity" "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA=="
"resolved" "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz"
@ -2744,6 +2801,49 @@ @@ -2744,6 +2801,49 @@
"shebang-command" "^2.0.0"
"which" "^2.0.1"
"css-select-base-adapter@^0.1.1":
"integrity" "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w=="
"resolved" "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz"
"version" "0.1.1"
"css-select@^2.0.0", "css-select@^2.0.2":
"integrity" "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ=="
"resolved" "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz"
"version" "2.1.0"
dependencies:
"boolbase" "^1.0.0"
"css-what" "^3.2.1"
"domutils" "^1.7.0"
"nth-check" "^1.0.2"
"css-tree@^1.0.0-alpha.37", "css-tree@1.0.0-alpha.37":
"integrity" "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg=="
"resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz"
"version" "1.0.0-alpha.37"
dependencies:
"mdn-data" "2.0.4"
"source-map" "^0.6.1"
"css-tree@^1.1.2":
"integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q=="
"resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz"
"version" "1.1.3"
dependencies:
"mdn-data" "2.0.14"
"source-map" "^0.6.1"
"css-what@^3.2.1":
"integrity" "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ=="
"resolved" "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz"
"version" "3.4.2"
"csso@^4.0.2":
"integrity" "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA=="
"resolved" "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz"
"version" "4.2.0"
dependencies:
"css-tree" "^1.1.2"
"cssom@^0.4.4":
"integrity" "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw=="
"resolved" "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz"
@ -2999,6 +3099,24 @@ @@ -2999,6 +3099,24 @@
dependencies:
"esutils" "^2.0.2"
"dom-serializer@0":
"integrity" "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g=="
"resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz"
"version" "0.2.2"
dependencies:
"domelementtype" "^2.0.1"
"entities" "^2.0.0"
"domelementtype@^2.0.1":
"integrity" "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A=="
"resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz"
"version" "2.2.0"
"domelementtype@1":
"integrity" "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
"resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz"
"version" "1.3.1"
"domexception@^2.0.1":
"integrity" "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg=="
"resolved" "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz"
@ -3006,6 +3124,14 @@ @@ -3006,6 +3124,14 @@
dependencies:
"webidl-conversions" "^5.0.0"
"domutils@^1.7.0":
"integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg=="
"resolved" "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz"
"version" "1.7.0"
dependencies:
"dom-serializer" "0"
"domelementtype" "1"
"ecc-jsbn@~0.1.1":
"integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk="
"resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"
@ -3100,6 +3226,11 @@ @@ -3100,6 +3226,11 @@
dependencies:
"ansi-colors" "^4.1.1"
"entities@^2.0.0":
"integrity" "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
"resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz"
"version" "2.2.0"
"envinfo@^7.5.0", "envinfo@^7.7.2":
"integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw=="
"resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz"
@ -3127,22 +3258,25 @@ @@ -3127,22 +3258,25 @@
"accepts" "~1.3.7"
"escape-html" "~1.0.3"
"es-abstract@^1.18.0-next.1", "es-abstract@^1.18.0-next.2", "es-abstract@^1.18.2":
"integrity" "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA=="
"resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz"
"version" "1.18.5"
"es-abstract@^1.17.2", "es-abstract@^1.18.0-next.1", "es-abstract@^1.18.0-next.2", "es-abstract@^1.18.2", "es-abstract@^1.19.1":
"integrity" "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w=="
"resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz"
"version" "1.19.1"
dependencies:
"call-bind" "^1.0.2"
"es-to-primitive" "^1.2.1"
"function-bind" "^1.1.1"
"get-intrinsic" "^1.1.1"
"get-symbol-description" "^1.0.0"
"has" "^1.0.3"
"has-symbols" "^1.0.2"
"internal-slot" "^1.0.3"
"is-callable" "^1.2.3"
"is-callable" "^1.2.4"
"is-negative-zero" "^2.0.1"
"is-regex" "^1.1.3"
"is-string" "^1.0.6"
"is-regex" "^1.1.4"
"is-shared-array-buffer" "^1.0.1"
"is-string" "^1.0.7"
"is-weakref" "^1.0.1"
"object-inspect" "^1.11.0"
"object-keys" "^1.1.1"
"object.assign" "^4.1.2"
@ -3764,7 +3898,7 @@ @@ -3764,7 +3898,7 @@
"jsonfile" "^2.1.0"
"klaw" "^1.0.0"
"fs-extra@^8.1.0":
"fs-extra@^8.1.0", "fs-extra@>=3.0.0":
"integrity" "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="
"resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz"
"version" "8.1.0"
@ -3850,6 +3984,14 @@ @@ -3850,6 +3984,14 @@
dependencies:
"pump" "^3.0.0"
"get-symbol-description@^1.0.0":
"integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw=="
"resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz"
"version" "1.0.0"
dependencies:
"call-bind" "^1.0.2"
"get-intrinsic" "^1.1.1"
"get-value@^2.0.3", "get-value@^2.0.6":
"integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
"resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz"
@ -4081,6 +4223,20 @@ @@ -4081,6 +4223,20 @@
"resolved" "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz"
"version" "1.1.1"
"icon-set-creator@^0.1.3":
"integrity" "sha512-2Gl8632rb4uMSrKsoH6fofYN5D2+3jGhcFVVC1Tg9S+Qq+1k8r1Xehzmc6t/ewT9ZNeiRbMcupcYV60r0JQV8A=="
"resolved" "https://registry.npmjs.org/icon-set-creator/-/icon-set-creator-0.1.3.tgz"
"version" "0.1.3"
dependencies:
"chalk" "^4.1.2"
"commander" "^8.1.0"
"leven" "^3.1.0"
"minimist" "^1.2.5"
"read-pkg" "^5.1.1"
"semver" "^7.3.5"
"sharp" "^0.28.3"
"strip-ansi" "^6.0.0"
"iconv-lite@^0.4.17", "iconv-lite@0.4.24":
"integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="
"resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
@ -4265,7 +4421,7 @@ @@ -4265,7 +4421,7 @@
"resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
"version" "1.1.6"
"is-callable@^1.1.4", "is-callable@^1.2.3":
"is-callable@^1.1.4", "is-callable@^1.2.4":
"integrity" "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w=="
"resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz"
"version" "1.2.4"
@ -4434,7 +4590,7 @@ @@ -4434,7 +4590,7 @@
"resolved" "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz"
"version" "1.0.1"
"is-regex@^1.1.3":
"is-regex@^1.1.4":
"integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg=="
"resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz"
"version" "1.1.4"
@ -4442,6 +4598,11 @@ @@ -4442,6 +4598,11 @@
"call-bind" "^1.0.2"
"has-tostringtag" "^1.0.0"
"is-shared-array-buffer@^1.0.1":
"integrity" "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA=="
"resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz"
"version" "1.0.1"
"is-stream@^1.0.1", "is-stream@^1.1.0":
"integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
"resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"
@ -4452,13 +4613,18 @@ @@ -4452,13 +4613,18 @@
"resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
"version" "2.0.1"
"is-string@^1.0.5", "is-string@^1.0.6":
"is-string@^1.0.5", "is-string@^1.0.7":
"integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg=="
"resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz"
"version" "1.0.7"
dependencies:
"has-tostringtag" "^1.0.0"
"is-svg-path@^1.0.1":
"integrity" "sha1-d6tZDBKz0gNI5cehPQBAyHeE3aA="
"resolved" "https://registry.npmjs.org/is-svg-path/-/is-svg-path-1.0.2.tgz"
"version" "1.0.2"
"is-symbol@^1.0.2", "is-symbol@^1.0.3":
"integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg=="
"resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz"
@ -4471,6 +4637,13 @@ @@ -4471,6 +4637,13 @@
"resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"
"version" "1.0.0"
"is-weakref@^1.0.1":
"integrity" "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ=="
"resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz"
"version" "1.0.1"
dependencies:
"call-bind" "^1.0.0"
"is-windows@^1.0.2":
"integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
"resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz"
@ -5377,6 +5550,16 @@ @@ -5377,6 +5550,16 @@
dependencies:
"object-visit" "^1.0.0"
"mdn-data@2.0.14":
"integrity" "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow=="
"resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz"
"version" "2.0.14"
"mdn-data@2.0.4":
"integrity" "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA=="
"resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz"
"version" "2.0.4"
"mem@^4.3.0":
"integrity" "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w=="
"resolved" "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz"
@ -5778,7 +5961,7 @@ @@ -5778,7 +5961,7 @@
"resolved" "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz"
"version" "0.5.3"
"mkdirp@^0.5.1":
"mkdirp@^0.5.1", "mkdirp@^0.5.5", "mkdirp@~0.5.1":
"integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ=="
"resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz"
"version" "0.5.5"
@ -5874,7 +6057,7 @@ @@ -5874,7 +6057,7 @@
dependencies:
"semver" "^5.4.1"
"node-addon-api@^3.1.0":
"node-addon-api@^3.1.0", "node-addon-api@^3.2.0":
"integrity" "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
"resolved" "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz"
"version" "3.2.1"
@ -5960,6 +6143,13 @@ @@ -5960,6 +6143,13 @@
"resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
"version" "3.0.0"
"normalize-svg-path@^1.0.0":
"integrity" "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg=="
"resolved" "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz"
"version" "1.1.0"
dependencies:
"svg-arc-to-cubic-bezier" "^3.0.0"
"npm-run-path@^2.0.0":
"integrity" "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8="
"resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz"
@ -5984,6 +6174,13 @@ @@ -5984,6 +6174,13 @@
"gauge" "~2.7.3"
"set-blocking" "~2.0.0"
"nth-check@^1.0.2":
"integrity" "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg=="
"resolved" "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz"
"version" "1.0.2"
dependencies:
"boolbase" "~1.0.0"
"nuget-exe@5.8.0":
"integrity" "sha512-m95SBWa+SJNOfR0GTwdQ3OwK2915Ts3XvajYx0iaOZYydwvz6reJyptiNGf+HQhvTe5viNiRAmGXxNww9obZjw=="
"resolved" "https://registry.npmjs.org/nuget-exe/-/nuget-exe-5.8.0.tgz"
@ -6084,6 +6281,15 @@ @@ -6084,6 +6281,15 @@
"es-abstract" "^1.18.0-next.2"
"has" "^1.0.3"
"object.getownpropertydescriptors@^2.1.0":
"integrity" "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw=="
"resolved" "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz"
"version" "2.1.3"
dependencies:
"call-bind" "^1.0.2"
"define-properties" "^1.1.3"
"es-abstract" "^1.19.1"
"object.pick@^1.3.0":
"integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c="
"resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz"
@ -6091,7 +6297,7 @@ @@ -6091,7 +6297,7 @@
dependencies:
"isobject" "^3.0.1"
"object.values@^1.1.4":
"object.values@^1.1.0", "object.values@^1.1.4":
"integrity" "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg=="
"resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz"
"version" "1.1.4"
@ -6262,6 +6468,11 @@ @@ -6262,6 +6468,11 @@
"resolved" "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz"
"version" "1.0.1"
"parse-svg-path@^0.1.2":
"integrity" "sha1-en7A0esG+lMlx9PgCbhZoJtdSes="
"resolved" "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz"
"version" "0.1.2"
"parse5@6.0.1":
"integrity" "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
"resolved" "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz"
@ -6393,12 +6604,19 @@ @@ -6393,12 +6604,19 @@
"arr-union" "^2.0.1"
"extend-shallow" "^1.1.2"
"polished@^4.1.3":
"integrity" "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA=="
"resolved" "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz"
"version" "4.1.3"
dependencies:
"@babel/runtime" "^7.14.0"
"posix-character-classes@^0.1.0":
"integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
"resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz"
"version" "0.1.1"
"prebuild-install@^6.0.1":
"prebuild-install@^6.0.1", "prebuild-install@^6.1.2":
"integrity" "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ=="
"resolved" "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz"
"version" "6.1.4"
@ -6523,6 +6741,11 @@ @@ -6523,6 +6741,11 @@
"resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
"version" "2.1.1"
"q@^1.1.2":
"integrity" "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
"resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz"
"version" "1.5.1"
"qs@~6.5.2":
"integrity" "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
"resolved" "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"
@ -6698,11 +6921,47 @@ @@ -6698,11 +6921,47 @@
dependencies:
"warn-once" "^0.1.0"
"react-native-shadow-2@^5.1.2":
"integrity" "sha512-r2AdovPsTV62Rnv7d78a7Ketq/yy2tuaAFlxch8wQL8Ko2n7FcgEQhRTBHzUufm84Sgbs9EHN1nIbQ5Jay9Z3Q=="
"resolved" "https://registry.npmjs.org/react-native-shadow-2/-/react-native-shadow-2-5.1.2.tgz"
"version" "5.1.2"
dependencies:
"polished" "^4.1.3"
"react-native-shadow-view@^0.0.1":
"integrity" "sha1-sX8GSXDc0dA6g/zEOcmq/ylQynk="
"resolved" "https://registry.npmjs.org/react-native-shadow-view/-/react-native-shadow-view-0.0.1.tgz"
"version" "0.0.1"
dependencies:
"color-alpha" "^1.0.2"
"react-native-shadow@^1.2.2":
"integrity" "sha512-kwTmqRKmPEML9KbJi0uvvKd+67rOJQcr3IyNp9bg+qi/H+Wnwev/Mr8sUiUZlYEJ433ii2iNwpjc1ERMjHtMWw=="
"resolved" "https://registry.npmjs.org/react-native-shadow/-/react-native-shadow-1.2.2.tgz"
"version" "1.2.2"
"react-native-splash-screen@^3.2.0":
"integrity" "sha512-Ls9qiNZzW/OLFoI25wfjjAcrf2DZ975hn2vr6U9gyuxi2nooVbzQeFoQS5vQcbCt9QX5NY8ASEEAtlLdIa6KVg=="
"resolved" "https://registry.npmjs.org/react-native-splash-screen/-/react-native-splash-screen-3.2.0.tgz"
"version" "3.2.0"
"react-native-svg-app-icon@^0.5.0":
"integrity" "sha512-f6U0MCNlPiDXhuBeLp0znZxfEwfpJMagpqyJcG/M2yW5Gf1YGpRt8nh3K3aRhWPwfF9jY18AtbiKWiRJYzR4LQ=="
"resolved" "https://registry.npmjs.org/react-native-svg-app-icon/-/react-native-svg-app-icon-0.5.0.tgz"
"version" "0.5.0"
dependencies:
"fs-extra" ">=3.0.0"
"sharp" ">=0.23.0"
"svg2vectordrawable" "2.6.26"
"react-native-svg@*", "react-native-svg@9.13":
"integrity" "sha512-vjjuJhEhQCwWjqsgWyGy6/C/LIBM2REDxB40FU1PMhi8T3zQUwUHnA6M15pJKlQG8vaZyA+QnLyIVhjtujRgig=="
"resolved" "https://registry.npmjs.org/react-native-svg/-/react-native-svg-9.13.6.tgz"
"version" "9.13.6"
dependencies:
"css-select" "^2.0.2"
"css-tree" "^1.0.0-alpha.37"
"react-native-tab-view@^3.1.1":
"integrity" "sha512-M5pRN6utQfytKWoKlKVzg5NbkYu308qNoW1khGTtEOTs1k14p2dHJ/BWOJoJYHKbPVUyZldbG9MFT7gUl4YHnw=="
"resolved" "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-3.1.1.tgz"
@ -6747,7 +7006,7 @@ @@ -6747,7 +7006,7 @@
"use-subscription" "^1.0.0"
"whatwg-fetch" "^3.0.0"
"react-native@*", "react-native@^0.0.0-0 || ^0.60.6 || ^0.61.5 || ^0.62.2 || ^0.63.2 || ^0.64.0 || ^0.65.0 || 1000.0.0", "react-native@^0.62.0", "react-native@^0.63.0-0", "react-native@>=0.40.0", "react-native@>=0.42.0", "react-native@>=0.48.4", "react-native@>=0.57", "react-native@>=0.57.0", "react-native@>=0.59", "react-native@>=0.61.5", "react-native@>=0.63.3", "react-native@>=0.64.0-rc.0 || 0.0.0-*", "react-native@0.63.2", "react-native@0.64.2":
"react-native@*", "react-native@^0.0.0-0 || ^0.60.6 || ^0.61.5 || ^0.62.2 || ^0.63.2 || ^0.64.0 || ^0.65.0 || 1000.0.0", "react-native@^0.62.0", "react-native@^0.63.0-0", "react-native@>=0.40.0", "react-native@>=0.42.0", "react-native@>=0.48.4", "react-native@>=0.50.0", "react-native@>=0.57", "react-native@>=0.57.0", "react-native@>=0.59", "react-native@>=0.61.5", "react-native@>=0.63.3", "react-native@>=0.64.0-rc.0 || 0.0.0-*", "react-native@0.63.2", "react-native@0.64.2":
"integrity" "sha512-Ty/fFHld9DcYsFZujXYdeVjEhvSeQcwuTGXezyoOkxfiGEGrpL/uwUZvMzwShnU4zbbTKDu2PAm/uwuOittRGA=="
"resolved" "https://registry.npmjs.org/react-native/-/react-native-0.64.2.tgz"
"version" "0.64.2"
@ -6867,7 +7126,7 @@ @@ -6867,7 +7126,7 @@
"read-pkg" "^5.2.0"
"type-fest" "^0.8.1"
"read-pkg@^5.2.0":
"read-pkg@^5.1.1", "read-pkg@^5.2.0":
"integrity" "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg=="
"resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz"
"version" "5.2.0"
@ -7198,7 +7457,7 @@ @@ -7198,7 +7457,7 @@
"minimist" "^1.1.1"
"walker" "~1.0.5"
"sax@^1.2.1":
"sax@^1.2.1", "sax@~1.2.4":
"integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
"resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz"
"version" "1.2.4"
@ -7360,7 +7619,21 @@ @@ -7360,7 +7619,21 @@
dependencies:
"kind-of" "^6.0.2"
"sharp@0.28.0":
"sharp@^0.28.3":
"integrity" "sha512-21GEP45Rmr7q2qcmdnjDkNP04Ooh5v0laGS5FDpojOO84D1DJwUijLiSq8XNNM6e8aGXYtoYRh3sVNdm8NodMA=="
"resolved" "https://registry.npmjs.org/sharp/-/sharp-0.28.3.tgz"
"version" "0.28.3"
dependencies:
"color" "^3.1.3"
"detect-libc" "^1.0.3"
"node-addon-api" "^3.2.0"
"prebuild-install" "^6.1.2"
"semver" "^7.3.5"
"simple-get" "^3.1.0"
"tar-fs" "^2.1.1"
"tunnel-agent" "^0.6.0"
"sharp@>=0.23.0", "sharp@0.28.0":
"integrity" "sha512-kGTaWLNMCkLYxkH2Pv7s+5LQBnWQ4mRKXs1XD19AWOxShWvU8b78qaWqTR/4ryNcPORO+qBoBnFF/Lzda5HgkQ=="
"resolved" "https://registry.npmjs.org/sharp/-/sharp-0.28.0.tgz"
"version" "0.28.0"
@ -7661,6 +7934,11 @@ @@ -7661,6 +7934,11 @@
"safer-buffer" "^2.0.2"
"tweetnacl" "~0.14.0"
"stable@^0.1.8":
"integrity" "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
"resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz"
"version" "0.1.8"
"stack-chain@^1.3.7":
"integrity" "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU="
"resolved" "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz"
@ -7876,6 +8154,56 @@ @@ -7876,6 +8154,56 @@
"has-flag" "^4.0.0"
"supports-color" "^7.0.0"
"svg-arc-to-cubic-bezier@^3.0.0":
"integrity" "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g=="
"resolved" "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz"
"version" "3.2.0"
"svg-path-bounds@^1.0.1":
"integrity" "sha512-H4/uAgLWrppIC0kHsb2/dWUYSmb4GE5UqH06uqWBcg6LBjX2fu0A8+JrO2/FJPZiSsNOKZAhyFFgsLTdYUvSqQ=="
"resolved" "https://registry.npmjs.org/svg-path-bounds/-/svg-path-bounds-1.0.2.tgz"
"version" "1.0.2"
dependencies:
"abs-svg-path" "^0.1.1"
"is-svg-path" "^1.0.1"
"normalize-svg-path" "^1.0.0"
"parse-svg-path" "^0.1.2"
"svg2vectordrawable@2.6.26":
"integrity" "sha512-Tj+G6cPP9k7KCOLy+k8Jre2DiqxyWJEkGFYVePzwpD99L98bWahHIOL8pID6Sn3qK2gijihfU6q0NEdyBNQXvw=="
"resolved" "https://registry.npmjs.org/svg2vectordrawable/-/svg2vectordrawable-2.6.26.tgz"
"version" "2.6.26"
dependencies:
"coa" "^2.0.2"
"mkdirp" "^0.5.5"
"svg-path-bounds" "^1.0.1"
"svgo" "^1.3.2"
"svgpath" "^2.3.0"
"svgo@^1.3.2":
"integrity" "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw=="
"resolved" "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz"
"version" "1.3.2"
dependencies:
"chalk" "^2.4.1"
"coa" "^2.0.2"
"css-select" "^2.0.0"
"css-select-base-adapter" "^0.1.1"
"css-tree" "1.0.0-alpha.37"
"csso" "^4.0.2"
"js-yaml" "^3.13.1"
"mkdirp" "~0.5.1"
"object.values" "^1.1.0"
"sax" "~1.2.4"
"stable" "^0.1.8"
"unquote" "~1.1.1"
"util.promisify" "~1.0.0"
"svgpath@^2.3.0":
"integrity" "sha512-wNz6lCoj+99GMoyU7SozTfPqiLHz6WcJYZ30Z+F4lF/gPtxWHBCpZ4DhoDI0+oZ0dObKyYsJdSPGbL2mJq/qCg=="
"resolved" "https://registry.npmjs.org/svgpath/-/svgpath-2.3.1.tgz"
"version" "2.3.1"
"symbol-tree@^3.2.4":
"integrity" "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
"resolved" "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz"
@ -8213,6 +8541,11 @@ @@ -8213,6 +8541,11 @@
"resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
"version" "1.0.0"
"unquote@~1.1.1":
"integrity" "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ="
"resolved" "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz"
"version" "1.1.1"
"unset-value@^1.0.0":
"integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk="
"resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz"
@ -8258,6 +8591,16 @@ @@ -8258,6 +8591,16 @@
"resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
"version" "1.0.2"
"util.promisify@~1.0.0":
"integrity" "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA=="
"resolved" "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz"
"version" "1.0.1"
dependencies:
"define-properties" "^1.1.3"
"es-abstract" "^1.17.2"
"has-symbols" "^1.0.1"
"object.getownpropertydescriptors" "^2.1.0"
"utils-merge@1.0.1":
"integrity" "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
"resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"

Loading…
Cancel
Save