From 6c276a3c8da38294afa7c0b622eed7ec9f406eb0 Mon Sep 17 00:00:00 2001 From: pramod mahajan Date: Wed, 23 Jul 2025 11:44:59 +0530 Subject: [PATCH] added utils fun that has code convert into bootstrap color like priamery. --- src/components/Expenses/ExpenseList.jsx | 15 +++---- src/components/Expenses/ViewExpense.jsx | 29 ++++++------ src/utils/appUtils.js | 59 +++++++++++-------------- 3 files changed, 47 insertions(+), 56 deletions(-) diff --git a/src/components/Expenses/ExpenseList.jsx b/src/components/Expenses/ExpenseList.jsx index a635ac8c..499df314 100644 --- a/src/components/Expenses/ExpenseList.jsx +++ b/src/components/Expenses/ExpenseList.jsx @@ -5,6 +5,7 @@ import { useExpenseContext } from "../../pages/Expense/ExpensePage"; import { formatDate, formatUTCToLocalTime } from "../../utils/dateUtils"; import Pagination from "../common/Pagination"; import { ITEMS_PER_PAGE } from "../../utils/constants"; +import { AppColorconfig, getColorNameFromHex } from "../../utils/appUtils"; const ExpenseList = () => { const { setViewExpense,setExpenseModal } = useExpenseContext(); @@ -21,7 +22,7 @@ const ExpenseList = () => { }; - const { data, isLoading, isError,isInitialLoading } = useExpenseList(2, currentPage, filter); + const { data, isLoading, isError,isInitialLoading } = useExpenseList(10, currentPage, filter); if (isInitialLoading) return
Loading...
; const items = data.data ?? []; const totalPages = data?.totalPages ?? 1; @@ -173,16 +174,10 @@ const ExpenseList = () => { {expense.amount} - {expense.status?.name || "Unknown"} + + {expense.status?.name || "Unknown"} diff --git a/src/components/Expenses/ViewExpense.jsx b/src/components/Expenses/ViewExpense.jsx index 8c15f2a5..b69792c5 100644 --- a/src/components/Expenses/ViewExpense.jsx +++ b/src/components/Expenses/ViewExpense.jsx @@ -4,6 +4,7 @@ import { formatUTCToLocalTime } from "../../utils/dateUtils"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { ActionSchema } from "./ExpenseSchema"; +import { getColorNameFromHex } from "../../utils/appUtils"; const ViewExpense = ({ ExpenseId }) => { const { @@ -40,42 +41,42 @@ const ViewExpense = ({ ExpenseId }) => { {/* Expense Info Rows */} -
+
{formatUTCToLocalTime(ExpenseId.transactionDate)}
-
+
{ExpenseId.expensesType.name}
-
+
{ExpenseId.supplerName}
-
+
₹ {ExpenseId.amount}
-
+
{ExpenseId.paymentMode.name}
-
+
@@ -84,30 +85,30 @@ const ViewExpense = ({ ExpenseId }) => {
-
+
- + {ExpenseId.status.displayName}
-
+
{ExpenseId.preApproved ? "Yes" : "No"}
-
+
{ExpenseId.project.name}
-
+
@@ -116,7 +117,7 @@ const ViewExpense = ({ ExpenseId }) => {
-
+
{formatUTCToLocalTime(ExpenseId.createdAt, true)}
@@ -125,7 +126,7 @@ const ViewExpense = ({ ExpenseId }) => {
- +
Local travel reimbursement for delivery of materials to client site via City Taxi Service
@@ -163,7 +164,7 @@ const ViewExpense = ({ ExpenseId }) => { fontSize: "0.85rem", }} > - {status.displayName || status.name} + {status.displayName || status.name} ))}
diff --git a/src/utils/appUtils.js b/src/utils/appUtils.js index 3f420b31..cd59baa6 100644 --- a/src/utils/appUtils.js +++ b/src/utils/appUtils.js @@ -3,39 +3,34 @@ export const formatFileSize=(bytes)=> { else if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(2) + " KB"; else return (bytes / (1024 * 1024)).toFixed(2) + " MB"; } -export const getExpenseIcon = (type) => { - switch (type.toLowerCase()) { - case 'vendor/supplier payments': - return 'bx-briefcase'; // Business-related - case 'transport': - return 'bx-car'; // Vehicle or logistics - case 'compliance & safety': - return 'bx-shield-quarter'; // Security/safety - case 'mobilization': - return 'bx-building-house'; // Setup / site infra - case 'procurement': - return 'bx-package'; // Box/package/supplies - case 'maintenance & utilities': - return 'bx-wrench'; // Repair/maintenance - case 'travelling': - return 'bx-plane'; // Personnel delivery - case 'employee welfare': - return 'bx-user-heart'; // Welfare / people - default: - return 'bx-folder'; // Fallback icon +export const AppColorconfig = { + colors: { + primary: '#696cff', + secondary: '#8592a3', + success: '#71dd37', + info: '#03c3ec', + warning: '#ffab00', + danger: '#ff3e1d', + dark: '#233446', + black: '#000', + white: '#fff', + cardColor: '#fff', + bodyBg: '#f5f5f9', + bodyColor: '#697a8d', + headingColor: '#566a7f', + textMuted: '#a1acb8', + borderColor: '#eceef1' } }; -export const getPaymentModeIcon = (mode) => { - switch (mode.toLowerCase()) { - case 'cash': - return 'bx-money'; // Cash/coins - case 'upi': - return 'bx-mobile-alt'; // Mobile payment - case 'cheque': - return 'bx-receipt'; // Paper receipt - case 'netbanking': - return 'bx-globe'; // Online/internet - default: - return 'bx-credit-card'; // Generic fallback +export const getColorNameFromHex = (hex) => { + const normalizedHex = hex?.replace(/'/g, '').toLowerCase(); + const colors = AppColorconfig.colors; + + for (const [name, value] of Object.entries(colors)) { + if (value.toLowerCase() === normalizedHex) { + return name; + } } + + return null; // };