fixed recent action section bug #48

Merged
ameye merged 1 commits from recent-action-fix into master 2025-07-21 15:50:59 +00:00
8 changed files with 43 additions and 23 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 995 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

+4 -2
View File
@@ -8,6 +8,7 @@ import { Link } from 'react-router-dom'
import siteLinks from '../../links/siteLinks' import siteLinks from '../../links/siteLinks'
import { useMutation } from '@tanstack/react-query'; import { useMutation } from '@tanstack/react-query';
import { signUpUser } from '../../services/services'; import { signUpUser } from '../../services/services';
import getImage from '../../utils/getImage';
const validationSchema = Yup.object().shape({ const validationSchema = Yup.object().shape({
email: Yup.string() email: Yup.string()
@@ -130,8 +131,9 @@ export default function Signup2() {
</> </>
: :
<div className='col-12'> <div className='col-12'>
<div className="rounded-2 d-flex flex-column justify-content-between align-items-center" style={{height: '200px', backgroundColor: '#F2FAF7'}}> <div className="rounded-2 d-flex flex-column justify-content-between align-items-center" style={{backgroundColor: '#F2FAF7'}}>
<h4 className='p-4 text-black'>Check your email to continue.</h4> <h4 className='p-4 text-black' style={{marginBottom: '-30px'}}>Check your email to continue.</h4>
<img className='' style={{width: '200px'}} src={getImage('check-mail.png')} alt='mail-alert' />
<Link to={siteLinks.login} className='p-2 text-primary' style={{color: '#6FCAEF'}}>Home</Link> <Link to={siteLinks.login} className='p-2 text-primary' style={{color: '#6FCAEF'}}>Home</Link>
</div> </div>
</div> </div>
+7 -1
View File
@@ -2,6 +2,7 @@ import React from 'react'
import { productsURL } from '../../services/services' import { productsURL } from '../../services/services'
import { useQuery } from '@tanstack/react-query' import { useQuery } from '@tanstack/react-query'
import queryKeys from '../../services/queryKeys' import queryKeys from '../../services/queryKeys'
import getImage from '../../utils/getImage'
export default function ProductsURL() { export default function ProductsURL() {
@@ -70,7 +71,12 @@ export default function ProductsURL() {
</td> </td>
<td><span className={`badge ${statusColor}`}>{item?.status}</span></td> <td><span className={`badge ${statusColor}`}>{item?.status}</span></td>
<td><a className="mr-3" href={productUrl}><i className="fe fe-edit"></i></a></td> {/* <td><a className="mr-3" href={productUrl}><i className="fe fe-edit"></i></a></td> */}
<td>
<a className="mr-3" href={productUrl}>
<img src={getImage('arrow-next.png')} alt='next' />
</a>
</td>
</tr> </tr>
) )
})} })}
+11 -11
View File
@@ -10,7 +10,7 @@ export default function RecentActions() {
queryFn: () => recentActions() queryFn: () => recentActions()
}) })
const actionData = dataAction?.data?.action_data const actionData = dataAction?.data?.recent_actions
return ( return (
<> <>
@@ -43,7 +43,7 @@ export default function RecentActions() {
<div className="d-xxs-flex align-items-center"> <div className="d-xxs-flex align-items-center">
<div className="total-sales"> <div className="total-sales">
<p>Last Update</p> <p>Last Update</p>
<h3>{dataAction?.data?.action_data?.last_update}</h3> <h3>{dataAction?.data?.last_update}</h3>
</div> </div>
<div className="mb-3 mb-sm-0 ml-auto"> <div className="mb-3 mb-sm-0 ml-auto">
{/*<button className="btn btn-primary btn-xs">View All Invoices</button>*/} {/*<button className="btn btn-primary btn-xs">View All Invoices</button>*/}
@@ -62,19 +62,19 @@ export default function RecentActions() {
<div className="row no-gutters"> <div className="row no-gutters">
<div className="col-6 col-xxs-3 "> <div className="col-6 col-xxs-3 ">
<p>Initial</p> <p>Initial</p>
<h4>{actionData?.initial}</h4> <h4>{dataAction?.data?.initial}</h4>
</div> </div>
<div className="col-6 col-xxs-3 "> <div className="col-6 col-xxs-3 ">
<p>Processing</p> <p>Processing</p>
<h4>{actionData?.processing}</h4> <h4>{dataAction?.data?.processing}</h4>
</div> </div>
<div className="col-6 col-xxs-3 "> <div className="col-6 col-xxs-3 ">
<p>Verifying</p> <p>Verifying</p>
<h4>{actionData?.verifying}</h4> <h4>{dataAction?.data?.verifying}</h4>
</div> </div>
<div className="col-6 col-xxs-3 "> <div className="col-6 col-xxs-3 ">
<p>Completed</p> <p>Completed</p>
<h4>{actionData?.completed}</h4> <h4>{dataAction?.data?.completed}</h4>
</div> </div>
</div> </div>
<div className="table-responsive m-t-20"> <div className="table-responsive m-t-20">
@@ -89,16 +89,16 @@ export default function RecentActions() {
</tr> </tr>
</thead> </thead>
<tbody className="text-muted"> <tbody className="text-muted">
{actionData && actionData?.actions.map((action, index) => { {actionData && actionData?.map((action, index) => {
let bgColor = action?.status == '5' ? 'badge-success-inverse' : action?.status == '3' ? 'badge-info-inverse' : action?.status == '0' ? 'badge-warning-inverse' : 'badge-primary-inverse' let bgColor = action?.status == '5' ? 'badge-success-inverse' : action?.status == '3' ? 'badge-info-inverse' : action?.status == '0' ? 'badge-warning-inverse' : 'badge-primary-inverse'
let text = action?.status == '5' ? 'completed' : action?.status == '3' ? 'verifying' : action?.status == '0' ? 'processing' : 'processing' let text = action?.status == '5' ? 'completed' : action?.status == '3' ? 'verifying' : action?.status == '0' ? 'processing' : 'processing'
return ( return (
<tr key={index}> <tr key={index}>
<td>{action?.no}</td> <td>{action?.id}</td>
<td>{action?.description}</td> <td>{action?.action_label}</td>
<td>{new Date(action?.date).toDateString()}</td> <td>{new Date(action?.added).toDateString()}</td>
<td> <td>
<label className={`badge mb-0 ${bgColor}`}>{text}</label> <label className={`badge mb-0 ${bgColor}`}>{action?.status_description}</label>
</td> </td>
</tr> </tr>
) )
+10 -3
View File
@@ -1,4 +1,4 @@
import React from "react"; import React, { useRef } from "react";
import getImage from "../../../utils/getImage"; import getImage from "../../../utils/getImage";
import { Link, useNavigate } from "react-router-dom"; import { Link, useNavigate } from "react-router-dom";
import { useSelector } from "react-redux"; import { useSelector } from "react-redux";
@@ -9,6 +9,8 @@ export default function UserHeader(){
const { userDetails } = useSelector((state) => state?.userDetails); // CHECKS IF USER Details are avaliable, to determine if user is active const { userDetails } = useSelector((state) => state?.userDetails); // CHECKS IF USER Details are avaliable, to determine if user is active
const nav_menu = useRef(null)
const toggleSidebar = (e) => { const toggleSidebar = (e) => {
e.preventDefault() e.preventDefault()
document.body.classList.toggle('sidebar-toggled') document.body.classList.toggle('sidebar-toggled')
@@ -32,6 +34,11 @@ export default function UserHeader(){
window.location.reload() window.location.reload()
} }
const toggleMenu = (e) => {
// e.preventDefault()
nav_menu.current.classList.toggle('show')
}
return ( return (
<header className="app-header top-bar"> <header className="app-header top-bar">
<nav className="navbar navbar-expand-md"> <nav className="navbar navbar-expand-md">
@@ -66,11 +73,11 @@ export default function UserHeader(){
<ul className="navbar-nav nav-right ml-auto"> <ul className="navbar-nav nav-right ml-auto">
<li className="nav-item user-profile"> <li className="nav-item user-profile">
<a href="#" className="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown"> <a onClick={toggleMenu} href="#" className="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdow">
<img src={getImage('profile-pic-circle.png')} alt="avtar-img" /> <img src={getImage('profile-pic-circle.png')} alt="avtar-img" />
<span className="bg-success user-status"></span> <span className="bg-success user-status"></span>
</a> </a>
<div className="dropdown-menu animated fadeIn"> <div ref={nav_menu} className="dropdown-menu animated fadeIn">
<div className="bg-gradient px-4 py-3"> <div className="bg-gradient px-4 py-3">
<div className="d-flex align-items-center justify-content-between"> <div className="d-flex align-items-center justify-content-between">
<div className="mr-1"> <div className="mr-1">
+10 -5
View File
@@ -588,11 +588,16 @@
left: 0px; left: 0px;
} }
} }
.show + .dropdown-menu{ // .show{
margin-top: 0; // margin-top: 0!important;
visibility: visible; // visibility: visible!important;
opacity: 1; // opacity: 1!important;
} // }
// .show + .dropdown-menu{
// margin-top: 0;
// visibility: visible;
// opacity: 1;
// }
// .show { // .show {
// .dropdown-menu{ // .dropdown-menu{
// margin-top: 0; // margin-top: 0;
+1 -1
View File
@@ -4,10 +4,10 @@ const queryKeys = {
products: ['product-data'], products: ['product-data'],
myproduct_provision: ['myproduct_provision'], myproduct_provision: ['myproduct_provision'],
product_page: ['product_page'], product_page: ['product_page'],
recentAction: ['recent-action'],
dashboard: ['dashboard'], dashboard: ['dashboard'],
topBar: ['top-bar'], topBar: ['top-bar'],
recentAction: ['recent-action'],
calendar_events: ['calendar_events'], calendar_events: ['calendar_events'],
contacts: ['contacts'] contacts: ['contacts']
} }