Compare commits

..

8 Commits

Author SHA1 Message Date
victorAnumudu b46d96d1b8 fixed some build bug 2025-11-18 16:24:25 +01:00
CHIEFSOFT\ameye f712c80c67 Fix debug 2025-11-17 13:32:49 -05:00
CHIEFSOFT\ameye 97189d08f6 tesmorary .dev developemnt 2025-11-17 07:56:26 -05:00
CHIEFSOFT\ameye b090dbb056 test env 2025-11-17 07:48:18 -05:00
CHIEFSOFT\ameye 455b6677fa -e .env.production 2025-11-17 07:21:14 -05:00
CHIEFSOFT\ameye 447f15f7d9 build real for debug 2025-11-17 07:10:25 -05:00
CHIEFSOFT\ameye 04b7c5c4ff temporary fix 2025-11-17 07:05:25 -05:00
ameye 6c98292fce Merge branch 'template-product-checkbox' of MERMS/MermsFirstOffice into master 2025-10-21 18:56:14 +00:00
17 changed files with 56 additions and 39 deletions
+1
View File
@@ -7,6 +7,7 @@ INSTAGRAM_URL=https://www.instagram.com
# BACKEND END POINTS
REACT_APP_MAIN_API="https://devapi.mermsemr.com"
# REACT_APP_MAIN_API="http://localhost:14700"
# ENQUIRIES CONTACTS
VITE_CALL_ENDPOINT='09099000000'
+1
View File
@@ -7,6 +7,7 @@ VITE_INSTAGRAM_URL=https://www.instagram.com
# BACKEND END POINTS
REACT_APP_MAIN_API="https://devapi.mermsemr.com"
# REACT_APP_MAIN_API="http://localhost:14700"
# ENQUIRIES CONTACTS
VITE_CALL_ENDPOINT='09099000000'
+1
View File
@@ -7,6 +7,7 @@ INSTAGRAM_URL=https://www.instagram.com
# BACKEND END POINTS
REACT_APP_MAIN_API="https://api.mermsemr.com"
#REACT_APP_MAIN_API="http://localhost:14700"
# ENQUIRIES CONTACTS
VITE_CALL_ENDPOINT='09099000000'
+9
View File
@@ -24,5 +24,14 @@ else
# npm run start
nginx -g 'daemon off;' -c /usr/src/app/nginx.conf
nginx -c /usr/src/app/nginx.conf
# build the app and serve it via nginx
echo "Production build"
npm install --legacy-peer-deps
npm run build
# Testing sometimes
# npm run start
nginx -g 'daemon off;' -c /usr/src/app/nginx.conf
nginx -c /usr/src/app/nginx.conf
fi
@@ -1,7 +1,7 @@
import {useEffect, useState} from 'react'
import {useEffect} from 'react'
import { useQuery, useQueryClient } from '@tanstack/react-query'
import {useLocation, useNavigate, Link} from 'react-router-dom'
import {useLocation, useNavigate} from 'react-router-dom'
import BreadcrumbCom from '../breadcrumb/BreadcrumbCom'
import RouteLinks from '../../RouteLinks'
@@ -23,7 +23,7 @@ export default function AccountViewCom() {
if(!state?.memberUID){
navigate(RouteLinks.homePage, {replace: true})
}
},[])
},[navigate, state?.memberUID])
const {data, isFetching, isError, error} = useQuery({
queryKey: queryKeys.account_view,
@@ -51,7 +51,7 @@ export default function AccountViewCom() {
// type: 'active',
// exact: true,
})
},[state?.memberUID])
},[queryClient, state?.memberUID])
return (
<div className='w-full flex flex-col gap-8'>
@@ -1,5 +1,4 @@
import getDateTimeFromDateString from "../../helpers/getDateTimeFromDateString";
import RouteLinks from "../../RouteLinks";
import Icons from "../Icons";
import {Link} from 'react-router-dom'
+2 -2
View File
@@ -1,6 +1,6 @@
import React, {useState} from 'react'
import {useState} from 'react'
import {useDispatch} from 'react-redux'
import {useNavigate, Link} from 'react-router-dom'
import {useNavigate} from 'react-router-dom'
import {useMutation} from '@tanstack/react-query'
import {Formik, Form} from 'formik'
import * as Yup from "yup";
+6 -7
View File
@@ -1,9 +1,8 @@
import { useEffect, useState } from "react";
import { useState } from "react";
import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query'
import queryKeys from '../../services/queryKeys'
import BreadcrumbCom from "../breadcrumb/BreadcrumbCom";
import { getCountry, setCountry } from "../../services/siteServices";
import TableWrapper from "../tableWrapper/TableWrapper";
export default function CountrySettings(){
@@ -11,7 +10,7 @@ export default function CountrySettings(){
const queryClient = useQueryClient()
const {data, isFetching, status, isError, error} = useQuery({
const {data, status, isError, error} = useQuery({
queryKey: queryKeys.country_list,
queryFn: () => {
const reqData = {
@@ -49,12 +48,12 @@ export default function CountrySettings(){
const handleStatusChange = (event, details) => {
setSelected(event.target.id)
const name = event.target.name
const val = name.toUpperCase() == 'STATUS' ? details.status : details.signup
const val = name.toUpperCase() === 'STATUS' ? details.status : details.signup
const reqData = {
'val_type': name.toUpperCase(),
'country_uid': details?.country_uid,
'code': details?.code,
'val': val == 0 ? 1 : 0
'val': val === 0 ? 1 : 0
}
statusChange.mutate(reqData)
};
@@ -110,7 +109,7 @@ export default function CountrySettings(){
<td className="px-8">
<div className="flex justify-center">
<>
{selected == 'status' + index ?
{selected === 'status' + index ?
<div role="status" className="text-center">
<svg aria-hidden="true" className="w-4 h-4 text-gray-200 animate-spin dark:text-gray-600 fill-primary" viewBox="0 0 100 101" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="currentColor"/>
@@ -134,7 +133,7 @@ export default function CountrySettings(){
<td className="px-8">
<div className="flex justify-center">
<>
{selected == `signup${index}`
{selected === `signup${index}`
?
<div role="status" className="text-center">
<svg aria-hidden="true" className="w-4 h-4 text-gray-200 animate-spin dark:text-gray-600 fill-primary" viewBox="0 0 100 101" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -2,7 +2,6 @@ import React from 'react'
import {Link} from 'react-router-dom'
import Img from '../../../assets/user_avatar.jpg'
import CustomCounter from '../../CustomCounter'
import RouteLinks from '../../../RouteLinks'
export default function RecentPaymentsBar({data, isFetching, isError, error}) {
+2 -2
View File
@@ -1,4 +1,4 @@
import {useMutation, useQueryClient} from '@tanstack/react-query'
import {useMutation} from '@tanstack/react-query'
import {Formik, Form} from 'formik'
import * as Yup from "yup";
// import InputText from '../InputText'
@@ -19,7 +19,7 @@ export default function ProductDetails({productDetails}) {
sale_text: productDetails?.sale_text,
};
const queryClient = useQueryClient()
// const queryClient = useQueryClient()
const productUpdate = useMutation({
mutationFn: (fields) => {
+8 -6
View File
@@ -1,5 +1,5 @@
import { useEffect, useState } from 'react'
import { useQuery, useMutation } from '@tanstack/react-query'
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
import queryKeys from '../../services/queryKeys'
import BreadcrumbCom from '../breadcrumb/BreadcrumbCom'
@@ -10,6 +10,8 @@ import { getProductsTemplate, setProductsTemplate } from '../../services/siteSer
export default function ProductTemplates() {
const queryClient = useQueryClient()
const [selected, setSelected] = useState('')
const [page, setPage] = useState(1)
@@ -80,19 +82,19 @@ export default function ProductTemplates() {
const handleStatusChange = (event, details) => {
setSelected(event.target.id)
const name = event.target.name
const val = name.toUpperCase() == 'STATUS' ? details.status : details.signup
const val = name.toUpperCase() === 'STATUS' ? details.status : details.signup
const reqData = {
'val_type': name.toUpperCase(),
'country_uid': details?.country_uid,
'code': details?.code,
'val': val == 0 ? 1 : 0
'val': val === 0 ? 1 : 0
}
// statusChange.mutate(reqData)
statusChange.mutate(reqData)
setTimeout(()=>{
setSelected('')
const NewData = productsTemData.map(item => { // remove later
if(item.product_id == event.target.id){
if(item.product_id === event.target.id){
return ({...item, status: !item.status})
}else{
return item
@@ -163,7 +165,7 @@ export default function ProductTemplates() {
<td className="px-2">
<div className="flex justify-center">
<>
{selected == item?.product_id ?
{selected === item?.product_id ?
<div role="status" className="text-center">
<svg aria-hidden="true" className="w-4 h-4 text-gray-200 animate-spin dark:text-gray-600 fill-primary" viewBox="0 0 100 101" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="currentColor"/>
+8 -5
View File
@@ -1,7 +1,7 @@
import {useEffect, useState} from 'react';
import {useEffect} from 'react';
import {useLocation, useNavigate} from 'react-router-dom'
import BreadcrumbCom from '../breadcrumb/BreadcrumbCom'
import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query'
import { useQuery } from '@tanstack/react-query'
import queryKeys from '../../services/queryKeys'
import { getProductView } from "../../services/siteServices";
import ProductDetails from './ProductDetails';
@@ -14,12 +14,15 @@ export default function ProductView() {
const navigate = useNavigate()
useEffect(() => {
if (!state?.productID) {
navigate(RouteLinks.homePage, {replace: true})
const stateExist = () => {
if (!state?.productID) {
navigate(RouteLinks.homePage, {replace: true})
}
}
stateExist()
}, [])
const {data, isFetching, status, isError, error} = useQuery({
const {data, isFetching, isError, error} = useQuery({
queryKey: queryKeys.product_view,
queryFn: () => {
const reqData = {
@@ -1,4 +1,4 @@
import {useLocation, useNavigate, Link} from 'react-router-dom'
import {useLocation, useNavigate} from 'react-router-dom'
import {useQuery, useMutation} from '@tanstack/react-query'
import {FaCaretDown} from "react-icons/fa";
import BreadcrumbCom from '../breadcrumb/BreadcrumbCom'
@@ -20,9 +20,9 @@ export default function SubscriptionViewCom() {
const [values, setValues] = useState({custom_id: '', template_uid: ''})
const handleValueChange = ({target: {name, value}}) => {
if (name == 'custom_template') {
if (name === 'custom_template') {
setValues(prev => ({...prev, custom_id: value}))
} else if (name == 'template') {
} else if (name === 'template') {
setValues(prev => ({...prev, template_uid: value}))
} else {
setValues(prev => ({...prev}))
@@ -30,9 +30,12 @@ export default function SubscriptionViewCom() {
}
useEffect(() => {
if (!state?.subscriptionUID) {
navigate(RouteLinks.homePage, {replace: true})
const stateExist = () => {
if (!state?.subscriptionUID) {
navigate(RouteLinks.homePage, {replace: true})
}
}
stateExist()
}, [])
const {data, isFetching, isError, error} = useQuery({
@@ -52,8 +55,8 @@ export default function SubscriptionViewCom() {
const customTemplates = subscriptionViewData?.available_custom_templates
const availableTemplates = subscriptionViewData?.available_templates
const selectedSubscription = subscriptionViewData?.subscription
const currentCustomTem = subscriptionViewData?.available_custom_templates?.filter(item => item?.custom_id == subscriptionViewData?.subscription?.custom_template)[0]?.custom_id
const currentTemplate = subscriptionViewData?.available_templates?.filter(item => item?.template_uid == subscriptionViewData?.subscription?.product_template)[0]?.template_uid
const currentCustomTem = subscriptionViewData?.available_custom_templates?.filter(item => item?.custom_id === subscriptionViewData?.subscription?.custom_template)[0]?.custom_id
const currentTemplate = subscriptionViewData?.available_templates?.filter(item => item?.template_uid === subscriptionViewData?.subscription?.product_template)[0]?.template_uid
// // console.log('subscriptionViewData', subscriptionViewData, currentCustomTem, currentTemplate)
// useEffect(()=>{
@@ -11,7 +11,7 @@ import formatNumber from '../../helpers/formatNumber';
export default function LoanChargeDetails({transactionID}) {
const [page, setPage] = useState(1)
const [page] = useState(1)
const {data, isFetching, isError, error} = useQuery({
queryKey: [...queryKeys.loan_charges, page],
@@ -11,7 +11,7 @@ import formatNumber from '../../helpers/formatNumber';
export default function RepaymentScheduleDetails({transactionID}) {
const [page, setPage] = useState(1)
const [page] = useState(1)
const {data, isFetching, isError, error} = useQuery({
queryKey: [...queryKeys.repayment_schedule, page],
@@ -11,7 +11,7 @@ import localImgLoader from '../../helpers/localImageLoader';
export default function TransactionDetails({transactionID}) {
const [page, setPage] = useState(1)
const [page] = useState(1)
const {data, isFetching, isError, error} = useQuery({
queryKey: [...queryKeys.transactions, page],
+1 -1
View File
@@ -11,7 +11,7 @@ export default function TransactionDetailsPage() {
if(!state?.transactionID){
navigate('/', {replace: true})
}
},[state])
},[navigate, state])
return (
<TransactionDetailsCom id={state?.transactionID} />
)