Fix #317 Reports Intent Print changes

This commit is contained in:
karthikalakshmi 2026-03-27 09:41:11 +05:30
parent 8c80629ca4
commit 5c0f168a37
6 changed files with 96 additions and 109 deletions

View File

@ -8,7 +8,7 @@ import SelfBooking from './Pages/SelfBooking/SelfBooking.jsx';
import { isMobile, isIOS } from 'react-device-detect';
import { routesConfig } from './routesConfig';
import { GlobalItemCard } from './Features/BookingScreen/BookingData/BookingData.js';
import { clearSession, getSession } from './Services/Others.js';
import { clearSession, getSession, sessionStore } from './Services/Others.js';
const KisokSelBooking = lazy(
() => import('./Pages/SelfBooking/KisokSelBooking')
@ -27,9 +27,10 @@ import useSessionManager from './useSessionManager.js';
import ExtendSubscriptionModal from './Pages/ExtentedModal/ExtendSubscriptionModal.jsx';
import devtools from 'devtools-detect';
import { useDevToolsDetection } from './utils/useDevToolsDetection.js';
import { Capacitor } from '@capacitor/core';
const isCapacitor = () => !!window.Capacitor?.isNativePlatform?.();
// const isCapacitor = () => !!window.Capacitor?.isNativePlatform?.();
const isCapacitor = () => Capacitor.isNativePlatform();
// Define your home/exit pages here
const HOME_PAGES = [
'/app-page/home', // android minimize
@ -55,7 +56,7 @@ const AppRoutes = () => {
const [devToolsOpen, setDevToolsOpen] = useState(false);
// Flag to prevent stack push when back button navigates
const isBackNav = useRef(false);
console.log(isCapacitor(), 'Is Capacitor');
// Build navigation stack
useEffect(() => {
// Skip pushing to stack when back button caused this navigation
@ -70,13 +71,14 @@ const AppRoutes = () => {
// Don't track login pages
if (LOGIN_PAGES.some((p) => path.includes(p))) return;
const raw = sessionStorage.getItem('navStack');
const raw = getSession('navStack');
console.log('🎯 Current path:', path);
let stack = raw ? JSON.parse(raw) : [];
if (stack.length === 0 || stack[stack.length - 1] !== path) {
stack.push(path);
if (stack.length > 50) stack = stack.slice(-50);
sessionStorage.setItem('navStack', JSON.stringify(stack));
sessionStore('navStack', JSON.stringify(stack));
console.log('📍 Stack:', stack);
}
} catch (e) { }
@ -90,7 +92,7 @@ const AppRoutes = () => {
const currentPath = location.pathname;
const SessionId = getSession('SessionId');
console.log('SessionId:', SessionId, 'CurrentPath:', currentPath)
// 🟢 If session exists allow navigation
if (SessionId) {
console.log('Browser back allowed');
@ -112,65 +114,53 @@ const AppRoutes = () => {
}, [location.pathname]);
// Android Capacitor back button
useEffect(() => {
if (!isCapacitor()) return;
useEffect(() => {
if (!isCapacitor()) return;
const handler = async () => {
try {
const currentPath = location.pathname + (location.search || '');
console.log('🔙 Back pressed:', currentPath);
const handler = async () => {
try {
const currentPath = window.location.pathname + window.location.search; // Bug 2 fix
const raw = sessionStorage.getItem('navStack');
let stack = raw ? JSON.parse(raw) : [];
const raw = getSession('navStack');
let stack = raw ? JSON.parse(raw) : [];
// Remove current path from stack if it's at the end
while (stack.length && stack[stack.length - 1] === currentPath) {
stack.pop();
}
// If there are pages in history, go back to previous page
if (stack.length > 0) {
const previous = stack[stack.length - 1];
sessionStorage.setItem('navStack', JSON.stringify(stack));
isBackNav.current = true;
navigate(previous);
console.log('Navigate to previous:', previous);
return;
}
// Stack is empty - check where we are
// 🏠 Home page minimize
if (HOME_PAGES?.some((p) => currentPath?.includes(p))) {
console.log('Home page & empty stack → minimizing app');
await CapacitorApp.minimizeApp();
return;
}
// 🚪 Login page minimize
if (LOGIN_PAGES?.some((p) => currentPath?.includes(p))) {
console.log('Login page & empty stack → minimizing app');
await CapacitorApp.minimizeApp();
return;
}
// Anywhere else with empty stack go to home
const home = '/app-page/home';
sessionStorage.setItem('navStack', JSON.stringify([home]));
isBackNav.current = true;
navigate(home);
console.log('Empty stack, navigate to home');
} catch (e) {
console.error('Back handler error:', e);
await CapacitorApp.minimizeApp();
while (stack.length && stack[stack.length - 1] === currentPath) {
stack.pop();
}
};
const listener = CapacitorApp.addListener('backButton', handler);
if (stack.length > 0) {
const previous = stack[stack.length - 1];
sessionStore('navStack', JSON.stringify(stack));
isBackNav.current = true; // Bug 3 fix BEFORE navigate
navigate(previous);
return;
}
return () => {
listener.remove();
};
}, [navigate, location.pathname, location.search]);
if (HOME_PAGES?.some((p) => currentPath?.includes(p))) {
await CapacitorApp.minimizeApp();
return;
}
if (LOGIN_PAGES?.some((p) => currentPath?.includes(p))) {
await CapacitorApp.minimizeApp();
return;
}
const home = '/app-page/home';
isBackNav.current = true; // Bug 3 fix here too
sessionStore('navStack', JSON.stringify([home]));
navigate(home);
} catch (e) {
console.error('Back handler error:', e);
await CapacitorApp.minimizeApp();
}
};
const listenerPromise = CapacitorApp.addListener('backButton', handler); // Bug 1 fix
return () => {
listenerPromise.then(({ remove }) => remove());
};
}, [navigate,location.pathname, location.search]);
// mohan
// useEffect(() => {
// if (isMobile || isIOS) {
@ -211,27 +201,27 @@ const AppRoutes = () => {
// return () => clearInterval(checkDevTools);
// }, [devToolsOpen]);
const isBlocked = useDevToolsDetection(() => {
// optional: log, notify, etc.
console.warn('DevTools detected');
});
// const isBlocked = useDevToolsDetection(() => {
// // optional: log, notify, etc.
// console.warn('DevTools detected');
// });
if (isBlocked) {
return (
<div style={{
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '100vh',
flexDirection: 'column',
gap: '1rem'
}}>
<h1 style={{ color: 'red' }}>
DevTools detected. Please close it to continue.
</h1>
</div>
);
}
// if (isBlocked) {
// return (
// <div style={{
// display: 'flex',
// justifyContent: 'center',
// alignItems: 'center',
// height: '100vh',
// flexDirection: 'column',
// gap: '1rem'
// }}>
// <h1 style={{ color: 'red' }}>
// DevTools detected. Please close it to continue.
// </h1>
// </div>
// );
// }
if (extendModel) {
return (
<ExtendSubscriptionModal

View File

@ -56,11 +56,6 @@ const addAuthHeader = async (config) => {
let encryptedLoginType =
getSession('LoginType')
console.log(
'encryptedLoginType',
encryptedLoginType,
TokendecryptedValuesFun(encryptedMobileno)
);
// let Mobileno = encryptedUserId && encryptedLoginType != "Kiosk" ? TokendecryptedValuesFun(encryptedMobileno) : '1000000001';
let Mobileno = encryptedUserId

View File

@ -18,14 +18,14 @@ function RedirectApps() {
const SessionId = encryptedValuesUrlFun(getSession('SessionId'));
// const AuthToken = sessionStorage.getItem('auth');
if (sessionStorage.getItem('BranchId') !== null) {
if (getSession('BranchId') !== null) {
clearSession('BranchId');
}
if (sessionStorage.getItem('AppId') !== null) {
if (getSession('AppId') !== null) {
clearSession('AppId');
}
if (sessionStorage.getItem('hasRefreshed') !== null) {
sessionStorage.removeItem('hasRefreshed');
if (getSession('hasRefreshed') !== null) {
clearSession('hasRefreshed');
}
const param = {
MN: MobileNo,

View File

@ -41,6 +41,7 @@ const DateWiseReport = () => {
getSession('AppType')?.toLowerCase() == 'wholesale' ? true : false;
const [OrderFromDate, setOrderFromDate] = useState();
const [OrderToDate, setOrderToDate] = useState();
const sessionuserid = getSession('UserId')
const [UserId, setUserId] = useState(
UserRole != 'Employee' ? 0 : getSession('UserId')
);
@ -63,7 +64,7 @@ const DateWiseReport = () => {
setting?.SettingIdName?.toLowerCase() === 'mobilea4' &&
setting?.SettingValue === 'Y'
);
console.log(MobileA4Print, 'MobileA4PrintMobileA4Print');
console.log(MobileA4Print,SettingDataSelector, 'MobileA4PrintMobileA4Print');
useEffect(() => {
if (dataSource?.length > 0) {
@ -368,7 +369,7 @@ const DateWiseReport = () => {
}, []);
const getPreference = async () => {
const data = { AppId: AppId, CompId: CompId, BranchId: BranchId,UserId: UserId };
const data = { AppId: AppId, CompId: CompId, BranchId: BranchId,UserId: sessionuserid };
const { data: res } = await dispatch(getPreferenceData(data)).unwrap();
const decimalSetting = res?.data?.[0]?.SettingDtlDetails?.find(
(setting) =>
@ -545,12 +546,12 @@ const DateWiseReport = () => {
let TokenData = '';
let FooterPrint = '';
if (isMobile) {
if (MobileA4Print) {
ReportMobilePDFPrint({
printId: 'RePrint',
printStyle: style,
});
} else {
// if (MobileA4Print) {
// ReportMobilePDFPrint({
// printId: 'RePrint',
// printStyle: style,
// });
// } else {
var textEncoded = encodeURI(receiptText);
var TypeCheck = 'PrintReceipt';
var scheme = 'pozoprinter';
@ -578,7 +579,7 @@ const DateWiseReport = () => {
FooterPrint +
'HasFooterTextE' +
';end;';
}
// }
} else {
await printDiv('RePrint', style);
}

View File

@ -69,6 +69,7 @@ const ItemWiseReport = () => {
const BranchId = getSession('BranchId');
const AppId = getSession('AppId');
const UserRole = getSession('UserType');
const sessionuserid = getSession('UserId')
const [UserId, setUserId] = useState(
UserRole != 'Employee' ? 0 : getSession('UserId')
);
@ -79,7 +80,7 @@ const ItemWiseReport = () => {
setting?.SettingIdName?.toLowerCase() === 'mobilea4' &&
setting?.SettingValue === 'Y'
);
console.log(MobileA4Print,SettingDataSelector, 'MobileA4PrintMobileA4Print')
useEffect(() => {
getPreference();
}, []);
@ -210,7 +211,7 @@ const ItemWiseReport = () => {
}
}, [apiCall]);
const getPreference = async () => {
const data = { AppId: AppId, CompId: CompId, BranchId: BranchId,UserId: UserId };
const data = { AppId: AppId, CompId: CompId, BranchId: BranchId,UserId: sessionuserid };
const { data: res } = await dispatch(getPreferenceData(data)).unwrap();
const decimalSetting = res?.data?.[0]?.SettingDtlDetails?.find(
(setting) =>
@ -310,12 +311,12 @@ const ItemWiseReport = () => {
};
const Print = async () => {
if (isMobile) {
if (MobileA4Print) {
ReportMobilePDFPrint({
printId: 'RePrint',
printStyle: style,
});
} else {
// if (MobileA4Print) {
// ReportMobilePDFPrint({
// printId: 'RePrint',
// printStyle: style,
// });
// } else {
let LogoImage = '';
let TokenData = '';
let FooterPrint = '';
@ -346,7 +347,7 @@ const ItemWiseReport = () => {
FooterPrint +
'HasFooterTextE' +
';end;';
}
// }
} else {
await printDiv('RePrint', style);
}

View File

@ -705,7 +705,7 @@
color: #fff;
top: 0;
}
.optionnew:selection {
.optionnew::selection {
background-color: #ff4d4f;
}
.ovrly-icos {