react-native-boiler-plate-vijay 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +84 -0
  3. package/package.json +32 -0
  4. package/template/.husky/pre-commit +1 -0
  5. package/template/Gemfile +16 -0
  6. package/template/README.md +272 -0
  7. package/template/__tests__/App.test.tsx +13 -0
  8. package/template/_eslintrc.js +4 -0
  9. package/template/_gitignore +71 -0
  10. package/template/_prettierrc.js +7 -0
  11. package/template/_watchmanconfig +1 -0
  12. package/template/android/app/build.gradle +119 -0
  13. package/template/android/app/debug.keystore +0 -0
  14. package/template/android/app/proguard-rules.pro +10 -0
  15. package/template/android/app/src/main/AndroidManifest.xml +28 -0
  16. package/template/android/app/src/main/assets/custom/index.ts +12 -0
  17. package/template/android/app/src/main/assets/fonts/Poppins-Black.ttf +0 -0
  18. package/template/android/app/src/main/assets/fonts/Poppins-Bold.ttf +0 -0
  19. package/template/android/app/src/main/assets/fonts/Poppins-ExtraBold.ttf +0 -0
  20. package/template/android/app/src/main/assets/fonts/Poppins-ExtraLight.ttf +0 -0
  21. package/template/android/app/src/main/assets/fonts/Poppins-Italic.ttf +0 -0
  22. package/template/android/app/src/main/assets/fonts/Poppins-Light.ttf +0 -0
  23. package/template/android/app/src/main/assets/fonts/Poppins-Medium.ttf +0 -0
  24. package/template/android/app/src/main/assets/fonts/Poppins-Regular.ttf +0 -0
  25. package/template/android/app/src/main/assets/fonts/Poppins-SemiBold.ttf +0 -0
  26. package/template/android/app/src/main/assets/fonts/Poppins-Thin.ttf +0 -0
  27. package/template/android/app/src/main/java/com/helloworld/MainActivity.kt +29 -0
  28. package/template/android/app/src/main/java/com/helloworld/MainApplication.kt +27 -0
  29. package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +37 -0
  30. package/template/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  31. package/template/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  32. package/template/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  33. package/template/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  34. package/template/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  35. package/template/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  36. package/template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  37. package/template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  38. package/template/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  39. package/template/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  40. package/template/android/app/src/main/res/values/strings.xml +3 -0
  41. package/template/android/app/src/main/res/values/styles.xml +9 -0
  42. package/template/android/build.gradle +31 -0
  43. package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  44. package/template/android/gradle/wrapper/gradle-wrapper.properties +7 -0
  45. package/template/android/gradle.properties +44 -0
  46. package/template/android/gradlew +251 -0
  47. package/template/android/gradlew.bat +99 -0
  48. package/template/android/settings.gradle +6 -0
  49. package/template/app.json +4 -0
  50. package/template/babel.config.js +38 -0
  51. package/template/index.js +9 -0
  52. package/template/ios/.xcode.env +11 -0
  53. package/template/ios/HelloWorld/AppDelegate.swift +48 -0
  54. package/template/ios/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  55. package/template/ios/HelloWorld/Images.xcassets/Contents.json +6 -0
  56. package/template/ios/HelloWorld/Info.plist +73 -0
  57. package/template/ios/HelloWorld/LaunchScreen.storyboard +47 -0
  58. package/template/ios/HelloWorld/PrivacyInfo.xcprivacy +45 -0
  59. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +547 -0
  60. package/template/ios/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld.xcscheme +88 -0
  61. package/template/ios/HelloWorld.xcworkspace/contents.xcworkspacedata +10 -0
  62. package/template/ios/Podfile +34 -0
  63. package/template/jest.config.js +3 -0
  64. package/template/metro.config.js +24 -0
  65. package/template/package.json +83 -0
  66. package/template/react-native.config.js +3 -0
  67. package/template/src/api/axiosInstance.ts +75 -0
  68. package/template/src/api/index.ts +13 -0
  69. package/template/src/appRedux/index.ts +32 -0
  70. package/template/src/appRedux/modules/LoaderSlice.ts +23 -0
  71. package/template/src/appRedux/modules/ProfileSlice.ts +56 -0
  72. package/template/src/assets/fonts/Poppins-Black.ttf +0 -0
  73. package/template/src/assets/fonts/Poppins-Bold.ttf +0 -0
  74. package/template/src/assets/fonts/Poppins-ExtraBold.ttf +0 -0
  75. package/template/src/assets/fonts/Poppins-ExtraLight.ttf +0 -0
  76. package/template/src/assets/fonts/Poppins-Italic.ttf +0 -0
  77. package/template/src/assets/fonts/Poppins-Light.ttf +0 -0
  78. package/template/src/assets/fonts/Poppins-Medium.ttf +0 -0
  79. package/template/src/assets/fonts/Poppins-Regular.ttf +0 -0
  80. package/template/src/assets/fonts/Poppins-SemiBold.ttf +0 -0
  81. package/template/src/assets/fonts/Poppins-Thin.ttf +0 -0
  82. package/template/src/assets/fonts/index.ts +12 -0
  83. package/template/src/assets/images/IC_Home_Active.svg +3 -0
  84. package/template/src/assets/images/IC_Home_UnActive.svg +4 -0
  85. package/template/src/assets/images/IC_Setting_Active.svg +3 -0
  86. package/template/src/assets/images/IC_Setting_UnActive.svg +3 -0
  87. package/template/src/assets/images/index.ts +11 -0
  88. package/template/src/assets/index.ts +1 -0
  89. package/template/src/common/asyncServices.ts +41 -0
  90. package/template/src/common/constant.ts +18 -0
  91. package/template/src/common/helperFunctions.ts +70 -0
  92. package/template/src/common/index.ts +3 -0
  93. package/template/src/components/NoInternetModalPopUp.tsx +71 -0
  94. package/template/src/components/PrimaryButton.tsx +74 -0
  95. package/template/src/components/PrimaryFlashMessage.tsx +122 -0
  96. package/template/src/components/PrimaryLoader.tsx +37 -0
  97. package/template/src/components/PrimaryScrollView.tsx +97 -0
  98. package/template/src/components/PrimaryText.tsx +25 -0
  99. package/template/src/components/index.ts +15 -0
  100. package/template/src/hooks/index.ts +0 -0
  101. package/template/src/i18n/en.json +30 -0
  102. package/template/src/i18n/es.json +30 -0
  103. package/template/src/i18n/i18n.ts +37 -0
  104. package/template/src/i18n/index.ts +4 -0
  105. package/template/src/index.tsx +25 -0
  106. package/template/src/navigation/AppStack.tsx +22 -0
  107. package/template/src/navigation/AuthStack.tsx +12 -0
  108. package/template/src/navigation/MainNavigation.tsx +35 -0
  109. package/template/src/navigation/RootNavigationRef.ts +46 -0
  110. package/template/src/navigation/TabNavigator.tsx +65 -0
  111. package/template/src/navigation/index.ts +5 -0
  112. package/template/src/screens/Home/index.tsx +51 -0
  113. package/template/src/screens/Login/index.tsx +48 -0
  114. package/template/src/screens/ModalScreen/index.tsx +56 -0
  115. package/template/src/screens/Profile/index.tsx +68 -0
  116. package/template/src/screens/index.ts +5 -0
  117. package/template/src/services/index.ts +0 -0
  118. package/template/src/static/index.ts +0 -0
  119. package/template/src/theme/colors.ts +7 -0
  120. package/template/src/theme/dimensions.ts +35 -0
  121. package/template/src/theme/index.ts +3 -0
  122. package/template/src/theme/styles.ts +7 -0
  123. package/template/src/types/declarations.d.ts +6 -0
  124. package/template/src/types/index.ts +64 -0
  125. package/template/tsconfig.json +27 -0
  126. package/template.config.js +10 -0
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ preset: 'react-native',
3
+ };
@@ -0,0 +1,24 @@
1
+ const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
2
+
3
+ const defaultConfig = getDefaultConfig(__dirname);
4
+ const {assetExts, sourceExts} = defaultConfig.resolver;
5
+
6
+ /**
7
+ * Metro configuration
8
+ * https://reactnative.dev/docs/metro
9
+ *
10
+ * @type {import('@react-native/metro-config').MetroConfig}
11
+ */
12
+ const config = {
13
+ transformer: {
14
+ babelTransformerPath: require.resolve(
15
+ 'react-native-svg-transformer/react-native',
16
+ ),
17
+ },
18
+ resolver: {
19
+ assetExts: assetExts.filter(ext => ext !== 'svg'),
20
+ sourceExts: [...sourceExts, 'svg'],
21
+ },
22
+ };
23
+
24
+ module.exports = mergeConfig(defaultConfig, config);
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "HelloWorld",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "scripts": {
6
+ "android": "react-native run-android",
7
+ "ios": "react-native run-ios",
8
+ "start": "react-native start --reset-cache",
9
+ "lint": "eslint . --ext .js,.jsx,.ts,.tsx",
10
+ "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix",
11
+ "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx}\"",
12
+ "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx}\"",
13
+ "test": "jest --passWithNoTests",
14
+ "test:coverage": "jest --coverage --passWithNoTests",
15
+ "clean:android": "cd android && ./gradlew clean && cd ..",
16
+ "clean:ios": "cd ios && xcodebuild clean && cd ..",
17
+ "clean": "react-native clean",
18
+ "prepare": "husky"
19
+ },
20
+ "dependencies": {
21
+ "@react-native-async-storage/async-storage": "^3.0.2",
22
+ "@react-native-community/netinfo": "^12.0.1",
23
+ "@react-navigation/bottom-tabs": "^7.15.11",
24
+ "@react-navigation/native": "^7.2.2",
25
+ "@react-navigation/native-stack": "^7.14.12",
26
+ "@reduxjs/toolkit": "^2.11.2",
27
+ "axios": "^1.16.1",
28
+ "i18next": "^26.2.0",
29
+ "moment": "^2.30.1",
30
+ "react": "19.2.3",
31
+ "react-i18next": "^17.0.8",
32
+ "react-native": "0.84.1",
33
+ "react-native-device-info": "^15.0.2",
34
+ "react-native-flash-message": "^0.4.2",
35
+ "react-native-gesture-handler": "^2.31.2",
36
+ "react-native-safe-area-context": "^5.7.0",
37
+ "react-native-screens": "^4.24.0",
38
+ "react-native-svg": "^15.15.5",
39
+ "react-redux": "^9.2.0",
40
+ "validator": "^13.15.35"
41
+ },
42
+ "devDependencies": {
43
+ "@babel/core": "^7.25.2",
44
+ "@babel/preset-env": "^7.25.3",
45
+ "@babel/runtime": "^7.25.0",
46
+ "@react-native-community/cli": "20.1.0",
47
+ "@react-native-community/cli-platform-android": "20.1.0",
48
+ "@react-native-community/cli-platform-ios": "20.1.0",
49
+ "@react-native/babel-preset": "0.84.1",
50
+ "@react-native/eslint-config": "0.84.1",
51
+ "@react-native/metro-config": "0.84.1",
52
+ "@react-native/typescript-config": "0.84.1",
53
+ "@types/jest": "^29.5.13",
54
+ "@types/react": "^19.2.0",
55
+ "@types/react-test-renderer": "^19.1.0",
56
+ "@types/validator": "^13.15.10",
57
+ "babel-plugin-module-resolver": "^5.0.3",
58
+ "eslint": "^8.19.0",
59
+ "husky": "^9.1.7",
60
+ "jest": "^29.6.3",
61
+ "lint-staged": "^15.2.10",
62
+ "prettier": "2.8.8",
63
+ "react-native-svg-transformer": "^1.5.3",
64
+ "react-test-renderer": "19.2.3",
65
+ "typescript": "^5.8.3"
66
+ },
67
+ "lint-staged": {
68
+ "*.{ts,tsx,js,jsx}": [
69
+ "eslint --fix",
70
+ "prettier --write"
71
+ ]
72
+ },
73
+ "jest": {
74
+ "preset": "react-native",
75
+ "setupFilesAfterFramework": [],
76
+ "transformIgnorePatterns": [
77
+ "node_modules/(?!(react-native|@react-native|@react-navigation|react-native-svg)/)"
78
+ ]
79
+ },
80
+ "engines": {
81
+ "node": ">= 22.11.0"
82
+ }
83
+ }
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ assets: ['./src/assets/fonts/'], // Adjust this path if your fonts are elsewhere
3
+ };
@@ -0,0 +1,75 @@
1
+ import store, {dispatch, toggleLoader, resetUserData} from '@appRedux';
2
+ import {
3
+ BASE_URL,
4
+ clearAsyncData,
5
+ prettyPrint,
6
+ showDangerMessage,
7
+ } from '@common';
8
+ import axios from 'axios';
9
+ import {Platform} from 'react-native';
10
+ import DeviceInfo from 'react-native-device-info';
11
+
12
+ const axiosInstance = axios.create({
13
+ baseURL: BASE_URL,
14
+ });
15
+
16
+ // to intercept the request with bearer
17
+ axiosInstance.interceptors.request.use(
18
+ async config => {
19
+ try {
20
+ const accessToken = store.getState().profile.userData.token;
21
+ if (accessToken) {
22
+ config.headers.Authorization = `Bearer ${accessToken}`;
23
+ }
24
+
25
+ const platform = Platform.OS;
26
+ if (platform) {
27
+ config.headers['app-platform'] = platform;
28
+ }
29
+
30
+ const appVersion = DeviceInfo.getVersion();
31
+ if (appVersion) {
32
+ config.headers['app-version'] = appVersion;
33
+ }
34
+ } catch (error) {
35
+ console.warn('Failed to attach auth token:', error);
36
+ }
37
+ return config;
38
+ },
39
+ error => {
40
+ // Handle request errors (e.g., network issues).
41
+ prettyPrint({AXIOS_INSTANCE_INTERCEPTORS_REQUEST_USE_ERROR: error});
42
+ return Promise.reject(error);
43
+ },
44
+ );
45
+
46
+ // to intercept the response if response have auth issue than forcefully logout the user
47
+ axiosInstance.interceptors.response.use(
48
+ function (response) {
49
+ // Any status code that lie within the range of 2xx cause this function to trigger
50
+ // Do something with response data
51
+ return response;
52
+ },
53
+ function (error) {
54
+ if (axios.isAxiosError(error)) {
55
+ if (error.response?.status === 401) {
56
+ showDangerMessage('Something went wrong! please login again'); // this message need to be changed as per the client requirement
57
+ clearAsyncData();
58
+ dispatch(resetUserData());
59
+ dispatch(toggleLoader(false));
60
+ } else if (error.response?.status === 500) {
61
+ showDangerMessage(
62
+ '500 Internal Server Error on ' + error.response?.config.url,
63
+ );
64
+ dispatch(toggleLoader(false));
65
+ } else if (!error.response) {
66
+ showDangerMessage('Network error. Please check your connection.');
67
+ dispatch(toggleLoader(false));
68
+ }
69
+ }
70
+ prettyPrint({AXIOS_INSTANCE_INTERCEPTORS_REQUEST_RESPONSE_ERROR: error});
71
+ return Promise.reject(error);
72
+ },
73
+ );
74
+
75
+ export default axiosInstance;
@@ -0,0 +1,13 @@
1
+ import axiosInstance from './axiosInstance';
2
+
3
+ export {axiosInstance};
4
+
5
+ export const PER_PAGE_LIMIT = 10;
6
+
7
+ export const apiStatusCodes = {
8
+ success: 200,
9
+ created: 201,
10
+ badRequest: 400,
11
+ unauthorized: 401,
12
+ serverError: 500,
13
+ };
@@ -0,0 +1,32 @@
1
+ import {configureStore} from '@reduxjs/toolkit';
2
+ import loaderSlice from './modules/LoaderSlice';
3
+ import profileSlice from './modules/ProfileSlice';
4
+ import {useDispatch, useSelector, useStore} from 'react-redux';
5
+
6
+ const store = configureStore({
7
+ reducer: {
8
+ loader: loaderSlice,
9
+ profile: profileSlice,
10
+ },
11
+ middleware: getDefaultMiddleware =>
12
+ getDefaultMiddleware({
13
+ immutableCheck: false,
14
+ serializableCheck: false,
15
+ }),
16
+ });
17
+
18
+ const dispatch = store.dispatch;
19
+ const getStore = store.getState;
20
+ export {dispatch, getStore};
21
+
22
+ export type RootState = ReturnType<typeof store.getState>;
23
+ export type AppDispatch = typeof store.dispatch;
24
+ export type AppStore = typeof store;
25
+
26
+ export const useAppDispatch = useDispatch.withTypes<AppDispatch>();
27
+ export const useAppSelector = useSelector.withTypes<RootState>();
28
+ export const useAppStore = useStore.withTypes<AppStore>();
29
+
30
+ export * from './modules/ProfileSlice';
31
+ export * from './modules/LoaderSlice';
32
+ export default store;
@@ -0,0 +1,23 @@
1
+ import {PayloadAction, createSlice} from '@reduxjs/toolkit';
2
+
3
+ interface LoaderState {
4
+ isLoading: boolean;
5
+ }
6
+
7
+ const initialState: LoaderState = {
8
+ isLoading: false,
9
+ };
10
+
11
+ export const loaderSlice = createSlice({
12
+ name: 'loader',
13
+ initialState,
14
+ reducers: {
15
+ toggleLoader: (state, action: PayloadAction<boolean>) => {
16
+ state.isLoading = action.payload;
17
+ },
18
+ },
19
+ });
20
+
21
+ // Action creators are generated for each case reducer function
22
+ export const {toggleLoader} = loaderSlice.actions;
23
+ export default loaderSlice.reducer;
@@ -0,0 +1,56 @@
1
+ import {UserTypes} from '@types';
2
+ import {PayloadAction, createSlice} from '@reduxjs/toolkit';
3
+ import {ASYNC_KEY, removeAsyncData, setAsyncData} from '@common';
4
+ import {onChangeLanguage} from '@i18n';
5
+
6
+ interface ProfileState {
7
+ userData: UserTypes;
8
+ language: 'en' | 'es';
9
+ isLogIn: boolean;
10
+ }
11
+
12
+ export const initialState: ProfileState = {
13
+ userData: {
14
+ _id: '',
15
+ user_name: '',
16
+ first_name: '',
17
+ last_name: '',
18
+ email: '',
19
+ password: '',
20
+ user_type: 0,
21
+ created_at: '',
22
+ __v: 0,
23
+ token: '',
24
+ resetToken: '',
25
+ device_info: '',
26
+ device_os_version: '',
27
+ device_type: '',
28
+ },
29
+ language: 'en',
30
+ isLogIn: false,
31
+ };
32
+
33
+ export const profileSlice = createSlice({
34
+ name: 'profile',
35
+ initialState,
36
+ reducers: {
37
+ setUserData: (state, action: PayloadAction<UserTypes>) => {
38
+ state.userData = action.payload;
39
+ state.isLogIn = true;
40
+ setAsyncData(ASYNC_KEY.USER, action.payload);
41
+ },
42
+ resetUserData: state => {
43
+ state.isLogIn = false;
44
+ state.userData = initialState.userData;
45
+ removeAsyncData(ASYNC_KEY.USER);
46
+ },
47
+ setLanguage: (state, action: PayloadAction<'en' | 'es'>) => {
48
+ state.language = action.payload;
49
+ onChangeLanguage(action.payload);
50
+ },
51
+ },
52
+ });
53
+
54
+ export const {setUserData, resetUserData, setLanguage} = profileSlice.actions;
55
+
56
+ export default profileSlice.reducer;
@@ -0,0 +1,12 @@
1
+ export const fonts = {
2
+ black: 'Poppins-Black',
3
+ bold: 'Poppins-Bold',
4
+ extraBold: 'Poppins-ExtraBold',
5
+ extraLight: 'Poppins-ExtraLight',
6
+ italic: 'Poppins-Italic',
7
+ light: 'Poppins-Light',
8
+ medium: 'Poppins-Medium',
9
+ primary: 'Poppins-Regular',
10
+ semiBold: 'Poppins-SemiBold',
11
+ thin: 'Poppins-Thin',
12
+ };
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M5.27446 10.1262C5 10.7229 5 11.4018 5 12.7595V16.9999C5 18.8856 5 19.8284 5.58579 20.4142C6.11733 20.9457 6.94285 20.9949 8.5 20.9995V16C8.5 14.8954 9.39543 14 10.5 14H13.5C14.6046 14 15.5 14.8954 15.5 16V20.9995C17.0572 20.9949 17.8827 20.9457 18.4142 20.4142C19 19.8284 19 18.8856 19 16.9999V12.7595C19 11.4018 19 10.7229 18.7255 10.1262C18.4511 9.52943 17.9356 9.08763 16.9047 8.20401L15.9047 7.34687C14.0414 5.74974 13.1098 4.95117 12 4.95117C10.8902 4.95117 9.95857 5.74974 8.09525 7.34687L7.09525 8.20401C6.06437 9.08763 5.54892 9.52943 5.27446 10.1262ZM13.5 20.9999V16H10.5V20.9999H13.5Z" fill="#6C63FF"/>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M5 12.7596C5 11.4019 5 10.723 5.27446 10.1262C5.54892 9.52949 6.06437 9.08769 7.09525 8.20407L8.09525 7.34693C9.95857 5.7498 10.8902 4.95123 12 4.95123C13.1098 4.95123 14.0414 5.7498 15.9047 7.34693L16.9047 8.20407C17.9356 9.08769 18.4511 9.52949 18.7255 10.1262C19 10.723 19 11.4019 19 12.7596V17C19 18.8856 19 19.8284 18.4142 20.4142C17.8284 21 16.8856 21 15 21H9C7.11438 21 6.17157 21 5.58579 20.4142C5 19.8284 5 18.8856 5 17V12.7596Z" stroke="#6C63FF" stroke-width="2"/>
3
+ <path d="M14.5 21V16C14.5 15.4477 14.0523 15 13.5 15H10.5C9.94772 15 9.5 15.4477 9.5 16V21" stroke="#6C63FF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M13.9838 2.54161C14.0711 2.71093 14.0928 2.92777 14.1361 3.36144C14.2182 4.1823 14.2593 4.59274 14.4311 4.81793C14.649 5.10358 15.0034 5.25038 15.3595 5.20248C15.6402 5.16472 15.9594 4.90352 16.5979 4.38113C16.9352 4.10515 17.1038 3.96716 17.2853 3.90918C17.5158 3.83555 17.7652 3.84798 17.9872 3.94419C18.162 4.01994 18.3161 4.17402 18.6243 4.4822L19.5178 5.37567C19.8259 5.68385 19.98 5.83794 20.0558 6.01275C20.152 6.23478 20.1644 6.48415 20.0908 6.71464C20.0328 6.89612 19.8948 7.06478 19.6188 7.4021C19.0964 8.0406 18.8352 8.35984 18.7975 8.64056C18.7496 8.99662 18.8964 9.35102 19.182 9.56893C19.4072 9.74072 19.8176 9.78176 20.6385 9.86385C21.0722 9.90722 21.2891 9.92891 21.4584 10.0162C21.6734 10.1272 21.841 10.3123 21.9299 10.5373C22 10.7145 22 10.9324 22 11.3682V12.6319C22 13.0676 22 13.2855 21.93 13.4626C21.841 13.6877 21.6734 13.8729 21.4583 13.9838C21.289 14.0711 21.0722 14.0928 20.6386 14.1361L20.6386 14.1361C19.818 14.2182 19.4077 14.2592 19.1825 14.4309C18.8967 14.6489 18.7499 15.0034 18.7979 15.3596C18.8357 15.6402 19.0968 15.9593 19.619 16.5976C19.8949 16.9348 20.0328 17.1034 20.0908 17.2848C20.1645 17.5154 20.152 17.7648 20.0558 17.9869C19.98 18.1617 19.826 18.3157 19.5179 18.6238L18.6243 19.5174C18.3162 19.8255 18.1621 19.9796 17.9873 20.0554C17.7652 20.1516 17.5159 20.164 17.2854 20.0904C17.1039 20.0324 16.9352 19.8944 16.5979 19.6184L16.5979 19.6184C15.9594 19.096 15.6402 18.8348 15.3595 18.7971C15.0034 18.7492 14.649 18.896 14.4311 19.1816C14.2593 19.4068 14.2183 19.8173 14.1362 20.6383C14.0928 21.0722 14.0711 21.2891 13.9837 21.4585C13.8728 21.6735 13.6877 21.8409 13.4628 21.9299C13.2856 22 13.0676 22 12.6316 22H11.3682C10.9324 22 10.7145 22 10.5373 21.9299C10.3123 21.841 10.1272 21.6734 10.0162 21.4584C9.92891 21.2891 9.90722 21.0722 9.86385 20.6385C9.78176 19.8176 9.74072 19.4072 9.56892 19.182C9.35101 18.8964 8.99663 18.7496 8.64057 18.7975C8.35985 18.8352 8.04059 19.0964 7.40208 19.6189L7.40206 19.6189C7.06473 19.8949 6.89607 20.0329 6.71458 20.0908C6.4841 20.1645 6.23474 20.152 6.01272 20.0558C5.8379 19.9801 5.6838 19.826 5.37561 19.5178L4.48217 18.6243C4.17398 18.3162 4.01988 18.1621 3.94414 17.9873C3.84794 17.7652 3.8355 17.5159 3.90913 17.2854C3.96711 17.1039 4.10511 16.9352 4.3811 16.5979C4.90351 15.9594 5.16471 15.6402 5.20247 15.3594C5.25037 15.0034 5.10357 14.649 4.81792 14.4311C4.59273 14.2593 4.1823 14.2182 3.36143 14.1361C2.92776 14.0928 2.71093 14.0711 2.54161 13.9838C2.32656 13.8728 2.15902 13.6877 2.07005 13.4627C2 13.2855 2 13.0676 2 12.6318V11.3683C2 10.9324 2 10.7144 2.07008 10.5372C2.15905 10.3123 2.32654 10.1272 2.54152 10.0163C2.71088 9.92891 2.92777 9.90722 3.36155 9.86384H3.36155H3.36156C4.18264 9.78173 4.59319 9.74068 4.81842 9.56881C5.10395 9.35092 5.2507 8.99664 5.20287 8.64066C5.16514 8.35987 4.90385 8.04052 4.38128 7.40182C4.10516 7.06435 3.96711 6.89561 3.90914 6.71405C3.83557 6.48364 3.848 6.23438 3.94413 6.01243C4.01988 5.83754 4.17403 5.68339 4.48233 5.37509L5.37565 4.48177L5.37566 4.48177C5.68385 4.17357 5.83795 4.01947 6.01277 3.94373C6.23478 3.84753 6.48414 3.8351 6.71463 3.90872C6.89612 3.9667 7.06481 4.10472 7.4022 4.38076C8.04061 4.9031 8.35982 5.16427 8.64044 5.20207C8.99661 5.25003 9.35113 5.10319 9.56907 4.81742C9.74077 4.59227 9.78181 4.18195 9.86387 3.36131C9.90722 2.92776 9.9289 2.71098 10.0162 2.5417C10.1271 2.32658 10.3123 2.15898 10.5374 2.07001C10.7145 2 10.9324 2 11.3681 2H12.6318C13.0676 2 13.2855 2 13.4627 2.07005C13.6877 2.15902 13.8728 2.32656 13.9838 2.54161ZM12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16Z" fill="#6C63FF"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12.6318 2V1.5V2ZM13.4629 2.07031L13.6469 1.60539L13.6467 1.60534L13.4629 2.07031ZM13.9834 2.54199L14.4278 2.31291L14.4278 2.3128L13.9834 2.54199ZM14.1357 3.36133L14.6333 3.31158V3.31158L14.1357 3.36133ZM14.4307 4.81836L14.0331 5.12162L14.0332 5.12166L14.4307 4.81836ZM15.3594 5.20215L15.426 5.69769L15.426 5.69768L15.3594 5.20215ZM16.5977 4.38086L16.9143 4.76784V4.76784L16.5977 4.38086ZM17.2852 3.90918L17.133 3.43289L17.1329 3.43293L17.2852 3.90918ZM17.9873 3.94434L18.1862 3.48559L18.1861 3.48555L17.9873 3.94434ZM18.624 4.48242L18.2705 4.83597V4.83598L18.624 4.48242ZM19.5176 5.37598L19.8711 5.02242L19.5176 5.37598ZM20.0557 6.0127L20.5144 5.8139L20.5144 5.81384L20.0557 6.0127ZM20.0908 6.71484L20.5671 6.86713L20.5671 6.86699L20.0908 6.71484ZM19.6191 7.40234L19.2322 7.08572V7.08573L19.6191 7.40234ZM18.7979 8.64062L18.3023 8.57397L18.3023 8.57398L18.7979 8.64062ZM19.1816 9.56934L18.8784 9.96685L18.8784 9.96687L19.1816 9.56934ZM20.6387 9.86426L20.6884 9.36674V9.36674L20.6387 9.86426ZM21.458 10.0166L21.6872 9.57223L21.6871 9.57217L21.458 10.0166ZM21.9297 10.5371L22.3947 10.3533L22.3946 10.3531L21.9297 10.5371ZM22 11.3682H22.5H22ZM21.9297 13.4629L22.3946 13.6469L22.3947 13.6467L21.9297 13.4629ZM21.458 13.9834L21.6871 14.4278L21.6872 14.4278L21.458 13.9834ZM20.6387 14.1357L20.5889 13.6382H20.5889L20.6387 14.1357ZM19.1826 14.4307L18.8796 14.033L18.8794 14.0331L19.1826 14.4307ZM18.7979 15.3594L18.3023 15.426L18.3023 15.4261L18.7979 15.3594ZM19.6191 16.5977L19.2322 16.9143V16.9143L19.6191 16.5977ZM20.0908 17.2852L20.5671 17.1331L20.5671 17.1329L20.0908 17.2852ZM20.0557 17.9873L20.5143 18.1864L20.5144 18.1862L20.0557 17.9873ZM18.624 19.5176L18.2705 19.164V19.164L18.624 19.5176ZM17.9873 20.0557L18.1861 20.5145L18.1861 20.5144L17.9873 20.0557ZM17.2852 20.0908L17.133 20.5671L17.133 20.5671L17.2852 20.0908ZM16.5977 19.6182L16.9143 19.2312V19.2312L16.5977 19.6182ZM15.3594 18.7969L15.426 18.3013L15.426 18.3013L15.3594 18.7969ZM14.4307 19.1816L14.0331 18.8784L14.033 18.8786L14.4307 19.1816ZM14.1357 20.6387L13.6382 20.5889V20.5889L14.1357 20.6387ZM13.9834 21.458L14.4277 21.6873L14.4278 21.6871L13.9834 21.458ZM13.4629 21.9297L13.6468 22.3946L13.6469 22.3946L13.4629 21.9297ZM12.6318 22V22.5V22ZM11.3682 22V22.5V22ZM10.5371 21.9297L10.3531 22.3946L10.3533 22.3947L10.5371 21.9297ZM10.0166 21.458L9.57217 21.6871L9.57223 21.6872L10.0166 21.458ZM9.86426 20.6387L9.36674 20.6884V20.6884L9.86426 20.6387ZM9.56934 19.1816L9.96686 18.8784L9.96685 18.8784L9.56934 19.1816ZM8.64062 18.7979L8.57398 18.3023H8.57398L8.64062 18.7979ZM7.40234 19.6191L7.71896 20.0061V20.0061L7.40234 19.6191ZM6.71484 20.0908L6.86699 20.5671L6.86717 20.5671L6.71484 20.0908ZM6.0127 20.0557L5.81385 20.5144L5.81391 20.5145L6.0127 20.0557ZM5.37598 19.5176L5.02242 19.8711L5.37598 19.5176ZM4.48242 18.624L4.12887 18.9776H4.12887L4.48242 18.624ZM3.94434 17.9873L3.48555 18.1861L3.48559 18.1862L3.94434 17.9873ZM3.90918 17.2852L3.43294 17.1329L3.43289 17.133L3.90918 17.2852ZM4.38086 16.5977L4.76784 16.9143V16.9143L4.38086 16.5977ZM5.20215 15.3594L5.69769 15.426L5.69769 15.426L5.20215 15.3594ZM4.81836 14.4307L5.12166 14.0332L5.12162 14.0331L4.81836 14.4307ZM3.36133 14.1357L3.31158 14.6333H3.31158L3.36133 14.1357ZM2.54199 13.9834L2.3128 14.4278L2.31291 14.4278L2.54199 13.9834ZM2.07031 13.4629L1.60534 13.6467L1.60539 13.6469L2.07031 13.4629ZM2 12.6318H1.5H2ZM2 11.3682H1.5H2ZM2.07031 10.5371L1.60539 10.3531L1.60535 10.3532L2.07031 10.5371ZM2.54199 10.0166L2.31293 9.57216L2.31275 9.57225L2.54199 10.0166ZM3.36133 9.86426L3.41108 10.3618H3.41108L3.36133 9.86426ZM4.81836 9.56836L5.12168 9.96585L5.12177 9.96578L4.81836 9.56836ZM5.20312 8.64062L5.69867 8.57404L5.69867 8.57404L5.20312 8.64062ZM4.38086 7.40137L4.76784 7.08475V7.08475L4.38086 7.40137ZM3.90918 6.71387L3.43285 6.86588L3.43287 6.86595L3.90918 6.71387ZM3.94434 6.0127L3.48552 5.81397L3.48549 5.81404L3.94434 6.0127ZM4.48242 5.375L4.83598 5.72855V5.72855L4.48242 5.375ZM5.37598 4.48145L5.02242 4.12789L5.37598 4.48145ZM6.0127 3.94336L5.81395 3.48456L5.81391 3.48457L6.0127 3.94336ZM6.71484 3.90918L6.86723 3.43297L6.86699 3.43289L6.71484 3.90918ZM7.40234 4.38086L7.71896 3.99388V3.99388L7.40234 4.38086ZM8.64062 5.20215L8.57389 5.69767L8.57399 5.69769L8.64062 5.20215ZM9.56934 4.81738L9.96691 5.12058L9.96702 5.12045L9.56934 4.81738ZM9.86426 3.36133L10.3618 3.41108V3.41108L9.86426 3.36133ZM10.0166 2.54199L9.5722 2.31284L9.57218 2.31289L10.0166 2.54199ZM10.5371 2.07031L10.3533 1.60532L10.3531 1.60539L10.5371 2.07031ZM12.6318 2V2.5C12.8562 2.5 13.0003 2.50033 13.1108 2.50776C13.2164 2.51487 13.2579 2.52692 13.2791 2.53529L13.4629 2.07031L13.6467 1.60534C13.4907 1.54366 13.3346 1.52056 13.1779 1.51002C13.0262 1.49981 12.8433 1.5 12.6318 1.5V2ZM13.4629 2.07031L13.2789 2.53524C13.3909 2.57953 13.4833 2.66322 13.539 2.77119L13.9834 2.54199L14.4278 2.3128C14.2617 1.99083 13.9847 1.73908 13.6469 1.60539L13.4629 2.07031ZM13.9834 2.54199L13.539 2.77107C13.5494 2.79124 13.5654 2.83119 13.5829 2.93546C13.6013 3.04465 13.6159 3.1878 13.6382 3.41108L14.1357 3.36133L14.6333 3.31158C14.6122 3.10141 14.5943 2.91953 14.5691 2.76974C14.5431 2.61502 14.5047 2.46202 14.4278 2.31291L13.9834 2.54199ZM14.1357 3.36133L13.6382 3.41108C13.6784 3.81311 13.7112 4.14432 13.7575 4.40173C13.8029 4.65428 13.8726 4.9112 14.0331 5.12162L14.4307 4.81836L14.8282 4.5151C14.8169 4.50033 14.7802 4.43917 14.7417 4.22471C14.704 4.01512 14.6751 3.73041 14.6333 3.31158L14.1357 3.36133ZM14.4307 4.81836L14.0332 5.12166C14.3606 5.55075 14.8928 5.76939 15.426 5.69769L15.3594 5.20215L15.2927 4.70661C15.1138 4.73067 14.9366 4.65716 14.8282 4.51506L14.4307 4.81836ZM15.3594 5.20215L15.426 5.69768C15.6882 5.66241 15.919 5.53023 16.1297 5.38381C16.3443 5.23464 16.6016 5.02368 16.9143 4.76784L16.5977 4.38086L16.281 3.99388C15.9553 4.26043 15.7337 4.44124 15.559 4.56267C15.3803 4.68686 15.3112 4.70412 15.2927 4.70661L15.3594 5.20215ZM16.5977 4.38086L16.9143 4.76784C17.0879 4.6258 17.1995 4.53487 17.2897 4.47067C17.3759 4.40934 17.4157 4.39238 17.4374 4.38543L17.2852 3.90918L17.1329 3.43293C16.9732 3.48398 16.8378 3.5649 16.7099 3.65594C16.586 3.7441 16.4447 3.86001 16.281 3.99388L16.5977 4.38086ZM17.2852 3.90918L17.4373 4.38546C17.5524 4.34871 17.6773 4.35493 17.7885 4.40312L17.9873 3.94434L18.1861 3.48555C17.8532 3.34132 17.4789 3.32238 17.133 3.43289L17.2852 3.90918ZM17.9873 3.94434L17.7884 4.40308C17.809 4.41199 17.8466 4.43264 17.9263 4.50242C18.0097 4.57548 18.1116 4.67713 18.2705 4.83597L18.624 4.48242L18.9776 4.12887C18.8283 3.97962 18.6993 3.85011 18.5851 3.7501C18.4671 3.64679 18.3404 3.55244 18.1862 3.48559L17.9873 3.94434ZM18.624 4.48242L18.2705 4.83598L19.164 5.72953L19.5176 5.37598L19.8711 5.02242L18.9776 4.12887L18.624 4.48242ZM19.5176 5.37598L19.164 5.72953C19.3229 5.88838 19.4245 5.9903 19.4976 6.07374C19.5674 6.15341 19.588 6.191 19.5969 6.21156L20.0557 6.0127L20.5144 5.81384C20.4476 5.65963 20.3532 5.5329 20.2499 5.41493C20.1499 5.30072 20.0204 5.17166 19.8711 5.02242L19.5176 5.37598ZM20.0557 6.0127L19.5969 6.21149C19.6451 6.32268 19.6513 6.44764 19.6145 6.56269L20.0908 6.71484L20.5671 6.86699C20.6776 6.52107 20.6587 6.14675 20.5144 5.8139L20.0557 6.0127ZM20.0908 6.71484L19.6146 6.56256C19.6076 6.58431 19.5907 6.62407 19.5293 6.71026C19.4651 6.80047 19.3742 6.91213 19.2322 7.08572L19.6191 7.40234L20.0061 7.71896C20.14 7.55535 20.2559 7.41396 20.3441 7.29008C20.4351 7.16217 20.516 7.02679 20.5671 6.86713L20.0908 6.71484ZM19.6191 7.40234L19.2322 7.08573C18.9763 7.39843 18.7654 7.65566 18.6162 7.87029C18.4698 8.08096 18.3376 8.31175 18.3023 8.57397L18.7979 8.64062L19.2934 8.70728C19.2959 8.68879 19.3131 8.61969 19.4373 8.44101C19.5588 8.2663 19.7396 8.04475 20.0061 7.71896L19.6191 7.40234ZM18.7979 8.64062L18.3023 8.57398C18.2306 9.10715 18.4492 9.63944 18.8784 9.96685L19.1816 9.56934L19.4849 9.17182C19.3428 9.06341 19.2693 8.88619 19.2934 8.70727L18.7979 8.64062ZM19.1816 9.56934L18.8784 9.96687C19.0888 10.1274 19.3457 10.1971 19.5983 10.2425C19.8557 10.2888 20.1869 10.3216 20.5889 10.3618L20.6387 9.86426L20.6884 9.36674C20.2696 9.32485 19.9849 9.29603 19.7753 9.25833C19.5608 9.21976 19.4997 9.18307 19.4849 9.17181L19.1816 9.56934ZM20.6387 9.86426L20.5889 10.3618C20.8122 10.3841 20.9553 10.3987 21.0645 10.4171C21.1688 10.4346 21.2088 10.4506 21.2289 10.461L21.458 10.0166L21.6871 9.57217C21.538 9.49531 21.385 9.45688 21.2303 9.43088C21.0805 9.40571 20.8986 9.38776 20.6884 9.36674L20.6387 9.86426ZM21.458 10.0166L21.2288 10.461C21.3368 10.5167 21.4205 10.6091 21.4648 10.7211L21.9297 10.5371L22.3946 10.3531C22.2609 10.0153 22.0092 9.73829 21.6872 9.57223L21.458 10.0166ZM21.9297 10.5371L21.4647 10.721C21.4731 10.7421 21.4851 10.7836 21.4922 10.8892C21.4997 10.9997 21.5 11.1438 21.5 11.3682H22H22.5C22.5 11.1567 22.5002 10.9738 22.49 10.8221C22.4794 10.6654 22.4563 10.5093 22.3947 10.3533L21.9297 10.5371ZM22 11.3682H21.5V12.6318H22H22.5V11.3682H22ZM22 12.6318H21.5C21.5 12.8562 21.4997 13.0002 21.4922 13.1108C21.4851 13.2164 21.4731 13.2579 21.4647 13.2791L21.9297 13.4629L22.3947 13.6467C22.4563 13.4907 22.4794 13.3346 22.49 13.1779C22.5002 13.0261 22.5 12.8433 22.5 12.6318H22ZM21.9297 13.4629L21.4648 13.2789C21.4204 13.3909 21.3368 13.4833 21.2288 13.539L21.458 13.9834L21.6872 14.4278C22.0092 14.2617 22.2609 13.9847 22.3946 13.6469L21.9297 13.4629ZM21.458 13.9834L21.2289 13.539C21.2088 13.5494 21.1688 13.5654 21.0646 13.5829C20.9554 13.6013 20.8122 13.6159 20.5889 13.6382L20.6387 14.1357L20.6884 14.6333C20.8986 14.6122 21.0805 14.5943 21.2303 14.5691C21.385 14.5431 21.538 14.5047 21.6871 14.4278L21.458 13.9834ZM20.6387 14.1357L20.5889 13.6382C20.187 13.6784 19.8561 13.7112 19.5988 13.7575C19.3463 13.803 19.0898 13.8728 18.8796 14.033L19.1826 14.4307L19.4857 14.8284C19.5006 14.817 19.5619 14.7803 19.7761 14.7417C19.9854 14.704 20.2699 14.6751 20.6884 14.6333L20.6387 14.1357ZM19.1826 14.4307L18.8794 14.0331C18.4508 14.3599 18.2305 14.8919 18.3023 15.426L18.7979 15.3594L19.2934 15.2927C19.2694 15.1146 19.343 14.9372 19.4858 14.8283L19.1826 14.4307ZM18.7979 15.3594L18.3023 15.4261C18.3376 15.6883 18.4699 15.9191 18.6163 16.1297C18.7655 16.3444 18.9764 16.6017 19.2322 16.9143L19.6191 16.5977L20.0061 16.281C19.7397 15.9554 19.5589 15.7338 19.4374 15.559C19.3132 15.3803 19.2959 15.3111 19.2934 15.2926L18.7979 15.3594ZM19.6191 16.5977L19.2322 16.9143C19.3742 17.0878 19.4651 17.1995 19.5293 17.2897C19.5907 17.376 19.6076 17.4157 19.6146 17.4374L20.0908 17.2852L20.5671 17.1329C20.516 16.9732 20.4351 16.8378 20.344 16.7099C20.2559 16.586 20.1399 16.4446 20.0061 16.281L19.6191 16.5977ZM20.0908 17.2852L19.6145 17.4372C19.6513 17.5524 19.645 17.6774 19.5969 17.7884L20.0557 17.9873L20.5144 18.1862C20.6588 17.8532 20.6775 17.4788 20.5671 17.1331L20.0908 17.2852ZM20.0557 17.9873L19.597 17.7882C19.5881 17.8088 19.5673 17.8465 19.4975 17.9263C19.4244 18.0098 19.3227 18.1118 19.164 18.2705L19.5176 18.624L19.8711 18.9776C20.0203 18.8284 20.1498 18.6993 20.2498 18.585C20.3531 18.4671 20.4475 18.3404 20.5143 18.1864L20.0557 17.9873ZM19.5176 18.624L19.164 18.2705L18.2705 19.164L18.624 19.5176L18.9776 19.8711L19.8711 18.9776L19.5176 18.624ZM18.624 19.5176L18.2705 19.164C18.1117 19.3228 18.0097 19.4245 17.9263 19.4976C17.8466 19.5674 17.809 19.588 17.7885 19.5969L17.9873 20.0557L18.1861 20.5144C18.3404 20.4476 18.4671 20.3532 18.5851 20.2499C18.6993 20.1498 18.8284 20.0203 18.9776 19.8711L18.624 19.5176ZM17.9873 20.0557L17.7885 19.5969C17.6773 19.6451 17.5523 19.6513 17.4373 19.6145L17.2852 20.0908L17.133 20.5671C17.4789 20.6776 17.8533 20.6586 18.1861 20.5145L17.9873 20.0557ZM17.2852 20.0908L17.4374 19.6145C17.4163 19.6078 17.3768 19.591 17.2904 19.5293C17.1999 19.4647 17.0883 19.3735 16.9143 19.2312L16.5977 19.6182L16.281 20.0051C16.4443 20.1387 16.5857 20.2549 16.7093 20.3432C16.8369 20.4343 16.9726 20.5158 17.133 20.5671L17.2852 20.0908ZM16.5977 19.6182L16.9143 19.2312C16.6017 18.9754 16.3444 18.7645 16.1298 18.6153C15.9191 18.4689 15.6883 18.3366 15.426 18.3013L15.3594 18.7969L15.2927 19.2924C15.3112 19.2949 15.3803 19.3122 15.559 19.4364C15.7338 19.5579 15.9554 19.7387 16.281 20.0051L16.5977 19.6182ZM15.3594 18.7969L15.426 18.3013C14.8919 18.2296 14.36 18.45 14.0331 18.8784L14.4307 19.1816L14.8282 19.4849C14.9371 19.3421 15.1148 19.2685 15.2928 19.2924L15.3594 18.7969ZM14.4307 19.1816L14.033 18.8786C13.8727 19.0889 13.803 19.3458 13.7575 19.5983C13.7112 19.8557 13.6784 20.1869 13.6382 20.5889L14.1357 20.6387L14.6333 20.6884C14.6751 20.2697 14.704 19.985 14.7417 19.7754C14.7803 19.5609 14.817 19.4996 14.8283 19.4847L14.4307 19.1816ZM14.1357 20.6387L13.6382 20.5889C13.6159 20.8122 13.6013 20.9553 13.5829 21.0645C13.5654 21.1688 13.5493 21.2088 13.539 21.229L13.9834 21.458L14.4278 21.6871C14.5047 21.538 14.5431 21.385 14.5691 21.2303C14.5943 21.0805 14.6122 20.8986 14.6333 20.6884L14.1357 20.6387ZM13.9834 21.458L13.539 21.2288C13.4833 21.3368 13.3908 21.4205 13.2789 21.4648L13.4629 21.9297L13.6469 22.3946C13.9847 22.2609 14.2617 22.0091 14.4277 21.6873L13.9834 21.458ZM13.4629 21.9297L13.279 21.4647C13.2578 21.4731 13.2164 21.4852 13.1108 21.4923C13.0003 21.4997 12.8563 21.5 12.6318 21.5V22V22.5C12.8433 22.5 13.0262 22.5002 13.1779 22.49C13.3346 22.4795 13.4907 22.4564 13.6468 22.3946L13.4629 21.9297ZM12.6318 22V21.5H11.3682V22V22.5H12.6318V22ZM11.3682 22V21.5C11.1438 21.5 10.9997 21.4997 10.8892 21.4922C10.7836 21.4851 10.7421 21.4731 10.721 21.4647L10.5371 21.9297L10.3533 22.3947C10.5093 22.4563 10.6654 22.4794 10.8221 22.49C10.9738 22.5002 11.1567 22.5 11.3682 22.5V22ZM10.5371 21.9297L10.7211 21.4648C10.6091 21.4205 10.5167 21.3368 10.461 21.2288L10.0166 21.458L9.57223 21.6872C9.73829 22.0092 10.0153 22.2609 10.3531 22.3946L10.5371 21.9297ZM10.0166 21.458L10.461 21.2289C10.4506 21.2088 10.4346 21.1688 10.4171 21.0645C10.3987 20.9553 10.3841 20.8122 10.3618 20.5889L9.86426 20.6387L9.36674 20.6884C9.38776 20.8986 9.4057 21.0805 9.43088 21.2303C9.45688 21.385 9.49531 21.538 9.57217 21.6871L10.0166 21.458ZM9.86426 20.6387L10.3618 20.5889C10.3216 20.1869 10.2888 19.8557 10.2425 19.5983C10.1971 19.3457 10.1274 19.0888 9.96686 18.8784L9.56934 19.1816L9.17181 19.4849C9.18308 19.4997 9.21977 19.5608 9.25833 19.7753C9.29603 19.9849 9.32485 20.2696 9.36674 20.6884L9.86426 20.6387ZM9.56934 19.1816L9.96685 18.8784C9.63944 18.4492 9.10715 18.2306 8.57398 18.3023L8.64062 18.7979L8.70727 19.2934C8.88619 19.2693 9.06341 19.3428 9.17182 19.4849L9.56934 19.1816ZM8.64062 18.7979L8.57398 18.3023C8.31175 18.3376 8.08096 18.4698 7.87029 18.6162C7.65566 18.7654 7.39843 18.9763 7.08572 19.2322L7.40234 19.6191L7.71896 20.0061C8.04476 19.7396 8.26631 19.5588 8.44102 19.4373C8.61969 19.3131 8.68878 19.2959 8.70727 19.2934L8.64062 18.7979ZM7.40234 19.6191L7.08572 19.2322C6.71376 19.5365 6.63087 19.5927 6.56252 19.6146L6.71484 20.0908L6.86717 20.5671C7.16161 20.4729 7.41655 20.2535 7.71896 20.0061L7.40234 19.6191ZM6.71484 20.0908L6.5627 19.6145C6.44765 19.6513 6.32267 19.6451 6.21148 19.5969L6.0127 20.0557L5.81391 20.5145C6.14675 20.6587 6.52107 20.6776 6.86699 20.5671L6.71484 20.0908ZM6.0127 20.0557L6.21154 19.5969C6.19099 19.588 6.15341 19.5674 6.07374 19.4976C5.9903 19.4245 5.88839 19.3229 5.72953 19.164L5.37598 19.5176L5.02242 19.8711C5.17166 20.0204 5.30072 20.1499 5.41493 20.2499C5.5329 20.3532 5.65963 20.4476 5.81385 20.5144L6.0127 20.0557ZM5.37598 19.5176L5.72953 19.164L4.83598 18.2705L4.48242 18.624L4.12887 18.9776L5.02242 19.8711L5.37598 19.5176ZM4.48242 18.624L4.83598 18.2705C4.67712 18.1116 4.57548 18.0097 4.50241 17.9263C4.43264 17.8466 4.412 17.809 4.40308 17.7884L3.94434 17.9873L3.48559 18.1862C3.55243 18.3404 3.64679 18.4671 3.7501 18.5851C3.85011 18.6993 3.97963 18.8283 4.12887 18.9776L4.48242 18.624ZM3.94434 17.9873L4.40312 17.7885C4.35494 17.6773 4.34871 17.5524 4.38547 17.4373L3.90918 17.2852L3.43289 17.133C3.32238 17.4789 3.34133 17.8533 3.48555 18.1861L3.94434 17.9873ZM3.90918 17.2852L4.38542 17.4375C4.40727 17.3691 4.46348 17.2863 4.76784 16.9143L4.38086 16.5977L3.99388 16.281C3.74646 16.5834 3.52711 16.8384 3.43294 17.1329L3.90918 17.2852ZM4.38086 16.5977L4.76784 16.9143C5.02368 16.6016 5.23464 16.3443 5.38381 16.1297C5.53023 15.919 5.66241 15.6882 5.69769 15.426L5.20215 15.3594L4.70661 15.2927C4.70412 15.3112 4.68686 15.3803 4.56267 15.559C4.44124 15.7337 4.26043 15.9553 3.99388 16.281L4.38086 16.5977ZM5.20215 15.3594L5.69769 15.426C5.76939 14.8928 5.55074 14.3606 5.12166 14.0332L4.81836 14.4307L4.51506 14.8282C4.65715 14.9366 4.73067 15.1138 4.70661 15.2927L5.20215 15.3594ZM4.81836 14.4307L5.12162 14.0331C4.9112 13.8726 4.65428 13.8029 4.40173 13.7575C4.14432 13.7112 3.81311 13.6784 3.41108 13.6382L3.36133 14.1357L3.31158 14.6333C3.73041 14.6751 4.01512 14.704 4.22472 14.7417C4.43917 14.7802 4.50033 14.8169 4.5151 14.8282L4.81836 14.4307ZM3.36133 14.1357L3.41108 13.6382C3.1878 13.6159 3.04465 13.6013 2.93546 13.5829C2.83119 13.5654 2.79124 13.5494 2.77107 13.539L2.54199 13.9834L2.31291 14.4278C2.46202 14.5047 2.61502 14.5431 2.76974 14.5691C2.91953 14.5943 3.10141 14.6122 3.31158 14.6333L3.36133 14.1357ZM2.54199 13.9834L2.77119 13.539C2.66322 13.4833 2.57953 13.3909 2.53524 13.2789L2.07031 13.4629L1.60539 13.6469C1.73908 13.9847 1.99083 14.2617 2.3128 14.4278L2.54199 13.9834ZM2.07031 13.4629L2.53529 13.2791C2.52692 13.2579 2.51487 13.2164 2.50776 13.1108C2.50033 13.0003 2.5 12.8562 2.5 12.6318H2H1.5C1.5 12.8433 1.49981 13.0262 1.51002 13.1779C1.52056 13.3346 1.54366 13.4907 1.60534 13.6467L2.07031 13.4629ZM2 12.6318H2.5V11.3682H2H1.5V12.6318H2ZM2 11.3682H2.5C2.5 11.1438 2.50032 10.9997 2.50775 10.8892C2.51485 10.7836 2.52691 10.7421 2.53527 10.721L2.07031 10.5371L1.60535 10.3532C1.54365 10.5093 1.52054 10.6654 1.51001 10.8221C1.4998 10.9738 1.5 11.1567 1.5 11.3682H2ZM2.07031 10.5371L2.53524 10.7211C2.57951 10.6092 2.66323 10.5167 2.77123 10.461L2.54199 10.0166L2.31275 9.57225C1.99089 9.73829 1.73908 10.0153 1.60539 10.3531L2.07031 10.5371ZM2.54199 10.0166L2.77105 10.461C2.79123 10.4506 2.8312 10.4346 2.93548 10.4171C3.04468 10.3987 3.18783 10.3841 3.41108 10.3618L3.36133 9.86426L3.31158 9.36674C3.10143 9.38775 2.91955 9.4057 2.76975 9.43088C2.61503 9.45688 2.46204 9.49531 2.31293 9.57216L2.54199 10.0166ZM3.36133 9.86426L3.41108 10.3618C3.8135 10.3215 4.1447 10.2886 4.40228 10.242C4.65508 10.1963 4.91156 10.1262 5.12168 9.96585L4.81836 9.56836L4.51504 9.17087C4.49993 9.1824 4.43843 9.21922 4.2243 9.25795C4.01495 9.29582 3.73025 9.32487 3.31158 9.36674L3.36133 9.86426ZM4.81836 9.56836L5.12177 9.96578C5.5494 9.63931 5.77049 9.10851 5.69867 8.57404L5.20312 8.64062L4.70758 8.70721C4.73141 8.88454 4.65815 9.06161 4.51495 9.17094L4.81836 9.56836ZM5.20312 8.64062L5.69867 8.57404C5.6634 8.31154 5.53082 8.08042 5.3843 7.86973C5.23493 7.65496 5.02374 7.39752 4.76784 7.08475L4.38086 7.40137L3.99388 7.71799C4.26055 8.04392 4.44163 8.26571 4.56332 8.44069C4.68785 8.61976 4.70512 8.68891 4.70758 8.70721L5.20312 8.64062ZM4.38086 7.40137L4.76784 7.08475C4.62579 6.91114 4.53487 6.79951 4.47065 6.70929C4.4093 6.6231 4.3924 6.58341 4.38549 6.56178L3.90918 6.71387L3.43287 6.86595C3.48391 7.0258 3.56491 7.16128 3.65596 7.28918C3.74413 7.41306 3.86007 7.55444 3.99388 7.71799L4.38086 7.40137ZM3.90918 6.71387L4.38551 6.56186C4.34885 6.44696 4.35504 6.32253 4.40318 6.21135L3.94434 6.0127L3.48549 5.81404C3.34152 6.14658 3.32252 6.52014 3.43285 6.86588L3.90918 6.71387ZM3.94434 6.0127L4.40315 6.21142C4.41222 6.19048 4.43306 6.15257 4.50271 6.07285C4.57561 5.9894 4.67727 5.88726 4.83598 5.72855L4.48242 5.375L4.12887 5.02145C3.97927 5.17104 3.84976 5.3003 3.74963 5.41491C3.64626 5.53323 3.5522 5.66002 3.48552 5.81397L3.94434 6.0127ZM4.48242 5.375L4.83598 5.72855L5.72953 4.835L5.37598 4.48145L5.02242 4.12789L4.12887 5.02145L4.48242 5.375ZM5.37598 4.48145L5.72953 4.835C5.88834 4.67619 5.99025 4.57454 6.07371 4.50145C6.15343 4.43164 6.191 4.41102 6.21148 4.40215L6.0127 3.94336L5.81391 3.48457C5.65963 3.55142 5.53284 3.64585 5.41488 3.74916C5.30066 3.84919 5.1716 3.97872 5.02242 4.12789L5.37598 4.48145ZM6.0127 3.94336L6.21144 4.40216C6.32133 4.35456 6.44631 4.34829 6.5627 4.38547L6.71484 3.90918L6.86699 3.43289C6.52246 3.32283 6.14805 3.33983 5.81395 3.48456L6.0127 3.94336ZM6.71484 3.90918L6.56246 4.38539C6.63083 4.40727 6.71382 4.46356 7.08572 4.76784L7.40234 4.38086L7.71896 3.99388C7.4165 3.74641 7.16158 3.52716 6.86723 3.43297L6.71484 3.90918ZM7.40234 4.38086L7.08572 4.76784C7.39838 5.02364 7.65562 5.23458 7.87029 5.38377C8.08094 5.53016 8.31176 5.66237 8.57389 5.69767L8.64062 5.20215L8.70736 4.70662C8.68889 4.70413 8.61973 4.68683 8.44098 4.5626C8.26623 4.44116 8.04464 4.26034 7.71896 3.99388L7.40234 4.38086ZM8.64062 5.20215L8.57399 5.69769C9.10812 5.76952 9.64006 5.54918 9.96691 5.12058L9.56934 4.81738L9.17176 4.51418C9.06282 4.65702 8.88534 4.73056 8.70726 4.70661L8.64062 5.20215ZM9.56934 4.81738L9.96702 5.12045C10.1272 4.91022 10.197 4.65369 10.2425 4.40122C10.2888 4.14395 10.3216 3.813 10.3618 3.41108L9.86426 3.36133L9.36674 3.31158C9.32489 3.73012 9.29601 4.0146 9.2583 4.22395C9.21973 4.43809 9.18305 4.49937 9.17165 4.51432L9.56934 4.81738ZM9.86426 3.36133L10.3618 3.41108C10.3841 3.18777 10.3987 3.04463 10.417 2.93544C10.4346 2.83118 10.4506 2.79125 10.461 2.7711L10.0166 2.54199L9.57218 2.31289C9.49531 2.462 9.45688 2.615 9.43088 2.76972C9.40571 2.91951 9.38776 3.10139 9.36674 3.31158L9.86426 3.36133ZM10.0166 2.54199L10.461 2.77114C10.5167 2.66319 10.6091 2.57956 10.7211 2.53524L10.5371 2.07031L10.3531 1.60539C10.0153 1.73908 9.73828 1.99076 9.5722 2.31284L10.0166 2.54199ZM10.5371 2.07031L10.7209 2.53531C10.7421 2.52695 10.7836 2.51488 10.8892 2.50777C10.9998 2.50033 11.1439 2.5 11.3682 2.5V2V1.5C11.1568 1.5 10.9739 1.49982 10.8221 1.51003C10.6654 1.52057 10.5093 1.54367 10.3533 1.60532L10.5371 2.07031ZM11.3682 2V2.5H12.6318V2V1.5H11.3682V2ZM12 8V7.5C9.51472 7.5 7.5 9.51472 7.5 12H8H8.5C8.5 10.067 10.067 8.5 12 8.5V8ZM8 12H7.5C7.5 14.4853 9.51472 16.5 12 16.5V16V15.5C10.067 15.5 8.5 13.933 8.5 12H8ZM12 16V16.5C14.4853 16.5 16.5 14.4853 16.5 12H16H15.5C15.5 13.933 13.933 15.5 12 15.5V16ZM16 12H16.5C16.5 9.51472 14.4853 7.5 12 7.5V8V8.5C13.933 8.5 15.5 10.067 15.5 12H16Z" fill="#6C63FF"/>
3
+ </svg>
@@ -0,0 +1,11 @@
1
+ import IC_Home_Active from './IC_Home_Active.svg';
2
+ import IC_Home_UnActive from './IC_Home_UnActive.svg';
3
+ import IC_Setting_Active from './IC_Setting_Active.svg';
4
+ import IC_Setting_UnActive from './IC_Setting_UnActive.svg';
5
+
6
+ export {
7
+ IC_Home_Active,
8
+ IC_Home_UnActive,
9
+ IC_Setting_Active,
10
+ IC_Setting_UnActive,
11
+ };
@@ -0,0 +1 @@
1
+ export * from './fonts';
@@ -0,0 +1,41 @@
1
+ import AsyncStorage from '@react-native-async-storage/async-storage';
2
+
3
+ export const setAsyncData = async (key: string, value: any) => {
4
+ try {
5
+ const jsonValue = JSON.stringify(value);
6
+ await AsyncStorage.setItem(key, jsonValue);
7
+ } catch (e) {}
8
+ };
9
+
10
+ export const getAsyncData = async (key: string) => {
11
+ let data = null;
12
+ try {
13
+ const res: any = await AsyncStorage.getItem(key);
14
+ data = JSON.parse(res);
15
+ } catch (e) {}
16
+ return data;
17
+ };
18
+
19
+ export const removeAsyncData = async (key: string) => {
20
+ try {
21
+ await AsyncStorage.removeItem(key);
22
+ } catch (e) {}
23
+ };
24
+
25
+ export const removeMultipleAsyncData = async (keys: string[]) => {
26
+ try {
27
+ await AsyncStorage.removeMany(keys);
28
+ } catch (e) {}
29
+ };
30
+
31
+ export const clearAsyncData = async () => {
32
+ try {
33
+ await AsyncStorage.clear();
34
+ } catch (e) {}
35
+ };
36
+
37
+ // ASYNC KEY
38
+ export const ASYNC_KEY = {
39
+ USER: 'user',
40
+ LANGUAGE: 'language',
41
+ };
@@ -0,0 +1,18 @@
1
+ //configs
2
+ // API CONFIGS
3
+
4
+ // !!!! very very important variable make it true only while making production builds
5
+ export const IS_PRODUCTION = false;
6
+
7
+ // PRODUCTION API URL
8
+ export const PRODUCTION_BASE_URL = `PRODUCTION_BASE_URL`;
9
+
10
+ // DEVELOPMENT API URL
11
+ export const DEVELOPMENT_BASE_URL = `DEVELOPMENT_BASE_URL`;
12
+
13
+ // USE BASE URL
14
+ export const BASE_URL = IS_PRODUCTION
15
+ ? PRODUCTION_BASE_URL
16
+ : DEVELOPMENT_BASE_URL;
17
+
18
+ export const currency = '$';
@@ -0,0 +1,70 @@
1
+ import {Platform} from 'react-native';
2
+ import FlashMessage, {
3
+ MessageOptions,
4
+ showMessage,
5
+ } from 'react-native-flash-message';
6
+ import {getModel, getSystemVersion} from 'react-native-device-info';
7
+ import {RefObject} from 'react';
8
+
9
+ export const prettyPrint = (...data: any) => {
10
+ const replacer = (key: any, value: any) => {
11
+ if (typeof value === 'undefined') {
12
+ return 'undefined';
13
+ }
14
+ if (value == null) {
15
+ return 'null';
16
+ }
17
+ return value;
18
+ };
19
+ console.log(
20
+ JSON.stringify(data, replacer, 2)
21
+ .replaceAll('"null"', 'null')
22
+ .replaceAll('"undefined"', 'undefined'),
23
+ );
24
+ };
25
+
26
+ export const showDangerMessage = (
27
+ message: string = '',
28
+ options?: Omit<MessageOptions, 'message'>,
29
+ ref?: RefObject<FlashMessage | null>,
30
+ ) => {
31
+ if (ref?.current) {
32
+ ref.current?.showMessage({
33
+ type: 'danger',
34
+ message: message ?? '',
35
+ ...options,
36
+ });
37
+ return;
38
+ }
39
+ showMessage({
40
+ type: 'danger',
41
+ message: message ?? '',
42
+ ...options,
43
+ });
44
+ };
45
+
46
+ export const showSuccessMessage = (
47
+ message: string,
48
+ options?: Omit<MessageOptions, 'message'>,
49
+ ref?: RefObject<FlashMessage | null>,
50
+ ) => {
51
+ if (ref?.current) {
52
+ ref.current?.showMessage({
53
+ type: 'success',
54
+ message: message ?? '',
55
+ ...options,
56
+ });
57
+ return;
58
+ }
59
+ showMessage({
60
+ type: 'success',
61
+ message: message ?? '',
62
+ ...options,
63
+ });
64
+ };
65
+
66
+ export const getDetailForAPI = () => ({
67
+ device_type: Platform.OS, // for the platform
68
+ device_os_version: getSystemVersion(), // os version
69
+ device_info: getModel(), // device modal
70
+ });
@@ -0,0 +1,3 @@
1
+ export * from './asyncServices';
2
+ export * from './helperFunctions';
3
+ export * from './constant';
@@ -0,0 +1,71 @@
1
+ import React, {useEffect, useState} from 'react';
2
+ import {View, StyleSheet} from 'react-native';
3
+ import NetInfo from '@react-native-community/netinfo';
4
+ import PrimaryText from './PrimaryText';
5
+ import PrimaryButton from './PrimaryButton';
6
+ import {colors, perfectSize} from '@theme';
7
+ import {fonts} from '@fonts';
8
+
9
+ const NoInternetModalPopUp: React.FC = () => {
10
+ const [isConnected, setIsConnected] = useState(true);
11
+
12
+ useEffect(() => {
13
+ const unsubscribe = NetInfo.addEventListener(state => {
14
+ setIsConnected(state.isConnected ?? true);
15
+ });
16
+ return unsubscribe;
17
+ }, []);
18
+
19
+ return !isConnected ? (
20
+ <View style={styles.mainView}>
21
+ <View style={styles.whiteContainer}>
22
+ <PrimaryText style={styles.title}>
23
+ {'No Internet Connection'}
24
+ </PrimaryText>
25
+ <PrimaryText style={styles.message}>
26
+ {'Please check your network connection and try again.'}
27
+ </PrimaryText>
28
+ <PrimaryButton
29
+ label="Retry"
30
+ onPress={() =>
31
+ NetInfo.fetch().then(state =>
32
+ setIsConnected(state.isConnected ?? true),
33
+ )
34
+ }
35
+ />
36
+ </View>
37
+ </View>
38
+ ) : null;
39
+ };
40
+
41
+ const styles = StyleSheet.create({
42
+ mainView: {
43
+ ...StyleSheet.absoluteFill,
44
+ backgroundColor: colors.black60,
45
+ justifyContent: 'center',
46
+ },
47
+ whiteContainer: {
48
+ backgroundColor: colors.white,
49
+ borderRadius: 15,
50
+ padding: perfectSize(25),
51
+ marginHorizontal: perfectSize(30),
52
+ alignItems: 'center',
53
+ },
54
+ title: {
55
+ fontFamily: fonts.bold,
56
+ fontSize: perfectSize(20),
57
+ color: colors.black,
58
+ marginBottom: perfectSize(15),
59
+ textAlign: 'center',
60
+ },
61
+ message: {
62
+ fontFamily: fonts.primary,
63
+ fontSize: perfectSize(16),
64
+ color: colors.black,
65
+ textAlign: 'center',
66
+ lineHeight: perfectSize(22),
67
+ marginBottom: perfectSize(25),
68
+ },
69
+ });
70
+
71
+ export default NoInternetModalPopUp;