TP-22332 | uat feedbacks incorporation

This commit is contained in:
varnit-goyal_navi
2024-03-28 08:33:52 +05:30
parent b547554f24
commit 6d20f25a2f
18 changed files with 261 additions and 347 deletions

View File

@@ -0,0 +1,36 @@
import * as React from "react"
import Svg, { Rect, Mask, Path, G } from "react-native-svg"
function CsaIncomingIconSquare() {
return (
<Svg
width={32}
height={32}
viewBox="0 0 32 32"
fill="none"
>
<Rect width={32} height={32} rx={4} fill="#F3EAFD" />
<Mask
id="a"
style={{
maskType: "alpha"
}}
maskUnits="userSpaceOnUse"
x={6}
y={6}
width={20}
height={20}
>
<Path fill="#D9D9D9" d="M6 6H26V26H6z" />
</Mask>
<G mask="url(#a)">
<Path
d="M9.915 22.667a.885.885 0 01-.651-.263.885.885 0 01-.264-.652v-7.318c0-.26.088-.477.264-.652a.885.885 0 01.651-.263c.26 0 .477.088.652.263a.885.885 0 01.263.652v5.123l9.972-9.972a.868.868 0 01.64-.251c.26 0 .473.084.64.251a.867.867 0 01.252.64c0 .26-.084.473-.252.641l-9.971 9.971h5.123c.259 0 .476.088.652.264a.885.885 0 01.263.651c0 .26-.088.477-.263.652a.885.885 0 01-.652.263H9.915z"
fill="#8B2CE9"
/>
</G>
</Svg>
)
}
export default CsaIncomingIconSquare;

View File

@@ -0,0 +1,39 @@
import * as React from "react"
import Svg, { Rect, Mask, Path, G } from "react-native-svg"
function CsaOutgoingRequestSquareIcon() {
return (
<Svg
width={32}
height={32}
viewBox="0 0 32 32"
fill="none"
>
<Rect y={0.000152588} width={32} height={32} rx={4} fill="#EAF6F6" />
<Mask
id="a"
style={{
maskType: "alpha"
}}
maskUnits="userSpaceOnUse"
x={5}
y={5}
width={22}
height={22}
>
<Path
fill="#D9D9D9"
d="M5.33325 5.33348H26.66655V26.666780000000003H5.33325z"
/>
</Mask>
<G mask="url(#a)">
<Path
d="M19.555 12.8l-7.911 7.91a.843.843 0 01-.623.245.843.843 0 01-.622-.244.843.843 0 01-.244-.622c0-.252.081-.46.244-.622l7.911-7.912h-6.755a.86.86 0 01-.633-.255.86.86 0 01-.256-.634.86.86 0 01.255-.633.86.86 0 01.634-.255h8.889a.86.86 0 01.633.255.86.86 0 01.256.633v8.89a.86.86 0 01-.256.633.86.86 0 01-.633.255.86.86 0 01-.634-.255.86.86 0 01-.255-.634V12.8z"
fill="#29A1A3"
/>
</G>
</Svg>
)
}
export default CsaOutgoingRequestSquareIcon;

View File

@@ -69,7 +69,8 @@ export enum ApiKeys {
GET_VISIBILITY_STATUS = 'GET_VISIBILITY_STATUS',
GET_CSA_TICKETS = 'GET_CSA_TICKETS',
GET_CSA_SINGLE_TICKET = 'GET_CSA_SINGLE_TICKET',
h
= 'GET_CSA_SINGLE_TICKET',
CREATE_TICKET = 'CREATE_TICKET',
ACKNOWLEDGE_TICKET = 'ACKNOWLEDGE_TICKET',
ADD_COMMENT = 'ADD_COMMENT',
@@ -301,13 +302,14 @@ axiosInstance.interceptors.response.use(
);
axiosInstance.defaults.headers.common['Content-Type'] = 'application/json';
axiosInstance.defaults.headers.common['routing_key'] = '2aeff6e1-c6c8-4cf2-9e47-daf3de565483';
axiosInstance.defaults.headers.common['routing_key'] = 'e953bef9-6427-467c-b825-a6b3409a7a69';
axiosInstance.defaults.baseURL = BASE_AV_APP_URL;
// TODO:: Ideally should happen through middlewares.
export const registerNavigateAndDispatch = (dispatchParam: Dispatch<any>) =>
(dispatch = dispatchParam);
export const isAxiosError = (err: Error) => {
return axios.isAxiosError(err);
};

View File

@@ -1,4 +1,4 @@
import { Pressable, StyleSheet, TouchableHighlight, View } from 'react-native'
import {Pressable, StyleSheet, Switch, TouchableHighlight, View} from 'react-native'
import React, { useState } from 'react'
import { GenericStyles, getShadowStyle } from '@rn-ui-lib/styles'
import Button from '@rn-ui-lib/components/Button'
@@ -15,6 +15,11 @@ import { FilterOptions } from './constant'
import Text from '@rn-ui-lib/components/Text'
import { navigateToScreen } from '@components/utlis/navigationUtlis'
import { ProfileScreenStackEnum } from '@screens/Profile/ProfileStack'
import TextInput from "@rn-ui-lib/components/TextInput";
import IconButton from "@rn-ui-lib/components/IconButton";
import FilterIcon from "@assets/icons/FilterIcon";
import {noop} from "@rn-ui-lib/utils/common";
import SearchIcon from "@rn-ui-lib/icons/SearchIcon";
const HeaderNode = () => {
@@ -70,28 +75,35 @@ const CSAFilters: React.FC<ICSAFilters> = (props) => {
GenericStyles.p16,
GenericStyles.row,
GenericStyles.justifyContentSpaceBetween,
GenericStyles.alignCenter,
{ ...getShadowStyle(1) },
GenericStyles.whiteBackground,
]}
>
<Button
variant="secondary"
title={selectedFilter ? "Clear Filter": "Filter by"}
style={styles.fleBasis48}
<TextInput style={[GenericStyles.flex70]} placeholder={'Search by LAN or Customer'} LeftComponent={<SearchIcon/>}/>
<IconButton
style={[GenericStyles.ml8, { backgroundColor: COLORS.BACKGROUND.PRIMARY}]}
testID="filter-btn"
icon={
<>
<FilterIcon />
{/*{filterCount > 0 && (*/}
{/* <View style={[styles.filterCount]}>*/}
{/* <Text style={[GenericStyles.whiteText]} small bold>*/}
{/* {filterCount}*/}
{/* </Text>*/}
{/* </View>*/}
{/*)}*/}
</>
}
onPress={handleFilterClick}
buttonStyle={selectedFilter ? styles.selectedButtonStyle : {}}
textStyle={selectedFilter ? styles.testStyle : {}}
leftIcon={<FilterIconOutline fillColor={selectedFilter ? COLORS.TEXT.BLUE : undefined} style={GenericStyles.mr4} />}
/>
<Button
variant="secondary"
title={"View unread"}
style={styles.fleBasis48}
onPress={handleViewUnread}
buttonStyle={viewUnread ? styles.selectedButtonStyle : {}}
textStyle={viewUnread ? styles.testStyle : {}}
// leftIcon={<FilterIconOutline fillColor={viewUnread ? COLORS.TEXT.BLUE : undefined} style={GenericStyles.mr4} />}
/>
</View>
<View style={[GenericStyles.row, GenericStyles.alignCenter, {backgroundColor: COLORS.BACKGROUND.BLUE}, GenericStyles.p8]}>
<Switch onChange={handleViewUnread} value={viewUnread} />
<Text> Only unread</Text>
</View>
<BottomSheetWrapper

View File

@@ -13,12 +13,14 @@ import TextInput from '@rn-ui-lib/components/TextInput';
import Button from '@rn-ui-lib/components/Button';
import { SafeAreaView } from 'react-native-safe-area-context';
import { updateTicket } from './actions';
import { Status, UpDateTicketPayload } from './constant/types';
import { Status, UpDateTicketPayload, RequestorType } from './constant/types';
import { useAppDispatch, useAppSelector } from '@hooks';
import FullScreenLoaderWrapper from '@common/FullScreenLoaderWrapper';
import { Mapping, StatusColorMapping } from './constant';
import {Mapping, MAX_COMENT_LENGTH, StatusColorMapping} from './constant';
import { COLORS } from '@rn-ui-lib/colors';
import HeaderNode from './HeaderNode';
import CsaIncomingIconSquare from "@assets/icons/CsaIncomingIconSquare";
import CsaOutgoingRequestSquareIcon from "@assets/icons/CsaOutgoingRequestSquareIcon";
interface ICustomerCard {
customerName: string;
@@ -30,10 +32,12 @@ interface ICustomerCard {
refId?: string;
ticketStatusChange?: (id: string) => void;
statusReadable?: string;
requestType: string;
requestedByuserType: string;
};
const CustomerCard: React.FC<ICustomerCard> = (props) => {
const { customerName, Dpd, Pos, status, isRefreshing, isEditable, statusReadable } = props;
const { customerName, Dpd, Pos, status, isRefreshing, isEditable, statusReadable,requestType, requestedByuserType } = props;
const Component = isEditable ? Pressable : View;
const [openBottomSheet, setOpenBottomSheet] = React.useState<boolean>(false);
const [comment, setComment] = React.useState<string>('');
@@ -74,32 +78,46 @@ const CustomerCard: React.FC<ICustomerCard> = (props) => {
}
}, [markingTicketAsResolved])
useEffect(() => {
if(!openBottomSheet)
setComment('');
}, [openBottomSheet]);
return (
<View style={[
GenericStyles.silverBackground,
GenericStyles.p16,
GenericStyles.br8
]}>
<View >
<SuspenseLoader fallBack={<LineLoader height={26} width={150} />} loading={isRefreshing}>
<Heading dark type='h4' numberOfLines={1}>
{customerName}
</Heading>
<View style={[GenericStyles.row, GenericStyles.alignStart]}>
{requestedByuserType === RequestorType.CSA ? <CsaIncomingIconSquare/> : <CsaOutgoingRequestSquareIcon/>}
<View style={GenericStyles.ml12} >
<Heading dark type='h4' numberOfLines={1}>
{requestType}
</Heading>
<Text> For {customerName} </Text>
</View>
</View>
</SuspenseLoader>
<View
style={[
GenericStyles.silverBackground,
GenericStyles.br8,
GenericStyles.p16,
GenericStyles.mt16,
]}
>
<View
style={[
GenericStyles.row,
GenericStyles.spaceBetween,
GenericStyles.mt16
GenericStyles.justifyStart,
]}
>
<Text
dark
style={[styles.flexBasis30, styles.black]}
bold
dark
style={[styles.flexBasis20, styles.black, GenericStyles.fontSize14]}
>
<SuspenseLoader fallBack={<LineLoader height={20} width={50} />} loading={isRefreshing}>
{Dpd}
@@ -107,7 +125,7 @@ const CustomerCard: React.FC<ICustomerCard> = (props) => {
</Text>
<Text
dark
style={[styles.flexBasis30, styles.black]}
style={[styles.flexBasis40, styles.black, GenericStyles.fontSize14]}
>
<SuspenseLoader fallBack={<LineLoader height={20} width={50} />} loading={isRefreshing}>
{formatAmount(Pos)}
@@ -132,21 +150,21 @@ const CustomerCard: React.FC<ICustomerCard> = (props) => {
<View
style={[
GenericStyles.row,
GenericStyles.spaceBetween,
GenericStyles.mt8
GenericStyles.justifyStart,
GenericStyles.mt4,
]}>
<Text
style={[styles.flexBasis30, styles.label]}
style={[styles.flexBasis20, styles.label, GenericStyles.fontSize14]}
>
DPD
</Text>
<Text
style={[styles.flexBasis30, styles.label]}
style={[styles.flexBasis40, styles.label, GenericStyles.fontSize14]}
>
POS
EMI overdue
</Text>
<Text
style={[styles.flexBasis30, styles.label]}
style={[styles.flexBasis30, styles.label, GenericStyles.fontSize14]}
>
Status
</Text>
@@ -169,9 +187,10 @@ const CustomerCard: React.FC<ICustomerCard> = (props) => {
placeholder='Leave a comment...'
onChangeText={setComment}
value={comment}
maxLength={3000}
maxLength={300}
border={true}
/>
<Text small light style={styles.count}>{comment.length}/300</Text>
<Text small light style={[styles.count, comment.length >= MAX_COMENT_LENGTH ? styles.error : {}]}>{comment.length}/300</Text>
</View>
</View>
{!isKeyboardVisible ? <View style={[GenericStyles.row, GenericStyles.justifyContentSpaceBetween]}>
@@ -201,6 +220,12 @@ const CustomerCard: React.FC<ICustomerCard> = (props) => {
const styles = StyleSheet.create({
flexBasis20: {
flexBasis: '20%'
},
flexBasis40: {
flexBasis: '40%'
},
flexBasis30: {
flexBasis: '30%'
},
@@ -224,6 +249,9 @@ const styles = StyleSheet.create({
position: 'absolute',
bottom: -24,
right: 0
},
error: {
color: COLORS.TEXT.RED
}
});

View File

@@ -20,11 +20,11 @@ const CustomerDetailListItem: React.FC<ICustomerDetailListItem> = (props) => {
<Heading style={GenericStyles.mt16} type='h5' dark>{item.customerName}</Heading>
<View style={[GenericStyles.row, GenericStyles.mt8]}>
<View>
<Text>{formatAmount(item?.overdueAmount?.value)}</Text>
<Text style={GenericStyles.fontSize14} dark>{formatAmount(item?.overdueAmount?.value)}</Text>
<Text style={styles.tagColor} small>Overdue Amount</Text>
</View>
<View style={styles.marginLeft60}>
<Text selectable>{item?.loanAccountNumber}</Text>
<Text style={GenericStyles.fontSize14} dark selectable>{item?.loanAccountNumber}</Text>
<Text style={styles.tagColor} small>LAN</Text>
</View>
</View>

View File

@@ -46,20 +46,19 @@ const ListItem = (props: any) => {
>
<>
<View
style={styles.flexBasis}
style={[styles.flexBasis]}
>
{item?.newUpdatesCount ? <Text small style={styles.updateStyle} >{item?.newUpdatesCount} {item?.newUpdatesCount > 1 ? 'updates' : 'update'}</Text> : null}
<View
style={[
GenericStyles.row,
GenericStyles.alignCenter,
GenericStyles.mt4
GenericStyles.mt4,
]}
>
<View
style={[
GenericStyles.row,
GenericStyles.alignCenter
GenericStyles.alignCenter,
]}
>
{item.isAcknowledgedByAssignee ? null : <View
@@ -68,12 +67,14 @@ const ListItem = (props: any) => {
GenericStyles.mr10
]}
/>}
<Text dark small>{item?.requestTypeLabel}</Text>
<Text bold dark style={form === Mapping.FORM_PROFILE ? GenericStyles.fontSize13 : GenericStyles.fontSize12}>{item?.requestTypeLabel} </Text>
</View>
<View style={[GenericStyles.alighSelfCenter]}>
<Tag style={[GenericStyles.ml10]} variant={StatusColorMapping[item?.status as keyof typeof StatusColorMapping]} text={item?.statusLabel} />
</View>
</View>
<RelativeTime prefix='Requested' date={new Date(item?.createdAt).toString()} />
<RelativeTime fontSize={form === Mapping.FORM_PROFILE ? 12 : 13} prefix='Requested on' date={new Date(item?.createdAt).toString()} />
{form === Mapping.FORM_PROFILE ? <CustomerDetailListItem item={item} handleNavigation={handleNavigation} handleNavigationTODetails={handleNavigationTODetails} viewTaskCta={viewTaskCta} /> : null}
</View>
{form === Mapping.FORM_PROFILE ? null : <ArrowRightOutlineIcon fillColor={COLORS.BASE.BLUE} />}

View File

@@ -3,12 +3,14 @@ import Text from '@rn-ui-lib/components/Text';
import { BUSINESS_DATE_FORMAT, dateFormat } from '@rn-ui-lib/utils/dates';
import React, { useEffect, useState } from 'react';
import { StyleSheet } from 'react-native';
import {GenericStyles} from "@rn-ui-lib/styles";
type DATE = string | number | Date;
interface RelativeTimeProps {
date: DATE,
prefix: string
prefix: string,
fontSize?: number,
}
const coveters = {
@@ -71,8 +73,9 @@ const getPollingInterval = (timeDifference: string | number | Date): number => {
}
};
const RelativeTime: React.FC<RelativeTimeProps> = ({ date, prefix }) => {
const RelativeTime: React.FC<RelativeTimeProps> = ({ date, prefix, fontSize = 13 }) => {
const [formattedDate, setFormattedDate] = useState<string | null>(null);
useEffect(() => {
let intervalId: number;
@@ -105,14 +108,13 @@ const RelativeTime: React.FC<RelativeTimeProps> = ({ date, prefix }) => {
return () => clearInterval(intervalId);
}, [date, prefix]);
return <Text small style={styles.container}>{formattedDate}</Text>;
return <Text style={[styles.container,{fontSize: fontSize}]}>{formattedDate}</Text>;
};
const styles = StyleSheet.create({
container: {
color: COLORS.BORDER.SECONDARY,
fontSize: 13,
lineHeight: 20
},

View File

@@ -32,7 +32,6 @@ const RenderCommentsTimeline: React.FC<IRenderCommentsTimeline> = (props) => {
<>
{comments?.map((comment, index) => {
const name = comment?.activityBy?.userType === "FE" ? "You" : comment?.activityBy?.name;
console.log("comment?.activityAt", comment?.activityBy?.name.toLocaleUpperCase());
return (
<CardComponent
key={index}
@@ -63,7 +62,7 @@ const CardComponent: React.FC<ICardComponent> = (props) => {
<Avatar
loading
dataURI=''
size={40}
size={32}
name={name}
style={ me ? styles.avatarStyle : styles.avatarMe}
textStyle={ styles.avatarText }

View File

@@ -82,6 +82,8 @@ const RequestDetail: React.FC<IRequestDetail> = (props) => {
dispatch(addCommentToTicket(props?.route?.params?.ticketId, comment, updateComment));
}
console.log('data in request details', data);
@@ -103,7 +105,7 @@ const RequestDetail: React.FC<IRequestDetail> = (props) => {
contentContainerStyle={GenericStyles.p16}
refreshControl={
<RefreshControl
refreshing={isRefreshing}
refreshing={false}
onRefresh={onRefresh}
colors={[COLORS.BASE.BLUE]} // Adjust the color as needed
/>
@@ -113,12 +115,14 @@ const RequestDetail: React.FC<IRequestDetail> = (props) => {
Dpd={data?.customerDetails?.currentDpd || 0}
Pos={data?.customerDetails?.outstandingAmount || 0}
customerName={data?.customerDetails?.customerName || ''}
requestType = {data?.requestTypeLabel || ''}
status={data?.status || ''}
statusReadable={data?.statusLabel || ''}
refId={data?.referenceId}
isRefreshing={isRefreshing}
isEditable={Boolean(props?.route?.params?.task === SCREEN_MAP.TASK_FOR_ME)}
ticketStatusChange={loadData}
requestedByuserType={data?.requestedBy?.userType}
/>
<Heading dark type='h4' style={GenericStyles.mt16}>Activity</Heading>

View File

@@ -14,6 +14,8 @@ import { Controller, useForm } from 'react-hook-form';
import { SafeAreaView, ScrollView, StyleSheet, View } from 'react-native';
import { createTicket, getDataForTicketCreation } from './actions';
import { CreateTicketPayload } from './constant/types';
import {MAX_COMENT_LENGTH} from "@screens/cosmosSupport/constant";
import {COLORS} from "@rn-ui-lib/colors";
@@ -101,7 +103,6 @@ const RequestSupport: React.FC<RequestSupportProps> = (props) => {
>
<NavigationHeader
title={'Request Support'}
subTitle={`For ${data?.requestFor ?? ''}`}
onBack={handleBackPress}
subTitleStyle={styles.navigationContainerSubtitle}
titleStyle={styles.navigationContainerTitle}
@@ -155,8 +156,10 @@ const RequestSupport: React.FC<RequestSupportProps> = (props) => {
placeholder='Enter comments...'
onChangeText={onChange}
value={value}
error={value?.length >= MAX_COMENT_LENGTH}
maxLength={MAX_COMENT_LENGTH}
/>
<Text small light style={styles.count}>{value?.length || 0}/300</Text>
<Text small light style={[styles.count, value?.length >= MAX_COMENT_LENGTH ? styles.error: {}]}>{value?.length || 0}/300</Text>
</View>
)}
@@ -210,6 +213,9 @@ const styles = StyleSheet.create({
},
lineHeight20:{
lineHeight: 20
},
error: {
color: COLORS.TEXT.RED
}
});

View File

@@ -1,18 +1,18 @@
import { COLORS } from '@rn-ui-lib/colors';
import { GenericStyles } from '@rn-ui-lib/styles';
import React, { useEffect, useState } from 'react';
import { ListRenderItemInfo, RefreshControl, View, VirtualizedList } from 'react-native';
import { ListItemLoading } from './';
import {COLORS} from '@rn-ui-lib/colors';
import {GenericStyles} from '@rn-ui-lib/styles';
import React, {useEffect, useState} from 'react';
import {ListRenderItemInfo, RefreshControl, View, VirtualizedList} from 'react-native';
import {ListItemLoading} from './';
import CSAFilters from './CSAFilters';
import ListItem from './ListItem';
import { SCREEN_MAP, loadingData } from './constant';
import { useAppDispatch, useAppSelector } from '@hooks';
import { fetchTicketList } from './actions';
import { setCaseLevelTicketsForMe, setCaseLevelTicketsForMeLoading } from '@reducers/cosmosSupportSlice';
import {loadingData, SCREEN_MAP} from './constant';
import {useAppDispatch, useAppSelector} from '@hooks';
import {fetchTicketList} from './actions';
import {setCaseLevelTicketsForMe, setCaseLevelTicketsForMeLoading} from '@reducers/cosmosSupportSlice';
import TaskForMeEmptyScreen from '@assets/icons/TaskForMeEmptyScreen';
import Text from '@rn-ui-lib/components/Text';
import { From } from './ViewRequestHistory';
import { GetAllTicketFilters, GetAllTicketsPayload, IFilterStatus, Status } from './constant/types';
import {From} from './ViewRequestHistory';
import {ACKNOWLEDGMENT_STATUS, GetAllTicketFilters, IFilterStatus, Status} from './constant/types';
interface ListItem {
@@ -77,7 +77,7 @@ const TaskForMe: React.FC<ITaskForMe> = (props) => {
filters['STATUSES'] = [Status.CLOSED];
}
if(data?.showUnread) {
filters['ACKNOWLEDGMENT_STATUS'] = null;
filters['ACKNOWLEDGMENT_STATUS'] = [ACKNOWLEDGMENT_STATUS.UNACK];
}
return filters;
@@ -97,6 +97,7 @@ const TaskForMe: React.FC<ITaskForMe> = (props) => {
const handleFilterChange = (data: IFilterStatus) => {
setFilters(data);
setRefreshing(true);
const filters = getFilters(data);
fetchTicketList({ filters }, successCallback, failureCallback);
};
@@ -125,7 +126,7 @@ const TaskForMe: React.FC<ITaskForMe> = (props) => {
windowSize={10}
refreshControl={
<RefreshControl
refreshing={isRefreshing}
refreshing={false}
onRefresh={onRefresh}
colors={[COLORS.BASE.BLUE]}
/>

View File

@@ -1,18 +1,18 @@
import { useAppDispatch, useAppSelector } from '@hooks';
import { setCaseLevelTicketsForTele, setCaseLevelTicketsForTeleLoading } from '@reducers/cosmosSupportSlice';
import { COLORS } from '@rn-ui-lib/colors';
import { GenericStyles } from '@rn-ui-lib/styles';
import React, { useEffect, useState } from 'react';
import { ListRenderItemInfo, RefreshControl, View, VirtualizedList } from 'react-native';
import { ListItemLoading } from './';
import {useAppDispatch, useAppSelector} from '@hooks';
import {setCaseLevelTicketsForTele, setCaseLevelTicketsForTeleLoading} from '@reducers/cosmosSupportSlice';
import {COLORS} from '@rn-ui-lib/colors';
import {GenericStyles} from '@rn-ui-lib/styles';
import React, {useEffect, useState} from 'react';
import {ListRenderItemInfo, RefreshControl, View, VirtualizedList} from 'react-native';
import {ListItemLoading} from './';
import CSAFilters from './CSAFilters';
import ListItem from './ListItem';
import { fetchTicketList } from './actions';
import { SCREEN_MAP, loadingData } from './constant';
import {fetchTicketList} from './actions';
import {loadingData, SCREEN_MAP} from './constant';
import TaskForMeEmptyScreen from '@assets/icons/TaskForMeEmptyScreen';
import Text from '@rn-ui-lib/components/Text';
import { From } from './ViewRequestHistory';
import { GetAllTicketFilters, IFilterStatus, Status } from './constant/types';
import {From} from './ViewRequestHistory';
import {ACKNOWLEDGMENT_STATUS, GetAllTicketFilters, IFilterStatus, Status} from './constant/types';
interface ListItem {
id: string;
@@ -72,7 +72,7 @@ const TeleSupport: React.FC<ITaskForMe> = (props) => {
filters['STATUSES'] = [Status.CLOSED];
}
if (data?.showUnread) {
filters['ACKNOWLEDGMENT_STATUS'] = null;
filters['ACKNOWLEDGMENT_STATUS'] = [ACKNOWLEDGMENT_STATUS.UNACK];
}
return filters;
@@ -129,7 +129,7 @@ const TeleSupport: React.FC<ITaskForMe> = (props) => {
windowSize={10}
refreshControl={
<RefreshControl
refreshing={isRefreshing}
refreshing={false}
onRefresh={onRefresh}
colors={[COLORS.BASE.BLUE]}
/>

View File

@@ -43,11 +43,23 @@ const TextFieldWithInput: React.FC<ITextFieldWithInput> = (props) => {
const disabled = addingComment || isRefreshing;
return (
<View style={[GenericStyles.columnDirection, GenericStyles.alignItemsFlexEnd]}>
<View style={[
GenericStyles.mt16,
GenericStyles.mb8,
GenericStyles.row,
GenericStyles.alignItemsFlexEnd,
{
borderTopColor: COLORS.TEXT.LIGHT,
borderTopWidth: 1,
borderBottomColor: COLORS.TEXT.LIGHT,
borderBottomWidth: 1,
borderRightColor: COLORS.TEXT.LIGHT,
borderRightWidth: 1,
borderLeftColor: COLORS.TEXT.LIGHT,
borderLeftWidth: 1,
borderRadius: 8,
}
]}>
<TextInput
@@ -60,17 +72,25 @@ const TextFieldWithInput: React.FC<ITextFieldWithInput> = (props) => {
maxLength={300}
disabled={isRefreshing}
error={comment.length >= 300}
border={false}
/>
<Text small light style={styles.count}>{comment.length}/300</Text>
<View style={[GenericStyles.columnDirection, GenericStyles.justifyContentFlexEnd]}>
<Pressable
disabled={disabled}
style={[styles.buttonStyle, GenericStyles.ml8, disabled ? styles.disabledButton : styles.active]}
style={[styles.buttonStyle, GenericStyles.ml8, GenericStyles.mr8, disabled ? styles.disabledButton : styles.active]}
onPress={onPress}
>
<SendIcon strokeColor={disabled ? '#e8e8e8' : COLORS.BASE.BLUE} />
<SendIcon strokeColor={disabled ? '#e8e8e8' : COLORS.BASE.BLUE} />
</Pressable>
</View>
</View>
<Text small light style={ [GenericStyles.mr8, comment.length >=300 ? styles.error : {}]}>{comment.length}/300</Text>
<FullScreenLoaderWrapper
loading={addingComment}
/>
@@ -103,6 +123,9 @@ const styles = StyleSheet.create({
position: 'absolute',
bottom: -24,
right: 48
},
error: {
color: COLORS.TEXT.RED
}
});

View File

@@ -148,9 +148,9 @@ const ViewRequestHistory = (props: IViewRequestHistory) => {
renderTabBar={(props) => <TabBar
renderLabel={({ route, color }) => (
<View
style={[
GenericStyles.row,
]}
style={
GenericStyles.row
}
>
<View style={[GenericStyles.row, GenericStyles.centerAligned]}>
<Text style={{ color }}>
@@ -176,12 +176,12 @@ const ViewRequestHistory = (props: IViewRequestHistory) => {
export default ViewRequestHistory;
const styles = StyleSheet.create({
labelStyle: {
textTransform: 'none'
},
indicatorStyle: {
backgroundColor: COLORS.BASE.BLUE
},
labelStyle: {
textTransform: 'none'
},
navigationContainerStyle: {
paddingVertical: 9
},

View File

@@ -35,4 +35,6 @@ export enum Mapping {
export const loadingData = Array.from({ length: 10 }, (_, index) => ({
id: index.toString(),
text: `Item ${index + 1}`,
}));
}));
export const MAX_COMENT_LENGTH = 300;

View File

@@ -15,7 +15,7 @@ export enum Status {
IN_PROGRESS = "IN_PROGRESS"
}
enum RequestorType {
export enum RequestorType {
CSA = "CSA",
FE = "FE"
}
@@ -54,12 +54,17 @@ export interface GetAllTicketsPayload {
filters: GetAllTicketFilters;
};
export enum ACKNOWLEDGMENT_STATUS {
'UNACK'= 'UNACK',
'ACK' = 'ACK'
}
export interface GetAllTicketFilters {
REQUESTERS?: Array<string>;
ASSIGNEES?: Array<string>;
LOAN_ACCOUNT_NUMBERS?: Array<number>;
STATUSES?: Array<Status>;
ACKNOWLEDGMENT_STATUS?: boolean | null;
ACKNOWLEDGMENT_STATUS?: ACKNOWLEDGMENT_STATUS[] | null;
}

250
yarn.lock
View File

@@ -24,14 +24,6 @@
dependencies:
"@babel/highlight" "^7.18.6"
"@babel/code-frame@^7.23.5":
version "7.23.5"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244"
integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==
dependencies:
"@babel/highlight" "^7.23.4"
chalk "^2.4.2"
"@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"
@@ -122,13 +114,6 @@
dependencies:
"@babel/types" "^7.18.6"
"@babel/helper-annotate-as-pure@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882"
integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==
dependencies:
"@babel/types" "^7.22.5"
"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6":
version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb"
@@ -174,21 +159,6 @@
"@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/helper-create-class-features-plugin@^7.23.6":
version "7.23.10"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz#25d55fafbaea31fd0e723820bb6cc3df72edf7ea"
integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-function-name" "^7.23.0"
"@babel/helper-member-expression-to-functions" "^7.23.0"
"@babel/helper-optimise-call-expression" "^7.22.5"
"@babel/helper-replace-supers" "^7.22.20"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
"@babel/helper-split-export-declaration" "^7.22.6"
semver "^6.3.1"
"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz#5ea79b59962a09ec2acf20a963a01ab4d076ccca"
@@ -214,11 +184,6 @@
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
"@babel/helper-environment-visitor@^7.22.20":
version "7.22.20"
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
"@babel/helper-explode-assignable-expression@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096"
@@ -242,14 +207,6 @@
"@babel/template" "^7.20.7"
"@babel/types" "^7.21.0"
"@babel/helper-function-name@^7.23.0":
version "7.23.0"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
dependencies:
"@babel/template" "^7.22.15"
"@babel/types" "^7.23.0"
"@babel/helper-hoist-variables@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
@@ -271,13 +228,6 @@
dependencies:
"@babel/types" "^7.20.7"
"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0":
version "7.23.0"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366"
integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==
dependencies:
"@babel/types" "^7.23.0"
"@babel/helper-module-imports@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
@@ -285,13 +235,6 @@
dependencies:
"@babel/types" "^7.18.6"
"@babel/helper-module-imports@^7.22.15":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0"
integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==
dependencies:
"@babel/types" "^7.22.15"
"@babel/helper-module-transforms@^7.12.1", "@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"
@@ -306,17 +249,6 @@
"@babel/traverse" "^7.20.1"
"@babel/types" "^7.20.2"
"@babel/helper-module-transforms@^7.23.3":
version "7.23.3"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1"
integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-module-imports" "^7.22.15"
"@babel/helper-simple-access" "^7.22.5"
"@babel/helper-split-export-declaration" "^7.22.6"
"@babel/helper-validator-identifier" "^7.22.20"
"@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"
@@ -324,23 +256,11 @@
dependencies:
"@babel/types" "^7.18.6"
"@babel/helper-optimise-call-expression@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e"
integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==
dependencies:
"@babel/types" "^7.22.5"
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629"
integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==
"@babel/helper-plugin-utils@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
"@babel/helper-remap-async-to-generator@^7.18.6", "@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"
@@ -374,15 +294,6 @@
"@babel/traverse" "^7.20.7"
"@babel/types" "^7.20.7"
"@babel/helper-replace-supers@^7.22.20":
version "7.22.20"
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793"
integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-member-expression-to-functions" "^7.22.15"
"@babel/helper-optimise-call-expression" "^7.22.5"
"@babel/helper-simple-access@^7.19.4", "@babel/helper-simple-access@^7.20.2":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9"
@@ -390,13 +301,6 @@
dependencies:
"@babel/types" "^7.20.2"
"@babel/helper-simple-access@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de"
integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==
dependencies:
"@babel/types" "^7.22.5"
"@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"
@@ -404,13 +308,6 @@
dependencies:
"@babel/types" "^7.20.0"
"@babel/helper-skip-transparent-expression-wrappers@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847"
integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==
dependencies:
"@babel/types" "^7.22.5"
"@babel/helper-split-export-declaration@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
@@ -418,43 +315,21 @@
dependencies:
"@babel/types" "^7.18.6"
"@babel/helper-split-export-declaration@^7.22.6":
version "7.22.6"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
dependencies:
"@babel/types" "^7.22.5"
"@babel/helper-string-parser@^7.19.4":
version "7.19.4"
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
"@babel/helper-string-parser@^7.23.4":
version "7.23.4"
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83"
integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==
"@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"
integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
"@babel/helper-validator-identifier@^7.22.20":
version "7.22.20"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
"@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"
integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
"@babel/helper-validator-option@^7.22.15":
version "7.23.5"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307"
integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
"@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"
@@ -483,15 +358,6 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/highlight@^7.23.4":
version "7.23.4"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b"
integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==
dependencies:
"@babel/helper-validator-identifier" "^7.22.20"
chalk "^2.4.2"
js-tokens "^4.0.0"
"@babel/parser@^7.1.0", "@babel/parser@^7.12.7", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.20.5":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8"
@@ -507,11 +373,6 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17"
integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==
"@babel/parser@^7.23.9":
version "7.23.9"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b"
integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==
"@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"
@@ -655,13 +516,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-jsx@^7.23.3":
version "7.23.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473"
integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
@@ -718,13 +572,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.19.0"
"@babel/plugin-syntax-typescript@^7.23.3":
version "7.23.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f"
integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-transform-arrow-functions@^7.0.0":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe"
@@ -839,15 +686,6 @@
"@babel/helper-plugin-utils" "^7.19.0"
"@babel/helper-simple-access" "^7.19.4"
"@babel/plugin-transform-modules-commonjs@^7.23.3":
version "7.23.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4"
integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==
dependencies:
"@babel/helper-module-transforms" "^7.23.3"
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-simple-access" "^7.22.5"
"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8"
@@ -856,13 +694,6 @@
"@babel/helper-create-regexp-features-plugin" "^7.20.5"
"@babel/helper-plugin-utils" "^7.20.2"
"@babel/plugin-transform-object-assign@^7.16.7":
version "7.23.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.23.3.tgz#64177e8cf943460c7f0e1c410277546804f59625"
integrity sha512-TPJ6O7gVC2rlQH2hvQGRH273G1xdoloCj9Pc07Q7JbIZYDi+Sv5gaE2fu+r5E7qK4zyt6vj0FbZaZTRU5C3OMA==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-transform-object-super@^7.0.0":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c"
@@ -967,16 +798,6 @@
"@babel/helper-plugin-utils" "^7.20.2"
"@babel/plugin-syntax-typescript" "^7.20.0"
"@babel/plugin-transform-typescript@^7.23.3":
version "7.23.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c"
integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
"@babel/helper-create-class-features-plugin" "^7.23.6"
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-typescript" "^7.23.3"
"@babel/plugin-transform-unicode-regex@^7.0.0":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca"
@@ -1003,17 +824,6 @@
"@babel/helper-validator-option" "^7.18.6"
"@babel/plugin-transform-typescript" "^7.18.6"
"@babel/preset-typescript@^7.16.7":
version "7.23.3"
resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913"
integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-validator-option" "^7.22.15"
"@babel/plugin-syntax-jsx" "^7.23.3"
"@babel/plugin-transform-modules-commonjs" "^7.23.3"
"@babel/plugin-transform-typescript" "^7.23.3"
"@babel/register@^7.13.16":
version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.18.9.tgz#1888b24bc28d5cc41c412feb015e9ff6b96e439c"
@@ -1072,15 +882,6 @@
"@babel/parser" "^7.20.7"
"@babel/types" "^7.20.7"
"@babel/template@^7.22.15":
version "7.23.9"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a"
integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==
dependencies:
"@babel/code-frame" "^7.23.5"
"@babel/parser" "^7.23.9"
"@babel/types" "^7.23.9"
"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.9", "@babel/traverse@^7.14.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133"
@@ -1156,15 +957,6 @@
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.9":
version "7.23.9"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002"
integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==
dependencies:
"@babel/helper-string-parser" "^7.23.4"
"@babel/helper-validator-identifier" "^7.22.20"
to-fast-properties "^2.0.0"
"@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"
@@ -1200,13 +992,6 @@
"@cobo/apm-rum-react-native-core" "^0.5.0"
opentracing "^0.14.3"
"@egjs/hammerjs@^2.0.17":
version "2.0.17"
resolved "https://registry.yarnpkg.com/@egjs/hammerjs/-/hammerjs-2.0.17.tgz#5dc02af75a6a06e4c2db0202cae38c9263895124"
integrity sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==
dependencies:
"@types/hammerjs" "^2.0.36"
"@elastic/apm-rum-core@^5.17.0":
version "5.17.0"
resolved "https://registry.yarnpkg.com/@elastic/apm-rum-core/-/apm-rum-core-5.17.0.tgz#660b02b46cb2e98063f2438b1b41350d88f28489"
@@ -2198,11 +1983,6 @@
dependencies:
"@types/node" "*"
"@types/hammerjs@^2.0.36":
version "2.0.45"
resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.45.tgz#ffa764bb68a66c08db6efb9c816eb7be850577b1"
integrity sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ==
"@types/hoist-non-react-statics@^3.3.1":
version "3.3.1"
resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f"
@@ -3249,7 +3029,7 @@ chalk@5.2.0:
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3"
integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==
chalk@^2.0.0, chalk@^2.4.2:
chalk@^2.0.0:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -3548,11 +3328,6 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
convert-source-map@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
cookiejar@^2.1.2, cookiejar@^2.1.4:
version "2.1.4"
resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b"
@@ -8092,17 +7867,6 @@ react-native-geolocation-service@5.3.1:
resolved "https://registry.yarnpkg.com/react-native-geolocation-service/-/react-native-geolocation-service-5.3.1.tgz#4ce1017789da6fdfcf7576eb6f59435622af4289"
integrity sha512-LTXPtPNmrdhx+yeWG47sAaCgQc3nG1z+HLLHlhK/5YfOgfLcAb9HAkhREPjQKPZOUx8pKZMIpdGFUGfJYtimXQ==
react-native-gesture-handler@^2.15.0:
version "2.15.0"
resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.15.0.tgz#f8e6c0451a7bdf065edb7b9be605480db402baa0"
integrity sha512-cmMGW8k86o/xgVTBZZOPohvR5re4Vh65PUxH4HbBBJAYTog4aN4wTVTUlnoky01HuSN8/X4h3tI/K3XLPoDnsg==
dependencies:
"@egjs/hammerjs" "^2.0.17"
hoist-non-react-statics "^3.3.0"
invariant "^2.2.4"
lodash "^4.17.21"
prop-types "^15.7.2"
react-native-get-random-values@^1.8.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/react-native-get-random-values/-/react-native-get-random-values-1.8.0.tgz#1cb4bd4bd3966a356e59697b8f372999fe97cb16"
@@ -8158,16 +7922,6 @@ react-native-qrcode-svg@^6.2.0:
prop-types "^15.8.0"
qrcode "^1.5.1"
react-native-reanimated@^3.7.1:
version "3.7.1"
resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.7.1.tgz#b0948b67343fcb16196cd3c07e5fd888c0bbd1af"
integrity sha512-bapCxhnS58+GZynQmA/f5U8vRlmhXlI/WhYg0dqnNAGXHNIc+38ahRWcG8iK8e0R2v9M8Ky2ZWObEC6bmweofg==
dependencies:
"@babel/plugin-transform-object-assign" "^7.16.7"
"@babel/preset-typescript" "^7.16.7"
convert-source-map "^2.0.0"
invariant "^2.2.4"
react-native-safe-area-context@4.4.1:
version "4.4.1"
resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.4.1.tgz#239c60b8a9a80eac70a38a822b04c0f1d15ffc01"
@@ -8713,7 +8467,7 @@ scheduler@^0.22.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1:
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
version "6.3.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==