Skip to content

Commit 7bdcd61

Browse files
committed
Refactor code and enhance maintainability.
1 parent 91ab350 commit 7bdcd61

28 files changed

Lines changed: 690 additions & 657 deletions

mobile-frontend/.eslintrc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
module.exports = {
22
root: true,
3-
extends: '@react-native',
3+
extends: "@react-native",
44
};

mobile-frontend/App.tsx

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
1-
import React, {useEffect} from 'react';
2-
import {Provider} from 'react-redux';
3-
import {NavigationContainer} from '@react-navigation/native';
4-
import {createNativeStackNavigator} from '@react-navigation/native-stack';
5-
import {store} from './src/store';
6-
import {useAppDispatch, useAppSelector} from './src/store/hooks';
7-
import {checkStoredAuth} from './src/store/slices/authSlice';
1+
import React, { useEffect } from "react";
2+
import { Provider } from "react-redux";
3+
import { NavigationContainer } from "@react-navigation/native";
4+
import { createNativeStackNavigator } from "@react-navigation/native-stack";
5+
import { store } from "./src/store";
6+
import { useAppDispatch, useAppSelector } from "./src/store/hooks";
7+
import { checkStoredAuth } from "./src/store/slices/authSlice";
88

99
// Screens
10-
import LoginScreen from './src/screens/LoginScreen';
11-
import RegisterScreen from './src/screens/RegisterScreen';
12-
import DashboardScreen from './src/screens/DashboardScreen';
13-
import CreditHistoryScreen from './src/screens/CreditHistoryScreen';
14-
import LoanCalculatorScreen from './src/screens/LoanCalculatorScreen';
15-
import ProfileScreen from './src/screens/ProfileScreen';
10+
import LoginScreen from "./src/screens/LoginScreen";
11+
import RegisterScreen from "./src/screens/RegisterScreen";
12+
import DashboardScreen from "./src/screens/DashboardScreen";
13+
import CreditHistoryScreen from "./src/screens/CreditHistoryScreen";
14+
import LoanCalculatorScreen from "./src/screens/LoanCalculatorScreen";
15+
import ProfileScreen from "./src/screens/ProfileScreen";
1616

1717
const Stack = createNativeStackNavigator();
1818

1919
const AppNavigator = () => {
2020
const dispatch = useAppDispatch();
21-
const {isAuthenticated} = useAppSelector(state => state.auth);
21+
const { isAuthenticated } = useAppSelector((state) => state.auth);
2222

2323
useEffect(() => {
2424
dispatch(checkStoredAuth());
2525
}, [dispatch]);
2626

2727
return (
28-
<Stack.Navigator screenOptions={{headerShown: false}}>
28+
<Stack.Navigator screenOptions={{ headerShown: false }}>
2929
{!isAuthenticated ? (
3030
<>
3131
<Stack.Screen name="Login" component={LoginScreen} />

mobile-frontend/__tests__/App.test.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
* @format
33
*/
44

5-
import React from 'react';
6-
import ReactTestRenderer from 'react-test-renderer';
7-
import App from '../App';
5+
import React from "react";
6+
import ReactTestRenderer from "react-test-renderer";
7+
import App from "../App";
88

9-
test('renders correctly', async () => {
9+
test("renders correctly", async () => {
1010
await ReactTestRenderer.act(() => {
1111
ReactTestRenderer.create(<App />);
1212
});

mobile-frontend/babel.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module.exports = {
2-
presets: ['module:@react-native/babel-preset'],
2+
presets: ["module:@react-native/babel-preset"],
33
};

mobile-frontend/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
* @format
33
*/
44

5-
import {AppRegistry} from 'react-native';
6-
import App from './App';
7-
import {name as appName} from './app.json';
5+
import { AppRegistry } from "react-native";
6+
import App from "./App";
7+
import { name as appName } from "./app.json";
88

99
AppRegistry.registerComponent(appName, () => App);

mobile-frontend/jest.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module.exports = {
2-
preset: 'react-native',
2+
preset: "react-native",
33
transformIgnorePatterns: [
4-
'node_modules/(?!(jest-)?react-native|@react-native|@react-navigation|react-native-vector-icons)/',
4+
"node_modules/(?!(jest-)?react-native|@react-native|@react-navigation|react-native-vector-icons)/",
55
],
66
};

mobile-frontend/jest.setup.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
// Jest setup file
2-
import '@testing-library/react-native/extend-expect';
2+
import "@testing-library/react-native/extend-expect";
33

44
// Mock AsyncStorage
5-
jest.mock('@react-native-async-storage/async-storage', () =>
6-
require('@react-native-async-storage/async-storage/jest/async-storage-mock'),
5+
jest.mock("@react-native-async-storage/async-storage", () =>
6+
require("@react-native-async-storage/async-storage/jest/async-storage-mock"),
77
);
88

99
// Mock react-native-vector-icons
10-
jest.mock('react-native-vector-icons/MaterialIcons', () => 'Icon');
10+
jest.mock("react-native-vector-icons/MaterialIcons", () => "Icon");
1111

1212
// Suppress console warnings during tests
1313
global.console = {

mobile-frontend/metro.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
1+
const { getDefaultConfig, mergeConfig } = require("@react-native/metro-config");
22

33
/**
44
* Metro configuration

mobile-frontend/src/config/api.config.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,31 @@
44
*/
55

66
export const API_CONFIG = {
7-
BASE_URL: process.env.API_BASE_URL || 'http://localhost:3000',
8-
TIMEOUT: parseInt(process.env.API_TIMEOUT || '30000', 10),
7+
BASE_URL: process.env.API_BASE_URL || "http://localhost:3000",
8+
TIMEOUT: parseInt(process.env.API_TIMEOUT || "30000", 10),
99
ENDPOINTS: {
1010
// Auth endpoints
1111
AUTH: {
12-
LOGIN: '/api/auth/login',
13-
REGISTER: '/api/auth/register',
14-
WALLET: '/api/auth/wallet',
12+
LOGIN: "/api/auth/login",
13+
REGISTER: "/api/auth/register",
14+
WALLET: "/api/auth/wallet",
1515
},
1616
// Credit endpoints
1717
CREDIT: {
18-
SCORE: '/api/credit/score',
19-
HISTORY: '/api/credit/history',
20-
CALCULATE: '/api/credit/calculate-score',
18+
SCORE: "/api/credit/score",
19+
HISTORY: "/api/credit/history",
20+
CALCULATE: "/api/credit/calculate-score",
2121
},
2222
// Loan endpoints
2323
LOANS: {
24-
GET_BY_ID: '/api/loans',
25-
GET_BY_BORROWER: '/api/loans/borrower',
26-
CREATE: '/api/loans/create',
27-
APPROVE: '/api/loans/approve',
28-
REPAY: '/api/loans/repay',
24+
GET_BY_ID: "/api/loans",
25+
GET_BY_BORROWER: "/api/loans/borrower",
26+
CREATE: "/api/loans/create",
27+
APPROVE: "/api/loans/approve",
28+
REPAY: "/api/loans/repay",
2929
},
3030
// Health check
31-
HEALTH: '/health',
31+
HEALTH: "/health",
3232
},
3333
};
3434

0 commit comments

Comments
 (0)