NTP-7916 | coach marks
This commit is contained in:
@@ -39,6 +39,7 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
|
||||
# to write custom TurboModules/Fabric components OR use libraries that
|
||||
# are providing them.
|
||||
newArchEnabled=false
|
||||
hermesEnabled=true
|
||||
|
||||
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
|
||||
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
|
||||
|
||||
56
src/action/filterActions.ts
Normal file
56
src/action/filterActions.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import firestore from '@react-native-firebase/firestore';
|
||||
import dayjs from 'dayjs';
|
||||
import utc from 'dayjs/plugin/utc';
|
||||
import timezone from 'dayjs/plugin/timezone';
|
||||
import { TIMESTAMP_IST } from '@rn-ui-lib/utils/dates';
|
||||
|
||||
dayjs.extend(utc);
|
||||
dayjs.extend(timezone);
|
||||
|
||||
export const showCoachMark = async (
|
||||
agentId: string,
|
||||
serverTimestamp: string,
|
||||
callback: () => Promise<unknown>
|
||||
) => {
|
||||
const coachMarkDoc = firestore().collection('coachMarks').doc(agentId);
|
||||
const userSnapshot = await coachMarkDoc.get();
|
||||
let coachMarkData = userSnapshot.data()?.coachMarkData;
|
||||
const dayJsTime = dayjs().tz('Asia/Kolkata').format(TIMESTAMP_IST);
|
||||
const timestamp = serverTimestamp || dayJsTime;
|
||||
|
||||
if (!coachMarkData) {
|
||||
// Create user document if it doesn't exist
|
||||
coachMarkData = {
|
||||
lastSeenDate: timestamp,
|
||||
viewsCount: 1,
|
||||
};
|
||||
callback().then(
|
||||
async () => {
|
||||
await coachMarkDoc.set({ coachMarkData }, { merge: true });
|
||||
},
|
||||
(error) => {
|
||||
console.log('error', error);
|
||||
}
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const lastSeenDate = dayjs(coachMarkData.lastSeenDate);
|
||||
const currentDay = dayjs(timestamp);
|
||||
const oldDay = dayjs(lastSeenDate);
|
||||
|
||||
const isDifferentDay = currentDay.startOf('day').diff(oldDay.startOf('day'), 'day') > 0;
|
||||
|
||||
if (isDifferentDay && coachMarkData.viewsCount < 5) {
|
||||
coachMarkData.viewsCount += 1;
|
||||
coachMarkData.lastSeenDate = timestamp;
|
||||
callback().then(
|
||||
async () => {
|
||||
await coachMarkDoc.set({ coachMarkData }, { merge: true });
|
||||
},
|
||||
(error) => {
|
||||
console.log('error', error);
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
@@ -11,8 +11,7 @@ import CosmosForegroundService, {
|
||||
} from '../services/foregroundServices/foreground.service';
|
||||
import useIsOnline from '../hooks/useIsOnline';
|
||||
import { getSyncTime, sendCurrentGeolocationAndBuffer } from '../hooks/capturingApi';
|
||||
import { isTimeDifferenceWithinRange } from '../components/utlis/commonFunctions';
|
||||
import { setIsTimeSynced } from '../reducer/foregroundServiceSlice';
|
||||
import { setServerTimestamp } from '../reducer/foregroundServiceSlice';
|
||||
import { logError } from '../components/utlis/errorUtils';
|
||||
import { useAppDispatch, useAppSelector } from '../hooks';
|
||||
import { dataSyncService } from '../services/dataSync.service';
|
||||
@@ -104,8 +103,7 @@ const TrackingComponent: React.FC<ITrackingComponent> = ({ children }) => {
|
||||
}
|
||||
const timestamp = await getSyncTime();
|
||||
if (timestamp) {
|
||||
const isTimeDifferenceLess = isTimeDifferenceWithinRange(timestamp, 5);
|
||||
dispatch(setIsTimeSynced(isTimeDifferenceLess));
|
||||
dispatch(setServerTimestamp(timestamp));
|
||||
dispatch(setPostOperationalHourRestrictions(handlePostOperativeHourActivity(timestamp)));
|
||||
}
|
||||
} catch (e: any) {
|
||||
|
||||
@@ -210,7 +210,7 @@ export const getOptions = (options: Option[], filterKey: string, isSearchString
|
||||
return populateSubLabelsAndSort(options, OptionTypes.LOCALITY);
|
||||
}
|
||||
|
||||
if (filterKey === FilterKeys.FEEDBACK && isSearchString) {
|
||||
if (isSearchString) {
|
||||
return flattenOptions(options);
|
||||
}
|
||||
return options;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import React, { useEffect } from 'react';
|
||||
import React, { useCallback, useEffect } from 'react';
|
||||
import { ScrollView, TouchableOpacity, View } from 'react-native';
|
||||
import { GenericStyles } from '../../../../../RN-UI-LIB/src/styles';
|
||||
import Heading from '../../../../../RN-UI-LIB/src/components/Heading';
|
||||
@@ -23,10 +23,16 @@ import { getSelectedFilters } from '../../../../screens/Dashboard/utils';
|
||||
import { CopilotStep } from '@components/Tour/components/CopilotStep';
|
||||
import { useCopilot } from '@components/Tour/contexts/CopilotProvider';
|
||||
import { ENABLE_COACHMARK } from './constants';
|
||||
import { showCoachMark } from '@actions/filterActions';
|
||||
|
||||
const FiltersContainer: React.FC<FilterContainerProps> = (props) => {
|
||||
const { closeFilterModal, isVisitPlan, isAgentDashboard } = props;
|
||||
const filters = useAppSelector((state: RootState) => state.filters.filters);
|
||||
const userId = useAppSelector((state: RootState) => state.user?.user?.referenceId);
|
||||
const serverTimestamp = useAppSelector(
|
||||
(state: RootState) => state.foregroundService.serverTimestamp
|
||||
);
|
||||
const copilot = useCopilot();
|
||||
const selectedFilters = useAppSelector((state: RootState) =>
|
||||
getSelectedFilters(state, isAgentDashboard, isVisitPlan)
|
||||
);
|
||||
@@ -101,6 +107,12 @@ const FiltersContainer: React.FC<FilterContainerProps> = (props) => {
|
||||
addClickstreamEvent(CLICKSTREAM_EVENT_NAMES.AV_FILTERS_CLEAR_CLICKED);
|
||||
};
|
||||
|
||||
const startCoachMark = async () => {
|
||||
if (userId) {
|
||||
showCoachMark(userId, serverTimestamp, copilot.start);
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
addClickstreamEvent(CLICKSTREAM_EVENT_NAMES.AV_FILTERS_PAGE_LOAD, {
|
||||
filters: filterKeys,
|
||||
@@ -109,9 +121,6 @@ const FiltersContainer: React.FC<FilterContainerProps> = (props) => {
|
||||
|
||||
const handleOnClose = () => {
|
||||
addClickstreamEvent(CLICKSTREAM_EVENT_NAMES.AV_FILTERS_CLOSE_CLICKED);
|
||||
// TODO: For Yash Mantri to refer how to start the coach marks
|
||||
copilot.start();
|
||||
return;
|
||||
closeFilterModal();
|
||||
};
|
||||
|
||||
@@ -122,10 +131,8 @@ const FiltersContainer: React.FC<FilterContainerProps> = (props) => {
|
||||
setFilterSearchString(value);
|
||||
};
|
||||
|
||||
const copilot = useCopilot();
|
||||
|
||||
return (
|
||||
<View style={[GenericStyles.fill, { flex: 1 }]}>
|
||||
<View style={[GenericStyles.fill, { flex: 1 }]} onLayout={startCoachMark}>
|
||||
<View
|
||||
style={[
|
||||
GenericStyles.row,
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { FilterGroup, FilterResponse, IQuickFilter } from '../screens/allCases/interface';
|
||||
import { FilterGroup, IQuickFilter } from '../screens/allCases/interface';
|
||||
import { createSlice } from '@reduxjs/toolkit';
|
||||
import { filterTransformer } from '../components/screens/allCases/allCasesFilters/FilterUtils';
|
||||
import { _map } from '../../RN-UI-LIB/src/utlis/common';
|
||||
import { CONDITIONAL_OPERATORS, FILTER_TYPES, SELECTION_TYPES } from '../common/Constants';
|
||||
|
||||
interface IFiltersSlice {
|
||||
filters: Record<string, FilterGroup>;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { createSlice } from '@reduxjs/toolkit';
|
||||
import { IGeoLocation } from '../types/addressGeolocation.types';
|
||||
import { IGeolocationPayload } from '../hooks/capturingApi';
|
||||
import { isTimeDifferenceWithinRange } from '@components/utlis/commonFunctions';
|
||||
|
||||
const initialDeviceGeolocationCoordinate: IGeoLocation = {} as IGeoLocation;
|
||||
|
||||
@@ -9,14 +10,18 @@ const initialState = {
|
||||
isDeviceLocationEnabled: true,
|
||||
deviceGeolocationCoordinate: initialDeviceGeolocationCoordinate,
|
||||
deviceGeolocationsBuffer: [] as IGeolocationPayload[],
|
||||
serverTimestamp: ''
|
||||
};
|
||||
|
||||
const ForegroundServiceSlice = createSlice({
|
||||
name: 'foregroundService',
|
||||
initialState,
|
||||
reducers: {
|
||||
setIsTimeSynced: (state, action) => {
|
||||
state.isTimeSynced = action.payload;
|
||||
setServerTimestamp: (state, action) => {
|
||||
const timestamp = action.payload;
|
||||
const isTimeDifferenceLess = isTimeDifferenceWithinRange(timestamp, 5);
|
||||
state.serverTimestamp = action.payload;
|
||||
state.isTimeSynced = isTimeDifferenceLess;
|
||||
},
|
||||
setIsDeviceLocationEnabled: (state, action) => {
|
||||
state.isDeviceLocationEnabled = action.payload;
|
||||
@@ -38,11 +43,11 @@ const ForegroundServiceSlice = createSlice({
|
||||
});
|
||||
|
||||
export const {
|
||||
setIsTimeSynced,
|
||||
setIsDeviceLocationEnabled,
|
||||
setDeviceGeolocation,
|
||||
setDeviceGeolocationsBuffer,
|
||||
clearDeviceGeolocationsBuffer,
|
||||
setServerTimestamp
|
||||
} = ForegroundServiceSlice.actions;
|
||||
|
||||
export default ForegroundServiceSlice.reducer;
|
||||
|
||||
129
yarn.lock
129
yarn.lock
@@ -49,6 +49,15 @@
|
||||
"@babel/highlight" "^7.25.7"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
"@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.2":
|
||||
version "7.26.2"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85"
|
||||
integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==
|
||||
dependencies:
|
||||
"@babel/helper-validator-identifier" "^7.25.9"
|
||||
js-tokens "^4.0.0"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
"@babel/code-frame@~7.10.4":
|
||||
version "7.10.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
|
||||
@@ -152,6 +161,17 @@
|
||||
"@jridgewell/trace-mapping" "^0.3.25"
|
||||
jsesc "^3.0.2"
|
||||
|
||||
"@babel/generator@^7.26.3":
|
||||
version "7.26.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.3.tgz#ab8d4360544a425c90c248df7059881f4b2ce019"
|
||||
integrity sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.26.3"
|
||||
"@babel/types" "^7.26.3"
|
||||
"@jridgewell/gen-mapping" "^0.3.5"
|
||||
"@jridgewell/trace-mapping" "^0.3.25"
|
||||
jsesc "^3.0.2"
|
||||
|
||||
"@babel/helper-annotate-as-pure@^7.18.6":
|
||||
version "7.18.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
|
||||
@@ -166,6 +186,13 @@
|
||||
dependencies:
|
||||
"@babel/types" "^7.25.7"
|
||||
|
||||
"@babel/helper-annotate-as-pure@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4"
|
||||
integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==
|
||||
dependencies:
|
||||
"@babel/types" "^7.25.9"
|
||||
|
||||
"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0":
|
||||
version "7.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a"
|
||||
@@ -336,6 +363,14 @@
|
||||
"@babel/traverse" "^7.25.7"
|
||||
"@babel/types" "^7.25.7"
|
||||
|
||||
"@babel/helper-module-imports@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715"
|
||||
integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==
|
||||
dependencies:
|
||||
"@babel/traverse" "^7.25.9"
|
||||
"@babel/types" "^7.25.9"
|
||||
|
||||
"@babel/helper-module-transforms@^7.19.6", "@babel/helper-module-transforms@^7.20.2":
|
||||
version "7.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712"
|
||||
@@ -360,6 +395,15 @@
|
||||
"@babel/helper-validator-identifier" "^7.24.7"
|
||||
"@babel/traverse" "^7.25.2"
|
||||
|
||||
"@babel/helper-module-transforms@^7.25.9":
|
||||
version "7.26.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae"
|
||||
integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==
|
||||
dependencies:
|
||||
"@babel/helper-module-imports" "^7.25.9"
|
||||
"@babel/helper-validator-identifier" "^7.25.9"
|
||||
"@babel/traverse" "^7.25.9"
|
||||
|
||||
"@babel/helper-optimise-call-expression@^7.18.6":
|
||||
version "7.18.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe"
|
||||
@@ -389,6 +433,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz#8ec5b21812d992e1ef88a9b068260537b6f0e36c"
|
||||
integrity sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==
|
||||
|
||||
"@babel/helper-plugin-utils@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46"
|
||||
integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==
|
||||
|
||||
"@babel/helper-remap-async-to-generator@^7.18.9":
|
||||
version "7.18.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
|
||||
@@ -455,6 +504,14 @@
|
||||
"@babel/traverse" "^7.24.7"
|
||||
"@babel/types" "^7.24.7"
|
||||
|
||||
"@babel/helper-simple-access@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz#6d51783299884a2c74618d6ef0f86820ec2e7739"
|
||||
integrity sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==
|
||||
dependencies:
|
||||
"@babel/traverse" "^7.25.9"
|
||||
"@babel/types" "^7.25.9"
|
||||
|
||||
"@babel/helper-skip-transparent-expression-wrappers@^7.18.9", "@babel/helper-skip-transparent-expression-wrappers@^7.20.0":
|
||||
version "7.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684"
|
||||
@@ -504,6 +561,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54"
|
||||
integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==
|
||||
|
||||
"@babel/helper-string-parser@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
|
||||
integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
|
||||
|
||||
"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
|
||||
version "7.19.1"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
|
||||
@@ -524,6 +586,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5"
|
||||
integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==
|
||||
|
||||
"@babel/helper-validator-identifier@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
|
||||
integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
|
||||
|
||||
"@babel/helper-validator-option@^7.18.6":
|
||||
version "7.18.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
|
||||
@@ -539,6 +606,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz#97d1d684448228b30b506d90cace495d6f492729"
|
||||
integrity sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==
|
||||
|
||||
"@babel/helper-validator-option@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72"
|
||||
integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==
|
||||
|
||||
"@babel/helper-wrap-function@^7.18.9":
|
||||
version "7.20.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3"
|
||||
@@ -642,6 +714,13 @@
|
||||
dependencies:
|
||||
"@babel/types" "^7.25.8"
|
||||
|
||||
"@babel/parser@^7.25.9", "@babel/parser@^7.26.3":
|
||||
version "7.26.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.3.tgz#8c51c5db6ddf08134af1ddbacf16aaab48bac234"
|
||||
integrity sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==
|
||||
dependencies:
|
||||
"@babel/types" "^7.26.3"
|
||||
|
||||
"@babel/plugin-proposal-async-generator-functions@^7.0.0":
|
||||
version "7.20.1"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz#352f02baa5d69f4e7529bdac39aaa02d41146af9"
|
||||
@@ -679,7 +758,7 @@
|
||||
"@babel/helper-plugin-utils" "^7.18.9"
|
||||
"@babel/plugin-syntax-export-default-from" "^7.18.6"
|
||||
|
||||
"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0":
|
||||
"@babel/plugin-proposal-nullish-coalescing-operator@7.18.6", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0":
|
||||
version "7.18.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1"
|
||||
integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==
|
||||
@@ -725,6 +804,15 @@
|
||||
"@babel/helper-plugin-utils" "^7.18.6"
|
||||
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
|
||||
|
||||
"@babel/plugin-proposal-optional-chaining@7.21.0", "@babel/plugin-proposal-optional-chaining@^7.20.0":
|
||||
version "7.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea"
|
||||
integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.20.2"
|
||||
"@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
|
||||
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
|
||||
|
||||
"@babel/plugin-proposal-optional-chaining@^7.13.12":
|
||||
version "7.18.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993"
|
||||
@@ -734,15 +822,6 @@
|
||||
"@babel/helper-skip-transparent-expression-wrappers" "^7.18.9"
|
||||
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
|
||||
|
||||
"@babel/plugin-proposal-optional-chaining@^7.20.0":
|
||||
version "7.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea"
|
||||
integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.20.2"
|
||||
"@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
|
||||
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
|
||||
|
||||
"@babel/plugin-syntax-async-generators@^7.8.4":
|
||||
version "7.8.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
|
||||
@@ -1300,6 +1379,15 @@
|
||||
"@babel/parser" "^7.25.7"
|
||||
"@babel/types" "^7.25.7"
|
||||
|
||||
"@babel/template@^7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016"
|
||||
integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.25.9"
|
||||
"@babel/parser" "^7.25.9"
|
||||
"@babel/types" "^7.25.9"
|
||||
|
||||
"@babel/traverse@^7.1.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.4":
|
||||
version "7.23.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950"
|
||||
@@ -1342,6 +1430,19 @@
|
||||
debug "^4.3.1"
|
||||
globals "^11.1.0"
|
||||
|
||||
"@babel/traverse@^7.25.9":
|
||||
version "7.26.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.4.tgz#ac3a2a84b908dde6d463c3bfa2c5fdc1653574bd"
|
||||
integrity sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.26.2"
|
||||
"@babel/generator" "^7.26.3"
|
||||
"@babel/parser" "^7.26.3"
|
||||
"@babel/template" "^7.25.9"
|
||||
"@babel/types" "^7.26.3"
|
||||
debug "^4.3.1"
|
||||
globals "^11.1.0"
|
||||
|
||||
"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
|
||||
version "7.20.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.5.tgz#e206ae370b5393d94dfd1d04cd687cace53efa84"
|
||||
@@ -1387,6 +1488,14 @@
|
||||
"@babel/helper-validator-identifier" "^7.25.7"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@babel/types@^7.25.9", "@babel/types@^7.26.3":
|
||||
version "7.26.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.3.tgz#37e79830f04c2b5687acc77db97fbc75fb81f3c0"
|
||||
integrity sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==
|
||||
dependencies:
|
||||
"@babel/helper-string-parser" "^7.25.9"
|
||||
"@babel/helper-validator-identifier" "^7.25.9"
|
||||
|
||||
"@bam.tech/react-native-image-resizer@3.0.5":
|
||||
version "3.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@bam.tech/react-native-image-resizer/-/react-native-image-resizer-3.0.5.tgz#6661ba020de156268f73bdc92fbb93ef86f88a13"
|
||||
|
||||
Reference in New Issue
Block a user