diff --git a/RN-UI-LIB b/RN-UI-LIB
index 019bc50b..348345f1 160000
--- a/RN-UI-LIB
+++ b/RN-UI-LIB
@@ -1 +1 @@
-Subproject commit 019bc50b015b464438047e37c6253cb41af4bf68
+Subproject commit 348345f1bb3af8b78a8246231dbc440ddc02de32
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 55bdff23..14564e09 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -134,8 +134,8 @@ def reactNativeArchitectures() {
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
}
-def VERSION_CODE = 213
-def VERSION_NAME = "2.14.13"
+def VERSION_CODE = 214
+def VERSION_NAME = "2.15.0"
android {
ndkVersion rootProject.ext.ndkVersion
diff --git a/package.json b/package.json
index 2867af09..bdb2de35 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "AV_APP",
- "version": "2.14.13",
- "buildNumber": "213",
+ "version": "2.15.0",
+ "buildNumber": "214",
"private": true,
"scripts": {
"android:dev": "yarn move:dev && react-native run-android",
diff --git a/src/action/feedbackActions.ts b/src/action/feedbackActions.ts
index 00f89844..e38b4274 100644
--- a/src/action/feedbackActions.ts
+++ b/src/action/feedbackActions.ts
@@ -1,5 +1,7 @@
+import { AppDispatch } from '@store';
import axiosInstance, { ApiKeys, getApiUrl } from '../components/utlis/apiHelper';
import { logError } from '../components/utlis/errorUtils';
+import { setTopFeedbacks, setTopFeedbacksLoading } from '@reducers/topFeedbacksSlice';
interface IPastFeedbacksPayload {
loan_account_number: string;
@@ -70,3 +72,28 @@ export const getPastFeedbacksOnAddresses = (pastFeedbackPayload: IPastFeedbacksP
logError(err);
});
};
+
+export const getTopFeedbacks = (loanAccountNumber: string) => (dispatch: AppDispatch) => {
+ // TODO: Change API Endpoint
+ const url = getApiUrl(ApiKeys.PAST_FEEDBACK_ON_ADDRESSES);
+ dispatch(setTopFeedbacksLoading({ loanAccountNumber, isLoading: true }));
+ return axiosInstance
+ .get(url, {
+ params: { loanAccountNumber },
+ })
+ .then((response) => {
+ dispatch(
+ setTopFeedbacks({
+ loanAccountNumber,
+ feedbacks: [
+ response?.data?.data?.currentMonthFeedbackStatus,
+ response?.data?.data?.lastMonthFeedbackStatus,
+ ],
+ })
+ );
+ })
+ .catch((err) => {
+ dispatch(setTopFeedbacksLoading({ loanAccountNumber, isLoading: false }));
+ logError(err);
+ });
+};
diff --git a/src/assets/icons/NotAttemptedIcon.tsx b/src/assets/icons/NotAttemptedIcon.tsx
new file mode 100644
index 00000000..8d1f5ab4
--- /dev/null
+++ b/src/assets/icons/NotAttemptedIcon.tsx
@@ -0,0 +1,19 @@
+import * as React from 'react';
+import Svg, { Path } from 'react-native-svg';
+
+function NotAttemptedIcon() {
+ return (
+
+ );
+}
+
+export default NotAttemptedIcon;
diff --git a/src/assets/icons/RightChevronIcon.tsx b/src/assets/icons/RightChevronIcon.tsx
new file mode 100644
index 00000000..69e11441
--- /dev/null
+++ b/src/assets/icons/RightChevronIcon.tsx
@@ -0,0 +1,20 @@
+import React from 'react';
+import { G, Mask, Path, Rect, Svg } from 'react-native-svg';
+
+const RightChevronIcon = () => {
+ return (
+
+ );
+};
+
+export default RightChevronIcon;
diff --git a/src/assets/icons/SmsIcon.tsx b/src/assets/icons/SmsIcon.tsx
index 9cf1f046..23591e2b 100644
--- a/src/assets/icons/SmsIcon.tsx
+++ b/src/assets/icons/SmsIcon.tsx
@@ -3,13 +3,13 @@ import Svg, { Mask, Path, G, Rect } from 'react-native-svg';
function SmsIcon() {
return (
-