Turbo add style and combo sales page Design
This commit is contained in:
parent
aa4b734b25
commit
0eae195492
|
|
@ -565,6 +565,7 @@ Button[disabled] {
|
||||||
background: #fafafa7a;
|
background: #fafafa7a;
|
||||||
//vicky
|
//vicky
|
||||||
padding: 1px 8px !important;
|
padding: 1px 8px !important;
|
||||||
|
border: 0.5px solid rgb(235, 235, 235);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-input-affix-wrapper > input.ant-input {
|
.ant-input-affix-wrapper > input.ant-input {
|
||||||
|
|
@ -967,7 +968,6 @@ Button[disabled] {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// writed by sree lowStock animated
|
// writed by sree lowStock animated
|
||||||
|
|
||||||
.stock-alert-animation {
|
.stock-alert-animation {
|
||||||
|
|
@ -976,8 +976,13 @@ Button[disabled] {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
@keyframes blink {
|
@keyframes blink {
|
||||||
0% { opacity: 1; }
|
0% {
|
||||||
50% { opacity: 0; }
|
opacity: 1;
|
||||||
100% { opacity: 1; }
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,16 +2,35 @@ import React, { useState, useEffect, useRef } from 'react';
|
||||||
import { useNavigate, useLocation } from 'react-router-dom';
|
import { useNavigate, useLocation } from 'react-router-dom';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
import {
|
import {
|
||||||
FaBars, FaThLarge, FaHome, FaCog, FaChartBar, FaFileAlt,
|
FaBars,
|
||||||
FaMobileAlt, FaSignOutAlt, FaSignInAlt, FaArrowRight,
|
FaThLarge,
|
||||||
FaCaretRight
|
FaHome,
|
||||||
|
FaCog,
|
||||||
|
FaChartBar,
|
||||||
|
FaFileAlt,
|
||||||
|
FaMobileAlt,
|
||||||
|
FaSignOutAlt,
|
||||||
|
FaSignInAlt,
|
||||||
|
FaArrowRight,
|
||||||
|
FaCaretRight,
|
||||||
} from 'react-icons/fa';
|
} from 'react-icons/fa';
|
||||||
import { MdSettings, MdOutlineReport, MdOutlineHome, MdOutlineKeyboardArrowDown, MdOutlineKeyboardArrowRight, } from 'react-icons/md';
|
import {
|
||||||
|
MdSettings,
|
||||||
|
MdOutlineReport,
|
||||||
|
MdOutlineHome,
|
||||||
|
MdOutlineKeyboardArrowDown,
|
||||||
|
MdOutlineKeyboardArrowRight,
|
||||||
|
} from 'react-icons/md';
|
||||||
import { BiLogOut, BiLogIn } from 'react-icons/bi';
|
import { BiLogOut, BiLogIn } from 'react-icons/bi';
|
||||||
import { AiOutlineAppstore, AiOutlineSetting, AiOutlineBarChart, AiOutlineFileText } from 'react-icons/ai';
|
import {
|
||||||
|
AiOutlineAppstore,
|
||||||
|
AiOutlineSetting,
|
||||||
|
AiOutlineBarChart,
|
||||||
|
AiOutlineFileText,
|
||||||
|
} from 'react-icons/ai';
|
||||||
import { GiHamburgerMenu } from 'react-icons/gi';
|
import { GiHamburgerMenu } from 'react-icons/gi';
|
||||||
import './SideMenuPozo.scss';
|
import './SideMenuPozo.scss';
|
||||||
import { FaCaretDown } from "react-icons/fa";
|
import { FaCaretDown } from 'react-icons/fa';
|
||||||
import { useDispatch } from 'react-redux';
|
import { useDispatch } from 'react-redux';
|
||||||
import { useContext } from 'react';
|
import { useContext } from 'react';
|
||||||
import { AuthContext } from '../../AuthContext';
|
import { AuthContext } from '../../AuthContext';
|
||||||
|
|
@ -45,68 +64,97 @@ import {
|
||||||
import { ChangeTotalAmount } from '../../Features/ExteraCharges/ExtraCharges';
|
import { ChangeTotalAmount } from '../../Features/ExteraCharges/ExtraCharges';
|
||||||
import * as Offer from '../../Features/Offer/Offer';
|
import * as Offer from '../../Features/Offer/Offer';
|
||||||
import { FiMenu } from 'react-icons/fi';
|
import { FiMenu } from 'react-icons/fi';
|
||||||
import POZOMIND from "../../Images/PozomindWLogo.png";
|
import POZOMIND from '../../Images/PozomindWLogo.png';
|
||||||
import { ChangeFullFreeProductList, changeFullOfferAppliedProducts, changeLoyaltyConsumedQuantities } from '../../Features/Offer/Offernew/BookingOffernew';
|
import {
|
||||||
|
ChangeFullFreeProductList,
|
||||||
|
changeFullOfferAppliedProducts,
|
||||||
|
changeLoyaltyConsumedQuantities,
|
||||||
|
} from '../../Features/Offer/Offernew/BookingOffernew';
|
||||||
|
|
||||||
const subDirectory = import.meta.env.BASE_URL;
|
const subDirectory = import.meta.env.BASE_URL;
|
||||||
|
|
||||||
// Filter functions (copied from AppPage.jsx)
|
// Filter functions (copied from AppPage.jsx)
|
||||||
function filterMenuItems(menu, configList) {
|
function filterMenuItems(menu, configList) {
|
||||||
if (!Array.isArray(menu)) return [];
|
if (!Array.isArray(menu)) return [];
|
||||||
return menu.filter((item) => {
|
return menu
|
||||||
|
.filter((item) => {
|
||||||
if (!item) return false;
|
if (!item) return false;
|
||||||
if (item.label === "Sign Out") return true;
|
if (item.label === 'Sign Out') return true;
|
||||||
// For nested children, filter recursively
|
// For nested children, filter recursively
|
||||||
let filteredChildren = item.children ? filterMenuItems(item.children, configList) : undefined;
|
let filteredChildren = item.children
|
||||||
|
? filterMenuItems(item.children, configList)
|
||||||
|
: undefined;
|
||||||
// Employee access: ConfigName
|
// Employee access: ConfigName
|
||||||
const config = configList?.find(
|
const config = configList?.find(
|
||||||
(config) => config.ConfigName === item.label && config.ReadAccess === 'Y'
|
(config) =>
|
||||||
|
config.ConfigName === item.label && config.ReadAccess === 'Y'
|
||||||
);
|
);
|
||||||
// If this item or any of its children are accessible, include it
|
// If this item or any of its children are accessible, include it
|
||||||
return (config || (filteredChildren && filteredChildren.length > 0));
|
return config || (filteredChildren && filteredChildren.length > 0);
|
||||||
}).map(item => ({
|
})
|
||||||
|
.map((item) => ({
|
||||||
...item,
|
...item,
|
||||||
children: item.children ? filterMenuItems(item.children, configList) : undefined
|
children: item.children
|
||||||
|
? filterMenuItems(item.children, configList)
|
||||||
|
: undefined,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
function filterSadminUserMenuItems(menu, configList) {
|
function filterSadminUserMenuItems(menu, configList) {
|
||||||
if (!Array.isArray(menu)) return [];
|
if (!Array.isArray(menu)) return [];
|
||||||
return menu.filter((item) => {
|
return menu
|
||||||
|
.filter((item) => {
|
||||||
if (!item) return false;
|
if (!item) return false;
|
||||||
if (item.label === "Sign Out") return true;
|
if (item.label === 'Sign Out') return true;
|
||||||
|
|
||||||
let filteredChildren = item.children ? filterSadminUserMenuItems(item.children, configList) : undefined;
|
let filteredChildren = item.children
|
||||||
|
? filterSadminUserMenuItems(item.children, configList)
|
||||||
|
: undefined;
|
||||||
// Super admin user access: MenuName
|
// Super admin user access: MenuName
|
||||||
const config = configList?.find(
|
const config = configList?.find(
|
||||||
(config) => config.MenuName === item.label && config.ReadAccess === 'Y'
|
(config) => config.MenuName === item.label && config.ReadAccess === 'Y'
|
||||||
);
|
);
|
||||||
return (config || (filteredChildren && filteredChildren.length > 0));
|
return config || (filteredChildren && filteredChildren.length > 0);
|
||||||
}).map(item => ({
|
})
|
||||||
|
.map((item) => ({
|
||||||
...item,
|
...item,
|
||||||
children: item.children ? filterSadminUserMenuItems(item.children, configList) : undefined
|
children: item.children
|
||||||
|
? filterSadminUserMenuItems(item.children, configList)
|
||||||
|
: undefined,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Capitalize helper
|
// Capitalize helper
|
||||||
function capitalizeWords(str) {
|
function capitalizeWords(str) {
|
||||||
if (typeof str !== 'string') return '';
|
if (typeof str !== 'string') return '';
|
||||||
return str.replace(/\w\S*/g, (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());
|
return str.replace(
|
||||||
|
/\w\S*/g,
|
||||||
|
(txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recursively capitalize all menu item labels, filtering out falsy items and items without a label
|
// Recursively capitalize all menu item labels, filtering out falsy items and items without a label
|
||||||
function capitalizeMenuLabels(items) {
|
function capitalizeMenuLabels(items) {
|
||||||
return (items || [])
|
return (items || [])
|
||||||
.filter(item => item && typeof item.label === 'string' && item.label.trim() !== '')
|
.filter(
|
||||||
.map(item => ({
|
(item) =>
|
||||||
|
item && typeof item.label === 'string' && item.label.trim() !== ''
|
||||||
|
)
|
||||||
|
.map((item) => ({
|
||||||
...item,
|
...item,
|
||||||
label: capitalizeWords(item.label),
|
label: capitalizeWords(item.label),
|
||||||
children: item.children ? capitalizeMenuLabels(item.children) : undefined
|
children: item.children ? capitalizeMenuLabels(item.children) : undefined,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
const SideMenuPozo = ({ items = [] }) => {
|
const SideMenuPozo = ({ items = [] }) => {
|
||||||
const { freeProductsCount, setFreeProductsCount, UserType, Access, SadminuserAccess } = useContext(AuthContext);
|
const {
|
||||||
|
freeProductsCount,
|
||||||
|
setFreeProductsCount,
|
||||||
|
UserType,
|
||||||
|
Access,
|
||||||
|
SadminuserAccess,
|
||||||
|
} = useContext(AuthContext);
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
|
|
@ -120,7 +168,6 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
const DineinDefault = useSelector(GlobalDineinDefault);
|
const DineinDefault = useSelector(GlobalDineinDefault);
|
||||||
const [collapse, setCollapse] = useState(false);
|
const [collapse, setCollapse] = useState(false);
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const handleResize = () => {
|
const handleResize = () => {
|
||||||
setCollapse(window.innerWidth < 768);
|
setCollapse(window.innerWidth < 768);
|
||||||
|
|
@ -147,7 +194,6 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
return () => document.removeEventListener('mousedown', handleClickOutside);
|
return () => document.removeEventListener('mousedown', handleClickOutside);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const handleClickOutside = (event) => {
|
const handleClickOutside = (event) => {
|
||||||
if (window.innerWidth < 768) {
|
if (window.innerWidth < 768) {
|
||||||
|
|
@ -157,8 +203,8 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener("mousedown", handleClickOutside);
|
document.addEventListener('mousedown', handleClickOutside);
|
||||||
return () => document.removeEventListener("mousedown", handleClickOutside);
|
return () => document.removeEventListener('mousedown', handleClickOutside);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
// Debug current pathname
|
// Debug current pathname
|
||||||
|
|
@ -172,7 +218,7 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
// Check if any child of this item is selected (for parent menu highlighting)
|
// Check if any child of this item is selected (for parent menu highlighting)
|
||||||
const hasSelectedChild = (item) => {
|
const hasSelectedChild = (item) => {
|
||||||
if (!item.children) return false;
|
if (!item.children) return false;
|
||||||
return item.children.some(child => {
|
return item.children.some((child) => {
|
||||||
if (child.children) {
|
if (child.children) {
|
||||||
return hasSelectedChild(child);
|
return hasSelectedChild(child);
|
||||||
}
|
}
|
||||||
|
|
@ -216,7 +262,7 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
dispatch(ChangeTotalAmount([]));
|
dispatch(ChangeTotalAmount([]));
|
||||||
dispatch(ChangeFullFreeProductList([]));
|
dispatch(ChangeFullFreeProductList([]));
|
||||||
dispatch(changeFullOfferAppliedProducts([]));
|
dispatch(changeFullOfferAppliedProducts([]));
|
||||||
dispatch(changeLoyaltyConsumedQuantities({}))
|
dispatch(changeLoyaltyConsumedQuantities({}));
|
||||||
}
|
}
|
||||||
if (e == `${subDirectory}sales`) {
|
if (e == `${subDirectory}sales`) {
|
||||||
dispatch(changeTipAmount(0));
|
dispatch(changeTipAmount(0));
|
||||||
|
|
@ -240,7 +286,7 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
dispatch(ChangeFullFreeProductList([]));
|
dispatch(ChangeFullFreeProductList([]));
|
||||||
dispatch(changeFullOfferAppliedProducts([]));
|
dispatch(changeFullOfferAppliedProducts([]));
|
||||||
dispatch(ChangeTotalAmount([]));
|
dispatch(ChangeTotalAmount([]));
|
||||||
dispatch(changeLoyaltyConsumedQuantities({}))
|
dispatch(changeLoyaltyConsumedQuantities({}));
|
||||||
}
|
}
|
||||||
if (e == `${subDirectory}saleslayouts/print-selection`) {
|
if (e == `${subDirectory}saleslayouts/print-selection`) {
|
||||||
dispatch(changeSelectedPrintdummyData(true));
|
dispatch(changeSelectedPrintdummyData(true));
|
||||||
|
|
@ -251,7 +297,7 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
const handleMenuClick = (item, parentKeys = [], event, level = 0) => {
|
const handleMenuClick = (item, parentKeys = [], event, level = 0) => {
|
||||||
if (item.children) {
|
if (item.children) {
|
||||||
if (openKeys.includes(item.key)) {
|
if (openKeys.includes(item.key)) {
|
||||||
setOpenKeys(openKeys.filter(k => k !== item.key));
|
setOpenKeys(openKeys.filter((k) => k !== item.key));
|
||||||
const newPositions = { ...dropdownPosition };
|
const newPositions = { ...dropdownPosition };
|
||||||
delete newPositions[item.key];
|
delete newPositions[item.key];
|
||||||
setDropdownPosition(newPositions);
|
setDropdownPosition(newPositions);
|
||||||
|
|
@ -264,7 +310,7 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
newOpenKeys = [];
|
newOpenKeys = [];
|
||||||
} else {
|
} else {
|
||||||
// Keep only the parent chain, remove siblings
|
// Keep only the parent chain, remove siblings
|
||||||
newOpenKeys = openKeys.filter(key => {
|
newOpenKeys = openKeys.filter((key) => {
|
||||||
// Keep if it's in the parent chain
|
// Keep if it's in the parent chain
|
||||||
return parentKeys.includes(key);
|
return parentKeys.includes(key);
|
||||||
});
|
});
|
||||||
|
|
@ -277,50 +323,53 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
if (level === 0) {
|
if (level === 0) {
|
||||||
position = {
|
position = {
|
||||||
top: rect.top,
|
top: rect.top,
|
||||||
left: collapsed ? rect.right + 1 : 10
|
left: collapsed ? rect.right + 1 : 10,
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
position = {
|
position = {
|
||||||
top: rect.top,
|
top: rect.top,
|
||||||
left: rect.right + 1
|
left: rect.right + 1,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
setDropdownPosition(prev => ({ ...prev, [item.key]: position }));
|
setDropdownPosition((prev) => ({ ...prev, [item.key]: position }));
|
||||||
setOpenKeys([...newOpenKeys, item.key]);
|
setOpenKeys([...newOpenKeys, item.key]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (DineinDefault && item.key == `${subDirectory}sales`) {
|
if (DineinDefault && item.key == `${subDirectory}sales`) {
|
||||||
navigatefun(`${subDirectory}sales/dine-in`);
|
navigatefun(`${subDirectory}sales/dine-in`);
|
||||||
setOpenKeys([]);
|
setOpenKeys([]);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
navigatefun(item.key);
|
navigatefun(item.key);
|
||||||
setOpenKeys([]);
|
setOpenKeys([]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
console.log(items, Access, "Employee items")
|
console.log(items, Access, 'Employee items');
|
||||||
// Filter menu items based on access
|
// Filter menu items based on access
|
||||||
let filteredMenuItems = (items || []).filter(Boolean);
|
let filteredMenuItems = (items || []).filter(Boolean);
|
||||||
if (UserType === 'Employee' && Array.isArray(Access) && Access.length > 0) {
|
if (UserType === 'Employee' && Array.isArray(Access) && Access.length > 0) {
|
||||||
filteredMenuItems = filterMenuItems(filteredMenuItems, Access);
|
filteredMenuItems = filterMenuItems(filteredMenuItems, Access);
|
||||||
} else if (UserType === 'Super Admin User' && Array.isArray(SadminuserAccess) && SadminuserAccess.length > 0) {
|
} else if (
|
||||||
filteredMenuItems = filterSadminUserMenuItems(filteredMenuItems, SadminuserAccess);
|
UserType === 'Super Admin User' &&
|
||||||
|
Array.isArray(SadminuserAccess) &&
|
||||||
|
SadminuserAccess.length > 0
|
||||||
|
) {
|
||||||
|
filteredMenuItems = filterSadminUserMenuItems(
|
||||||
|
filteredMenuItems,
|
||||||
|
SadminuserAccess
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Capitalize all labels, filter out items without a label
|
// Capitalize all labels, filter out items without a label
|
||||||
const menuItemsWithCapitalizedLabels = capitalizeMenuLabels(filteredMenuItems);
|
const menuItemsWithCapitalizedLabels =
|
||||||
|
capitalizeMenuLabels(filteredMenuItems);
|
||||||
const bottomKeys = ['Support', 'Settings', 'Download', 'Sign Out'];
|
const bottomKeys = ['Support', 'Settings', 'Download', 'Sign Out'];
|
||||||
const bottomMenuItems = menuItemsWithCapitalizedLabels.filter(item =>
|
const bottomMenuItems = menuItemsWithCapitalizedLabels.filter((item) =>
|
||||||
bottomKeys.includes(item.label)
|
bottomKeys.includes(item.label)
|
||||||
);
|
);
|
||||||
const mainMenuItems = menuItemsWithCapitalizedLabels.filter(item =>
|
const mainMenuItems = menuItemsWithCapitalizedLabels.filter(
|
||||||
!bottomKeys.includes(item.label)
|
(item) => !bottomKeys.includes(item.label)
|
||||||
);
|
);
|
||||||
// Recursive render for menu and submenus
|
// Recursive render for menu and submenus
|
||||||
const renderMenuItems = (items, parentKeys = [], level = 0) => (
|
const renderMenuItems = (items, parentKeys = [], level = 0) => (
|
||||||
|
|
@ -329,26 +378,45 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
<div key={item.key}>
|
<div key={item.key}>
|
||||||
<div
|
<div
|
||||||
className={`${level > 0 ? 'dropdown-submenu-item' : 'menu-item'}${isSelected(item.key) || (level === 0 && hasSelectedChild(item)) ? ' selecteded' : ''}${isOpen(item.key) ? ' open' : ''}${item.children ? ' has-children' : ''}`}
|
className={`${level > 0 ? 'dropdown-submenu-item' : 'menu-item'}${isSelected(item.key) || (level === 0 && hasSelectedChild(item)) ? ' selecteded' : ''}${isOpen(item.key) ? ' open' : ''}${item.children ? ' has-children' : ''}`}
|
||||||
onClick={(e) => { e.stopPropagation(); handleMenuClick(item, parentKeys, e, level); }}
|
onClick={(e) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
handleMenuClick(item, parentKeys, e, level);
|
||||||
|
}}
|
||||||
// style={{ paddingLeft: `${level * 10 + 1}px` }}
|
// style={{ paddingLeft: `${level * 10 + 1}px` }}
|
||||||
>
|
>
|
||||||
{item.icon && level === 0 && <span className='menu-icon' style={{
|
{item.icon && level === 0 && (
|
||||||
fontSize: collapse ? "1.5rem" : ""
|
<span
|
||||||
}}>{item.icon}</span>}
|
className="menu-icon"
|
||||||
{!collapse && <span className='menu-label'>{item.label}</span>}
|
style={{
|
||||||
{!collapse && <span className='menu-labelDot'>{isDropdownItemSelected(item) ? '●' : ''}</span>}
|
fontSize: collapse ? '1.5rem' : '',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{item.icon}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
{!collapse && <span className="menu-label">{item.label}</span>}
|
||||||
|
{!collapse && (
|
||||||
|
<span className="menu-labelDot">
|
||||||
|
{isDropdownItemSelected(item) ? '●' : ''}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
{item.children && !collapse && (
|
{item.children && !collapse && (
|
||||||
<span className='menu-arrow'>
|
<span className="menu-arrow">
|
||||||
{level === 0 ? <FaCaretRight size={14} /> : <MdOutlineKeyboardArrowRight />}
|
{level === 0 ? (
|
||||||
|
<FaCaretRight size={14} />
|
||||||
|
) : (
|
||||||
|
<MdOutlineKeyboardArrowRight />
|
||||||
|
)}
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
{item.children && isOpen(item.key) && !collapse && (
|
{item.children && isOpen(item.key) && !collapse && (
|
||||||
<div
|
<div className={`dropdown-submenu${level > 0 ? ' nested' : ''}`}>
|
||||||
className={`dropdown-submenu${level > 0 ? ' nested' : ''}`}
|
{renderMenuItems(
|
||||||
|
item.children,
|
||||||
>
|
[...parentKeys, item.key],
|
||||||
{renderMenuItems(item.children, [...parentKeys, item.key], level + 1)}
|
level + 1
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -370,32 +438,45 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
const isMobile = /Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent);
|
const isMobile = /Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent);
|
||||||
const isAndroid = /Android/i.test(navigator.userAgent);
|
const isAndroid = /Android/i.test(navigator.userAgent);
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={`SideMenuPozo-Master${collapse ? ' collapsed' : ''}`} ref={menuRef}
|
<div
|
||||||
style={{ height: isMobile ? "88%" : "" }}
|
className={`SideMenuPozo-Master${collapse ? ' collapsed' : ''}`}
|
||||||
|
ref={menuRef}
|
||||||
|
style={{ height: isMobile ? '88%' : '' }}
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
width: '100%',
|
||||||
|
display: 'flex',
|
||||||
|
flexDirection: 'column',
|
||||||
|
gap: '6px',
|
||||||
|
height: '68vh',
|
||||||
|
overflow: 'auto',
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<div style={{
|
|
||||||
width: "100%", display: "flex", flexDirection: "column", gap: "10px",
|
|
||||||
height: "68vh", overflow: "auto"
|
|
||||||
}}>
|
|
||||||
<div className="paypreLogoDiv">
|
<div className="paypreLogoDiv">
|
||||||
<div className="shopNameNav" style={{ width: "100%" }}>
|
<div className="shopNameNav" style={{ width: '100%' }}>
|
||||||
<div style={{
|
<div
|
||||||
display: "flex", flexDirection: "row",
|
style={{
|
||||||
alignItems: "center", gap: "4px", padding: "0px 10px", justifyContent: "space-between"
|
display: 'flex',
|
||||||
}}>
|
flexDirection: 'row',
|
||||||
|
alignItems: 'center',
|
||||||
|
gap: '4px',
|
||||||
|
padding: '0px 10px',
|
||||||
|
justifyContent: 'space-between',
|
||||||
|
}}
|
||||||
|
>
|
||||||
<FiMenu
|
<FiMenu
|
||||||
size={26}
|
size={26}
|
||||||
onClick={() => setCollapse((prev) => !prev)}
|
onClick={() => setCollapse((prev) => !prev)}
|
||||||
style={{ cursor: 'pointer' }}
|
style={{ cursor: 'pointer' }}
|
||||||
/>
|
/>
|
||||||
{collapse ? "" :
|
{collapse ? (
|
||||||
|
''
|
||||||
|
) : (
|
||||||
// <img src={POZOMIND} alt="PozoMindLogo" width="80px" height={"45px"} className='PozoMindLogo' />
|
// <img src={POZOMIND} alt="PozoMindLogo" width="80px" height={"45px"} className='PozoMindLogo' />
|
||||||
<div>
|
<div>PozoApp</div>
|
||||||
PozoApp
|
)}
|
||||||
</div>
|
|
||||||
}
|
|
||||||
</div>
|
</div>
|
||||||
{/* <div> */}
|
{/* <div> */}
|
||||||
{/* <div>{branchName}</div> */}
|
{/* <div>{branchName}</div> */}
|
||||||
|
|
@ -404,7 +485,7 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/* Top Menu using PozoMenu */}
|
{/* Top Menu using PozoMenu */}
|
||||||
<div className='top-menu'>
|
<div className="top-menu">
|
||||||
<PozoMenu
|
<PozoMenu
|
||||||
items={mainMenuItems}
|
items={mainMenuItems}
|
||||||
mode="vertical"
|
mode="vertical"
|
||||||
|
|
@ -413,16 +494,19 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
style={{
|
style={{
|
||||||
width: collapse ? '60px' : '200px',
|
width: collapse ? '60px' : '200px',
|
||||||
background: 'transparent',
|
background: 'transparent',
|
||||||
boxShadow: 'none'
|
boxShadow: 'none',
|
||||||
}}
|
}}
|
||||||
onClick={handlePozoMenuClick}
|
onClick={handlePozoMenuClick}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/* Bottom Menu using PozoMenu */}
|
{/* Bottom Menu using PozoMenu */}
|
||||||
<div className='bottom-menu' style={{
|
<div
|
||||||
height: isMobile ? "30vh" : ""
|
className="bottom-menu"
|
||||||
}}>
|
style={{
|
||||||
|
height: isMobile ? '30vh' : '',
|
||||||
|
}}
|
||||||
|
>
|
||||||
<PozoMenu
|
<PozoMenu
|
||||||
items={bottomMenuItems}
|
items={bottomMenuItems}
|
||||||
mode="vertical"
|
mode="vertical"
|
||||||
|
|
@ -432,7 +516,7 @@ const SideMenuPozo = ({ items = [] }) => {
|
||||||
style={{
|
style={{
|
||||||
width: collapse ? '60px' : '200px',
|
width: collapse ? '60px' : '200px',
|
||||||
background: 'transparent',
|
background: 'transparent',
|
||||||
boxShadow: 'none'
|
boxShadow: 'none',
|
||||||
}}
|
}}
|
||||||
onClick={handlePozoMenuClick}
|
onClick={handlePozoMenuClick}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -16,12 +16,13 @@
|
||||||
background-color: #bdd4ff;
|
background-color: #bdd4ff;
|
||||||
|
|
||||||
th {
|
th {
|
||||||
padding: 5px 8px;
|
padding: 4px 8px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #000;
|
color: #000;
|
||||||
border: 1px solid #9c9c9c;
|
border: 1px solid #9c9c9c;
|
||||||
font-size: 13.5px;
|
font-size: 13px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
font-family: 'Poppins', sans-serif !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -30,7 +31,7 @@
|
||||||
> tr:last-child {
|
> tr:last-child {
|
||||||
background-color: #e5d434 !important;
|
background-color: #e5d434 !important;
|
||||||
position: sticky;
|
position: sticky;
|
||||||
// bottom: 0;
|
bottom: 0;
|
||||||
}
|
}
|
||||||
tr {
|
tr {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
@ -44,7 +45,7 @@
|
||||||
border: 1px solid #9c9c9c;
|
border: 1px solid #9c9c9c;
|
||||||
color: #000;
|
color: #000;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 14px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3387,15 +3387,23 @@ const BSC1Payment = (props) => {
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div>
|
<div
|
||||||
|
style={{
|
||||||
|
display: 'flex',
|
||||||
|
alignItems: 'center',
|
||||||
|
gap: '4px',
|
||||||
|
whiteSpace: 'nowrap',
|
||||||
|
}}
|
||||||
|
>
|
||||||
<PozoReprintIcon className="BSC1Payment-icon" />
|
<PozoReprintIcon className="BSC1Payment-icon" />
|
||||||
Re-Print
|
Re-Print
|
||||||
</div>
|
<span
|
||||||
|
style={{ fontSize: '9px', letterSpacing: '0.5px' }}
|
||||||
<span style={{ fontSize: '9px', letterSpacing: '0.5px' }}>
|
>
|
||||||
(Alt + R)
|
(Alt + R)
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</TooltipWrapper>
|
</TooltipWrapper>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
|
|
@ -3854,7 +3862,7 @@ const BSC1Payment = (props) => {
|
||||||
// color: '' ? '#52c41a' : '#1292EE',
|
// color: '' ? '#52c41a' : '#1292EE',
|
||||||
}}
|
}}
|
||||||
/>{' '}
|
/>{' '}
|
||||||
<p className="payOptionDecition"> Hold</p>
|
{/* <p className="payOptionDecition"> Hold</p> */}
|
||||||
</div>
|
</div>
|
||||||
</TooltipWrapper>
|
</TooltipWrapper>
|
||||||
)
|
)
|
||||||
|
|
@ -3912,13 +3920,13 @@ const BSC1Payment = (props) => {
|
||||||
style={{
|
style={{
|
||||||
backgroundColor: unpaidFlow ? '#52c41a' : '#1292EE',
|
backgroundColor: unpaidFlow ? '#52c41a' : '#1292EE',
|
||||||
color: unpaidFlow ? '#ffffffff' : '#ffffffff',
|
color: unpaidFlow ? '#ffffffff' : '#ffffffff',
|
||||||
height: '45px',
|
height: '40px',
|
||||||
width: '45px',
|
width: '40px',
|
||||||
borderRadius: '6px',
|
borderRadius: '6px',
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
padding: '4px 8px 14px 8px',
|
padding: '4px 4px 16px 4px',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<PozoUnpaidIcon
|
<PozoUnpaidIcon
|
||||||
|
|
@ -3934,7 +3942,7 @@ const BSC1Payment = (props) => {
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
padding: '4px 8px 14px 8px',
|
padding: '4px 6px 4px 6px',
|
||||||
}}
|
}}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
(setUnpaidOpen(true), getUnpaiddatas());
|
(setUnpaidOpen(true), getUnpaiddatas());
|
||||||
|
|
@ -3984,6 +3992,7 @@ const BSC1Payment = (props) => {
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
padding: '8px 8px 12px 8px',
|
padding: '8px 8px 12px 8px',
|
||||||
}}
|
}}
|
||||||
|
className="AsAmtCombo"
|
||||||
>
|
>
|
||||||
{' '}
|
{' '}
|
||||||
<PozoAdvanceIcon
|
<PozoAdvanceIcon
|
||||||
|
|
@ -4427,7 +4436,7 @@ const BSC1Payment = (props) => {
|
||||||
}}
|
}}
|
||||||
footer={false}
|
footer={false}
|
||||||
children={
|
children={
|
||||||
<div style={{ height: '400px', overflow: 'scroll' }}>
|
<div style={{ height: '400px', overflow: 'auto' }}>
|
||||||
<Tables
|
<Tables
|
||||||
columns={columns}
|
columns={columns}
|
||||||
data={TableData}
|
data={TableData}
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ const BSNavBarEstimate = () => {
|
||||||
}
|
}
|
||||||
isMobile={isMobile}
|
isMobile={isMobile}
|
||||||
>
|
>
|
||||||
<div className="EstimateButton" style={{ marginLeft: "5px" }}>
|
<div className="EstimateButton">
|
||||||
<div>
|
<div>
|
||||||
{EstBooking === 'Sales' && <PozoSalesIcon />}
|
{EstBooking === 'Sales' && <PozoSalesIcon />}
|
||||||
{EstBooking === 'OvrAllEst' && <PozoEstimateIcon />}
|
{EstBooking === 'OvrAllEst' && <PozoEstimateIcon />}
|
||||||
|
|
|
||||||
|
|
@ -358,7 +358,7 @@ export default function BSCombo1() {
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{Comboglobal === true && (
|
{Comboglobal === true && (
|
||||||
<div style={{ padding: '4px'}} className="CombomainSearch">
|
<div style={{ padding: '4px' }} className="CombomainSearch">
|
||||||
<div className="M">
|
<div className="M">
|
||||||
<div className="BSC1Search-div1">
|
<div className="BSC1Search-div1">
|
||||||
<BSNavBarComboSearch SessionData={SessionData} />
|
<BSNavBarComboSearch SessionData={SessionData} />
|
||||||
|
|
@ -525,16 +525,22 @@ export default function BSCombo1() {
|
||||||
// className="BSC1-Master" comment by sree here this class name issues
|
// className="BSC1-Master" comment by sree here this class name issues
|
||||||
className="ComboScreenPageTable"
|
className="ComboScreenPageTable"
|
||||||
style={{
|
style={{
|
||||||
height: isMobile ? '40vh' : '80vh',
|
height: isMobile ? '56vh' : '70vh',
|
||||||
overflow: 'auto',
|
overflow: 'hidden',
|
||||||
// paddingBottom: '10rem',
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div className="BS1ComboTable">
|
{/* <div className="BS1ComboTable"> */}
|
||||||
|
<div
|
||||||
|
className={
|
||||||
|
ComboSalesBillTable
|
||||||
|
? 'BS1ComboTableComboSalesBillTable'
|
||||||
|
: 'BS1ComboTable'
|
||||||
|
}
|
||||||
|
>
|
||||||
{action ? (
|
{action ? (
|
||||||
<BranchTransferComponent />
|
<BranchTransferComponent />
|
||||||
// <ComboSalesBillTable />
|
|
||||||
) : (
|
) : (
|
||||||
|
// <ComboSalesBillTable />
|
||||||
<>
|
<>
|
||||||
{BookingBilling == 'Billing1' && <BSBillingTable1 />}
|
{BookingBilling == 'Billing1' && <BSBillingTable1 />}
|
||||||
{BookingBilling == 'Billing2' && <BSBillingTable2 />}
|
{BookingBilling == 'Billing2' && <BSBillingTable2 />}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
background-color: #d0d7bd;
|
background-color: #d0d7bd;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
font-family: "Inter";
|
font-family: 'Inter';
|
||||||
letter-spacing: -0.3px;
|
letter-spacing: -0.3px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
@ -33,3 +33,9 @@
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@media (max-width: 500px) {
|
||||||
|
.combo-sales-bill-table {
|
||||||
|
max-height: calc(57vh - 10px) !important;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import React, {useCallback, useEffect, useRef, useState } from 'react';
|
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
||||||
import '../../Styles/DashBoard/RetailDashBoard.scss';
|
import '../../Styles/DashBoard/RetailDashBoard.scss';
|
||||||
import GraphChart from './Chart/GraphChart';
|
import GraphChart from './Chart/GraphChart';
|
||||||
import { DatePicker, Space, Tooltip } from 'antd';
|
import { DatePicker, Space, Tooltip } from 'antd';
|
||||||
|
|
@ -423,8 +423,10 @@ const RetailDashboard = () => {
|
||||||
EmpId: UserId,
|
EmpId: UserId,
|
||||||
};
|
};
|
||||||
let response = await dispatch(getEmpAccess(data)).unwrap();
|
let response = await dispatch(getEmpAccess(data)).unwrap();
|
||||||
let datas = response?.data?.data?.[0]?.EmpAccessDetails?.filter(
|
let datas = response?.data?.data?.[0]?.EmpAccessDetails?.filter((item) =>
|
||||||
(item) => ['Add Product', 'Product Receipt', 'Daily Sales', 'Sales'].includes(item.ConfigName)
|
['Add Product', 'Product Receipt', 'Daily Sales', 'Sales'].includes(
|
||||||
|
item.ConfigName
|
||||||
|
)
|
||||||
);
|
);
|
||||||
console.log(datas, 'ffsasasf');
|
console.log(datas, 'ffsasasf');
|
||||||
setEmpData(datas);
|
setEmpData(datas);
|
||||||
|
|
@ -1557,12 +1559,19 @@ const RetailDashboard = () => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="dashboardMainCenter">
|
<div className="dashboardMainCenter">
|
||||||
<p style={{ fontSize: '12px', marginBottom: '0.2rem', fontWeight: '500', fontFamily: 'Inter' }}>
|
<div className="todaySnapshotRow">
|
||||||
|
<p
|
||||||
|
style={{
|
||||||
|
fontSize: '13px',
|
||||||
|
marginBottom: '0.2rem',
|
||||||
|
fontWeight: '500',
|
||||||
|
fontFamily: 'Inter',
|
||||||
|
}}
|
||||||
|
>
|
||||||
Today's Snapshot
|
Today's Snapshot
|
||||||
</p>
|
</p>
|
||||||
<div className="todaySnapshotRow">
|
|
||||||
{selectedBranchForFilter === 'all' ? (
|
{selectedBranchForFilter === 'all' ? (
|
||||||
<>
|
<div className="todaySnapFlex">
|
||||||
<Tooltip
|
<Tooltip
|
||||||
title={
|
title={
|
||||||
<div
|
<div
|
||||||
|
|
@ -1662,9 +1671,9 @@ const RetailDashboard = () => {
|
||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
)}
|
)}
|
||||||
</>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<>
|
<div>
|
||||||
<div className="todaySnapshotBox orders">
|
<div className="todaySnapshotBox orders">
|
||||||
{ApiData?.[0]?.DineInOrderCount +
|
{ApiData?.[0]?.DineInOrderCount +
|
||||||
ApiData?.[0]?.TakeAwayOrderCount +
|
ApiData?.[0]?.TakeAwayOrderCount +
|
||||||
|
|
@ -1690,27 +1699,29 @@ const RetailDashboard = () => {
|
||||||
<div>Pending Bills</div>
|
<div>Pending Bills</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div className="quickActionsRow">
|
<div className="quickActionsRow">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
const hasEmpAccess = EmpData?.find(
|
const hasEmpAccess = EmpData?.find(
|
||||||
item => item.ConfigName === "Add Product" && item.ReadAccess === "Y"
|
(item) =>
|
||||||
|
item.ConfigName === 'Add Product' &&
|
||||||
|
item.ReadAccess === 'Y'
|
||||||
);
|
);
|
||||||
if (!hasEmpAccess && UserType === "Employee") {
|
if (!hasEmpAccess && UserType === 'Employee') {
|
||||||
setMessageData("Please contact your admin to get access");
|
setMessageData('Please contact your admin to get access');
|
||||||
setMessageType('error');
|
setMessageType('error');
|
||||||
}
|
}
|
||||||
if (isCheckSportsApp) {
|
if (isCheckSportsApp) {
|
||||||
navigate(`${subDirectory}setting/products-master/new`);
|
navigate(`${subDirectory}setting/products-master/new`);
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
(UserType === "Employee" && hasEmpAccess) ||
|
(UserType === 'Employee' && hasEmpAccess) ||
|
||||||
UserType === "Admin" ||
|
UserType === 'Admin' ||
|
||||||
UserType === "Super Admin" ||
|
UserType === 'Super Admin' ||
|
||||||
UserType === "Super Admin User"
|
UserType === 'Super Admin User'
|
||||||
) {
|
) {
|
||||||
navigate(`${subDirectory}setting/product-master/new`);
|
navigate(`${subDirectory}setting/product-master/new`);
|
||||||
}
|
}
|
||||||
|
|
@ -1730,21 +1741,24 @@ const RetailDashboard = () => {
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
const hasEmpAccess = EmpData?.find(
|
const hasEmpAccess = EmpData?.find(
|
||||||
item => item.ConfigName === "Product Receipt" && item.ReadAccess === "Y"
|
(item) =>
|
||||||
|
item.ConfigName === 'Product Receipt' &&
|
||||||
|
item.ReadAccess === 'Y'
|
||||||
|
);
|
||||||
|
if (!hasEmpAccess && UserType === 'Employee') {
|
||||||
|
setMessageData(
|
||||||
|
'Please contact your admin to get access'
|
||||||
);
|
);
|
||||||
if (!hasEmpAccess && UserType === "Employee") {
|
|
||||||
setMessageData("Please contact your admin to get access");
|
|
||||||
setMessageType('error');
|
setMessageType('error');
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
(UserType === "Employee" && hasEmpAccess) ||
|
(UserType === 'Employee' && hasEmpAccess) ||
|
||||||
UserType === "Admin" ||
|
UserType === 'Admin' ||
|
||||||
UserType === "Super Admin" ||
|
UserType === 'Super Admin' ||
|
||||||
UserType === "Super Admin User"
|
UserType === 'Super Admin User'
|
||||||
) {
|
) {
|
||||||
navigate(`${subDirectory}setting/purchase-entry/new`);
|
navigate(`${subDirectory}setting/purchase-entry/new`);
|
||||||
}
|
}
|
||||||
|
|
||||||
}}
|
}}
|
||||||
className="quickActionBox"
|
className="quickActionBox"
|
||||||
>
|
>
|
||||||
|
|
@ -1755,17 +1769,19 @@ const RetailDashboard = () => {
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
const hasEmpAccess = EmpData?.find(
|
const hasEmpAccess = EmpData?.find(
|
||||||
item => item.ConfigName === "Daily Sales" && item.ReadAccess === "Y"
|
(item) =>
|
||||||
|
item.ConfigName === 'Daily Sales' &&
|
||||||
|
item.ReadAccess === 'Y'
|
||||||
);
|
);
|
||||||
if (!hasEmpAccess && UserType === "Employee") {
|
if (!hasEmpAccess && UserType === 'Employee') {
|
||||||
setMessageData("Please contact your admin to get access");
|
setMessageData('Please contact your admin to get access');
|
||||||
setMessageType('error');
|
setMessageType('error');
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
(UserType === "Employee" && hasEmpAccess) ||
|
(UserType === 'Employee' && hasEmpAccess) ||
|
||||||
UserType === "Admin" ||
|
UserType === 'Admin' ||
|
||||||
UserType === "Super Admin" ||
|
UserType === 'Super Admin' ||
|
||||||
UserType === "Super Admin User"
|
UserType === 'Super Admin User'
|
||||||
) {
|
) {
|
||||||
navigate(`${subDirectory}report/datewisereport`);
|
navigate(`${subDirectory}report/datewisereport`);
|
||||||
}
|
}
|
||||||
|
|
@ -1779,17 +1795,18 @@ const RetailDashboard = () => {
|
||||||
className="quickActionBox"
|
className="quickActionBox"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
const hasEmpAccess = EmpData?.find(
|
const hasEmpAccess = EmpData?.find(
|
||||||
item => item.ConfigName === "Sales" && item.ReadAccess === "Y"
|
(item) =>
|
||||||
|
item.ConfigName === 'Sales' && item.ReadAccess === 'Y'
|
||||||
);
|
);
|
||||||
if (!hasEmpAccess && UserType === "Employee") {
|
if (!hasEmpAccess && UserType === 'Employee') {
|
||||||
setMessageData("Please contact your admin to get access");
|
setMessageData('Please contact your admin to get access');
|
||||||
setMessageType('error');
|
setMessageType('error');
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
(UserType === "Employee" && hasEmpAccess) ||
|
(UserType === 'Employee' && hasEmpAccess) ||
|
||||||
UserType === "Admin" ||
|
UserType === 'Admin' ||
|
||||||
UserType === "Super Admin" ||
|
UserType === 'Super Admin' ||
|
||||||
UserType === "Super Admin User"
|
UserType === 'Super Admin User'
|
||||||
) {
|
) {
|
||||||
navigate(`${subDirectory}sales`);
|
navigate(`${subDirectory}sales`);
|
||||||
}
|
}
|
||||||
|
|
@ -2032,8 +2049,10 @@ const RetailDashboard = () => {
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
) : (
|
) : (
|
||||||
<div>
|
<div>
|
||||||
<p>{AllProdIds?.[0]?.TotalProductCount ||
|
<p>
|
||||||
AllProdIds?.length}</p>
|
{AllProdIds?.[0]?.TotalProductCount ||
|
||||||
|
AllProdIds?.length}
|
||||||
|
</p>
|
||||||
<div>TOTAL PRODUCTS</div>
|
<div>TOTAL PRODUCTS</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
@ -2176,15 +2195,27 @@ const RetailDashboard = () => {
|
||||||
<div className="notificationCenterCard">
|
<div className="notificationCenterCard">
|
||||||
{expiredList?.length > 0 && (
|
{expiredList?.length > 0 && (
|
||||||
<div className="notificationStock">
|
<div className="notificationStock">
|
||||||
{expiredList?.length} Products expiry today!
|
{expiredList.length} Products expiry today!
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{lowStockList?.length > 0 && (
|
{lowStockList?.length > 0 && (
|
||||||
<div className="notificationStock">
|
<div className="notificationStock">
|
||||||
Low Stock count {lowStockList?.length}
|
Low Stock count {lowStockList.length}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{!expiredList?.length && !lowStockList?.length && (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
fontSize: '12px',
|
||||||
|
width: '100%',
|
||||||
|
textAlign: 'center',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Notification Empty
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{/* <div className="notificationViewAll">View All</div> */}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
@ -2384,7 +2415,7 @@ const RetailDashboard = () => {
|
||||||
</div>
|
</div>
|
||||||
))
|
))
|
||||||
) : (
|
) : (
|
||||||
<div style={{ textAlign: 'center' }}>
|
<div style={{ textAlign: 'center', fontSize: '12px' }}>
|
||||||
No Low Stock Product
|
No Low Stock Product
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,7 @@ const DiningList = () => {
|
||||||
title: 'Table Name',
|
title: 'Table Name',
|
||||||
dataIndex: 'TableName',
|
dataIndex: 'TableName',
|
||||||
key: 'TableName',
|
key: 'TableName',
|
||||||
width: '150px',
|
width: '120px',
|
||||||
render: (text) => <a style={{ color: 'black' }}>{text}</a>,
|
render: (text) => <a style={{ color: 'black' }}>{text}</a>,
|
||||||
filteredValue: [searchedText],
|
filteredValue: [searchedText],
|
||||||
onFilter: (value, record) => {
|
onFilter: (value, record) => {
|
||||||
|
|
@ -213,7 +213,7 @@ const DiningList = () => {
|
||||||
title: 'Chair Count',
|
title: 'Chair Count',
|
||||||
dataIndex: 'ChairCount',
|
dataIndex: 'ChairCount',
|
||||||
key: 'ChairCount',
|
key: 'ChairCount',
|
||||||
width: '100px',
|
width: 120,
|
||||||
align: 'right',
|
align: 'right',
|
||||||
render: (text) => <a style={{ color: 'black' }}>{text}</a>,
|
render: (text) => <a style={{ color: 'black' }}>{text}</a>,
|
||||||
filteredValue: filteredInfo.ChairCount || null,
|
filteredValue: filteredInfo.ChairCount || null,
|
||||||
|
|
@ -234,7 +234,8 @@ const DiningList = () => {
|
||||||
sortOrder:
|
sortOrder:
|
||||||
sortedInfo.columnKey === 'DineInTypeName' ? sortedInfo.order : null,
|
sortedInfo.columnKey === 'DineInTypeName' ? sortedInfo.order : null,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
align: "center"
|
align: 'center',
|
||||||
|
width: 120,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Chair Level Serve',
|
title: 'Chair Level Serve',
|
||||||
|
|
@ -247,7 +248,8 @@ const DiningList = () => {
|
||||||
sortOrder:
|
sortOrder:
|
||||||
sortedInfo.columnKey === 'ChairLevelSer' ? sortedInfo.order : null,
|
sortedInfo.columnKey === 'ChairLevelSer' ? sortedInfo.order : null,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
align: "center",
|
align: 'center',
|
||||||
|
width: 160,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Chair Name',
|
title: 'Chair Name',
|
||||||
|
|
|
||||||
|
|
@ -380,7 +380,7 @@ const MenuQRCode = () => {
|
||||||
style={{
|
style={{
|
||||||
width: 420,
|
width: 420,
|
||||||
margin: '0 auto',
|
margin: '0 auto',
|
||||||
padding: 24,
|
padding: 16,
|
||||||
background: '#fff',
|
background: '#fff',
|
||||||
borderRadius: 12,
|
borderRadius: 12,
|
||||||
boxShadow: '0 6px 18px rgba(0,0,0,0.08)',
|
boxShadow: '0 6px 18px rgba(0,0,0,0.08)',
|
||||||
|
|
@ -392,7 +392,7 @@ const MenuQRCode = () => {
|
||||||
<h3
|
<h3
|
||||||
style={{
|
style={{
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
marginBottom: 12,
|
marginBottom: 0,
|
||||||
fontWeight: 500,
|
fontWeight: 500,
|
||||||
fontFamily: 'Poppins',
|
fontFamily: 'Poppins',
|
||||||
}}
|
}}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import {
|
||||||
} from '../../Features/ConfigMasterPage/ConfigMasterPage';
|
} from '../../Features/ConfigMasterPage/ConfigMasterPage';
|
||||||
import Buttons from '../../Components/Forms/Buttons';
|
import Buttons from '../../Components/Forms/Buttons';
|
||||||
import { PlusOutlined, DownloadOutlined, EyeOutlined } from '@ant-design/icons';
|
import { PlusOutlined, DownloadOutlined, EyeOutlined } from '@ant-design/icons';
|
||||||
|
import { MdClear } from 'react-icons/md';
|
||||||
import { getDineinTableData } from '../../Features/Dinein/Dinein';
|
import { getDineinTableData } from '../../Features/Dinein/Dinein';
|
||||||
import { encryptObject, getSession } from '../../Services/Others';
|
import { encryptObject, getSession } from '../../Services/Others';
|
||||||
import QRCode from 'react-qr-code';
|
import QRCode from 'react-qr-code';
|
||||||
|
|
@ -396,24 +397,75 @@ const PublicQrCode = () => {
|
||||||
|
|
||||||
// Add content to the temporary div
|
// Add content to the temporary div
|
||||||
tempDiv.innerHTML = `
|
tempDiv.innerHTML = `
|
||||||
<div style="margin-bottom: 10px; border-bottom: 2px solid #eee; padding-bottom: 10px;">
|
<div style="
|
||||||
${companyLogo ? `<div style="margin-bottom: 10px;"><img id="company-logo" src="${companyLogo}" style="max-width: 120px; max-height: 80px; object-fit: contain;" crossorigin="anonymous" /></div>` : ''}
|
margin: auto;
|
||||||
<h1 style="color: #333; margin: 10px 0; font-size: 24px; font-weight: bold;">${branchName ? branchName : ''}</h1>
|
font-family: 'Arial', sans-serif;
|
||||||
<p style="color: #666; margin: 5px 0; font-size: 14px;">${branchAddress ? branchAddress : ''}</p>
|
background: linear-gradient(180deg, #f9fbff, #eef4ff);
|
||||||
<p style="color: #666; margin: 5px 0; font-size: 14px;"><strong>Mobile:</strong> ${branchMobile ? branchMobile : ''}</p>
|
border-radius: 16px;
|
||||||
</div>
|
padding: 12px;
|
||||||
<div style="margin-bottom: 30px;">
|
box-shadow: 0 6px 20px rgba(0,0,0,0.12);
|
||||||
<h2 style="color: #666; margin-bottom: 20px; font-size: 20px;">Self Booking QR Code</h2>
|
text-align: center;
|
||||||
</div>
|
">
|
||||||
<div style="margin-bottom: 30px;">
|
|
||||||
<div style="display: inline-block; padding: 20px; background: white; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">
|
${
|
||||||
|
companyLogo
|
||||||
|
? `
|
||||||
|
<div style="margin-bottom: 12px;">
|
||||||
|
<img id="company-logo"
|
||||||
|
src="${companyLogo}"
|
||||||
|
style="max-width: 140px; max-height: 90px; object-fit: contain;"
|
||||||
|
crossorigin="anonymous" />
|
||||||
|
</div>`
|
||||||
|
: ''
|
||||||
|
}
|
||||||
|
|
||||||
|
<h1 style="
|
||||||
|
color: #2b2b2b;
|
||||||
|
font-size: 22px;
|
||||||
|
margin: 6px 0;
|
||||||
|
font-weight: bold;
|
||||||
|
">
|
||||||
|
${branchName || ''}
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<p style="color:#555; font-size:13px; margin:4px 0;">
|
||||||
|
${branchAddress || ''}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p style="color:#333; font-size:14px; margin:6px 0;">
|
||||||
|
<strong>${branchMobile || ''}</strong>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<hr style="margin:18px 0; border:none; border-top:2px dashed #d6e0ff;" />
|
||||||
|
|
||||||
|
<h2 style="
|
||||||
|
color:#4a6cff;
|
||||||
|
font-size:18px;
|
||||||
|
margin-bottom:14px;
|
||||||
|
">
|
||||||
|
Scan & Book Easily
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<div style="
|
||||||
|
display:inline-block;
|
||||||
|
padding:18px;
|
||||||
|
background:#ffffff;
|
||||||
|
border-radius:14px;
|
||||||
|
box-shadow:0 4px 12px rgba(0,0,0,0.15);
|
||||||
|
">
|
||||||
<div id="qr-code-container"></div>
|
<div id="qr-code-container"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div style="margin-top: 20px;">
|
<p style="
|
||||||
<p style="font-size: 12px; color: #666; word-break: break-all;">URL: ${encrypted}</p>
|
margin-top:14px;
|
||||||
</div>
|
font-size:12px;
|
||||||
`;
|
color:#777;
|
||||||
|
word-break:break-all;
|
||||||
|
">
|
||||||
|
🔗 ${encrypted}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
|
||||||
// Add the temporary div to the document
|
// Add the temporary div to the document
|
||||||
document.body.appendChild(tempDiv);
|
document.body.appendChild(tempDiv);
|
||||||
|
|
@ -710,7 +762,7 @@ const PublicQrCode = () => {
|
||||||
{qrCodeUrl && (
|
{qrCodeUrl && (
|
||||||
<>
|
<>
|
||||||
{!sportsAppPreference && (
|
{!sportsAppPreference && (
|
||||||
<div className="productMaster-input">
|
<div className="productMaster-input clearGenQRCode">
|
||||||
<Buttons
|
<Buttons
|
||||||
buttonText="Clear"
|
buttonText="Clear"
|
||||||
className="secondary_Button"
|
className="secondary_Button"
|
||||||
|
|
@ -724,6 +776,7 @@ const PublicQrCode = () => {
|
||||||
setPdfPreviewUrl('');
|
setPdfPreviewUrl('');
|
||||||
setIsPreviewModalOpen(false);
|
setIsPreviewModalOpen(false);
|
||||||
}}
|
}}
|
||||||
|
icon={<MdClear size={17} />}
|
||||||
>
|
>
|
||||||
CLEAR
|
CLEAR
|
||||||
</Buttons>
|
</Buttons>
|
||||||
|
|
@ -742,7 +795,7 @@ const PublicQrCode = () => {
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
flexDirection: 'column',
|
flexDirection: 'column',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
padding: '20px',
|
padding: '10px',
|
||||||
backgroundColor: '#f9f9f9',
|
backgroundColor: '#f9f9f9',
|
||||||
borderRadius: '8px',
|
borderRadius: '8px',
|
||||||
margin: '8px 0',
|
margin: '8px 0',
|
||||||
|
|
@ -750,7 +803,7 @@ const PublicQrCode = () => {
|
||||||
>
|
>
|
||||||
<h3
|
<h3
|
||||||
style={{
|
style={{
|
||||||
marginBottom: '20px',
|
marginBottom: '16px',
|
||||||
color: '#333',
|
color: '#333',
|
||||||
fontFamily: 'Poppins',
|
fontFamily: 'Poppins',
|
||||||
fontWeight: '500',
|
fontWeight: '500',
|
||||||
|
|
|
||||||
|
|
@ -86,13 +86,6 @@
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
|
|
||||||
// .no-data {
|
|
||||||
// text-align: center;
|
|
||||||
// padding: 20px;
|
|
||||||
// font-weight: 500;
|
|
||||||
// color: #888;
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.product-table-stockinHand th {
|
.product-table-stockinHand th {
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,8 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
|
height: 100%;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSC1Payment-div1-sub1 {
|
.BSC1Payment-div1-sub1 {
|
||||||
|
|
@ -106,7 +108,7 @@
|
||||||
|
|
||||||
.BSC1Payment-div1-btns {
|
.BSC1Payment-div1-btns {
|
||||||
background-color: var(--DEFAULT_SELECTED_COLOR);
|
background-color: var(--DEFAULT_SELECTED_COLOR);
|
||||||
font-size: 14px;
|
font-size: 13px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
width: 130px;
|
width: 130px;
|
||||||
|
|
@ -116,7 +118,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 0.2rem;
|
gap: 0.2rem;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-family: "Poppins";
|
font-family: 'Poppins';
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
|
|
@ -138,7 +140,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 0.2rem;
|
gap: 0.2rem;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-family: "Poppins";
|
font-family: 'Poppins';
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
|
|
@ -177,7 +179,7 @@
|
||||||
color: #fff;
|
color: #fff;
|
||||||
padding: 7px;
|
padding: 7px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-family: "Poppins", sans-serif;
|
font-family: 'Poppins', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSC1Payment-div2-button:hover {
|
.BSC1Payment-div2-button:hover {
|
||||||
|
|
@ -210,7 +212,6 @@
|
||||||
|
|
||||||
.BSC1Payment-div3-icon {
|
.BSC1Payment-div3-icon {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
// margin-top: 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSC1Payment-div4-sub1 {
|
.BSC1Payment-div4-sub1 {
|
||||||
|
|
@ -253,11 +254,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSC1Payment-div4-button:hover{
|
|
||||||
// background-color: #fff;
|
|
||||||
// color: #000;
|
|
||||||
// cursor: pointer;
|
|
||||||
// }
|
|
||||||
.BSC1Payment-div4-button-disable {
|
.BSC1Payment-div4-button-disable {
|
||||||
// width: max-content;
|
// width: max-content;
|
||||||
width: 250px;
|
width: 250px;
|
||||||
|
|
@ -268,7 +264,7 @@
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
padding: 7px;
|
padding: 7px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-family: "Gilroy";
|
font-family: 'Gilroy';
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -293,7 +289,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 1rem;
|
gap: 10px;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
@ -378,7 +374,7 @@
|
||||||
column-gap: 0rem;
|
column-gap: 0rem;
|
||||||
border-radius: 4.982px;
|
border-radius: 4.982px;
|
||||||
padding: 5px 6px;
|
padding: 5px 6px;
|
||||||
font-family: "Poppins";
|
font-family: 'Poppins';
|
||||||
}
|
}
|
||||||
|
|
||||||
.Combo-Btn-payment-mode-notupisel {
|
.Combo-Btn-payment-mode-notupisel {
|
||||||
|
|
@ -401,7 +397,7 @@
|
||||||
color: var(--DEFAULT_SELECTED_COLOR);
|
color: var(--DEFAULT_SELECTED_COLOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 280px) and (max-width: 499px) {
|
@media (min-width: 280px) and (max-width: 500px) {
|
||||||
.BSC1Payment-Container {
|
.BSC1Payment-Container {
|
||||||
justify-content: center !important;
|
justify-content: center !important;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
@ -449,16 +445,6 @@
|
||||||
.BSC1Payment-vl {
|
.BSC1Payment-vl {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSC1Payment-div2-1
|
|
||||||
// {
|
|
||||||
// display: none;
|
|
||||||
// }
|
|
||||||
// .BSC1Payment-div2-2
|
|
||||||
// {
|
|
||||||
// display: block;
|
|
||||||
// margin: 0rem 0rem;
|
|
||||||
// }
|
|
||||||
.BSC1Payment-div1-1 {
|
.BSC1Payment-div1-1 {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
@ -490,8 +476,6 @@
|
||||||
|
|
||||||
.BSC1Payment-div4 {
|
.BSC1Payment-div4 {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
// flex-direction: row;
|
|
||||||
// padding-top: 15px
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSC1Payment-div4-payment {
|
.BSC1Payment-div4-payment {
|
||||||
|
|
@ -584,16 +568,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.newPaySectionCombo {
|
.newPaySectionCombo {
|
||||||
flex-direction: column !important;
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
flex-direction: row !important;
|
flex-direction: row !important;
|
||||||
}
|
}
|
||||||
.EstimateButton {
|
.EstimateButton {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
|
width: 60px !important;
|
||||||
|
}
|
||||||
|
> div:nth-child(1) {
|
||||||
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
div {
|
div {
|
||||||
width: 100px !important;
|
width: 50px !important;
|
||||||
font-family: "Poppins";
|
font-family: 'Poppins';
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
gap: 3px;
|
gap: 3px;
|
||||||
|
|
@ -601,6 +588,9 @@
|
||||||
width: 50px !important;
|
width: 50px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.AsAmtCombo {
|
||||||
|
width: 100px !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.payOptionDecition {
|
.payOptionDecition {
|
||||||
|
|
|
||||||
|
|
@ -96,34 +96,27 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.BS1ComboTable {
|
.BS1ComboTable {
|
||||||
// height: clamp(56vh,80vh,100vh);
|
|
||||||
height: 80vh;
|
height: 80vh;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
// overflow: auto;
|
|
||||||
padding-bottom: 10rem !important;
|
padding-bottom: 10rem !important;
|
||||||
padding: 0 3px;
|
padding: 0 3px;
|
||||||
}
|
}
|
||||||
|
.BS1ComboTableComboSalesBillTable {
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
padding-bottom: 1.5rem !important;
|
||||||
|
padding: 0 3px;
|
||||||
|
}
|
||||||
|
|
||||||
// .BS1ComboTable .BillingTable6-table-th {
|
|
||||||
// padding: 2vh 0vh 2vh 0vh;
|
|
||||||
// font-size: 14px;
|
|
||||||
// border: 0.1px solid rgba(168, 168, 168, 0.5019607843);
|
|
||||||
// border-style: ridge;
|
|
||||||
// }
|
|
||||||
// .overall-bscombo-container.BSBilling7-tablediv {
|
|
||||||
// height: 52vh;
|
|
||||||
// }
|
|
||||||
.BS1ComboTable {
|
.BS1ComboTable {
|
||||||
&.BillingTable1-table-th {
|
&.BillingTable1-table-th {
|
||||||
padding: 2vh 0vh 2vh 0vh;
|
padding: 2vh 0vh 2vh 0vh;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
// border: 0.01px rgb(218, 218, 218);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
& .BillingTable1-table-td {
|
& .BillingTable1-table-td {
|
||||||
padding: 2vh 0vh 2vh 0vh;
|
padding: 2vh 0vh 2vh 0vh;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
// border: 0.01px rgb(218, 218, 218);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -245,9 +238,6 @@
|
||||||
gap: 1 !important;
|
gap: 1 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSC1Payment-div4-payment {
|
|
||||||
// flex-wrap: wrap;
|
|
||||||
// }
|
|
||||||
.BSC1Payment-div4-button-disable {
|
.BSC1Payment-div4-button-disable {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
|
|
@ -389,13 +379,6 @@
|
||||||
.Combo-BSNavbar1-timer {
|
.Combo-BSNavbar1-timer {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSC1Payment-div4-payment{
|
|
||||||
// gap: 1.5rem !important;
|
|
||||||
// }
|
|
||||||
// .BSC1Payment-div2-1 {
|
|
||||||
// gap: 1.5rem !important;
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 768px) and (max-width: 1220px) {
|
@media screen and (min-width: 768px) and (max-width: 1220px) {
|
||||||
|
|
@ -409,20 +392,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSC1-Master {
|
.BSC1-Master {
|
||||||
// position: fixed;
|
|
||||||
// top: 55px;
|
|
||||||
right: 0;
|
right: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSC1Payment-Container{
|
|
||||||
// position: absolute;
|
|
||||||
// bottom: 0;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.overall-bscombo-container {
|
.overall-bscombo-container {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
// height: 100vh;
|
|
||||||
.BSC1Search-div1 {
|
.BSC1Search-div1 {
|
||||||
height: 45px !important;
|
height: 45px !important;
|
||||||
}
|
}
|
||||||
|
|
@ -431,27 +406,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSC1-Master .BillingTable1-Structure {
|
|
||||||
// overflow: unset !important;
|
|
||||||
// height: unset !important;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .BSC1-Master .BillingTable1-table-div {
|
|
||||||
// overflow: unset !important;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .BSC1Payment-div4{
|
|
||||||
// padding-bottom: 5rem;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.BSC1-Master .for-combo {
|
.BSC1-Master .for-combo {
|
||||||
text-align: left !important;
|
text-align: left !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSC1-Master .BSC1Payment-Container {
|
.BSC1-Master .BSC1Payment-Container {
|
||||||
height: 8rem;
|
height: 8rem;
|
||||||
// padding-bottom: 1.5rem;
|
|
||||||
// column-gap: 1rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.overall-bscombo-container .BSC1NavBar-manu-icon {
|
.overall-bscombo-container .BSC1NavBar-manu-icon {
|
||||||
|
|
@ -478,12 +438,6 @@
|
||||||
width: 100vw !important;
|
width: 100vw !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSC1NavBar-name-ellipsis {
|
|
||||||
// white-space: nowrap;
|
|
||||||
// overflow: hidden;
|
|
||||||
// text-overflow: ellipsis;
|
|
||||||
// // max-width: 90px;
|
|
||||||
// }
|
|
||||||
.BSC1-Master .BSC1Payment-div4-button-disable {
|
.BSC1-Master .BSC1Payment-div4-button-disable {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
|
@ -505,18 +459,6 @@
|
||||||
padding: 4px 8px;
|
padding: 4px 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .overall-bscombo-container .BSC1Search-div1 .M{
|
|
||||||
// display: flex;
|
|
||||||
// flex-direction: row;
|
|
||||||
// border: 1px solid var(--DEFAULT_SELECTED_COLOR);
|
|
||||||
// background-color: #fff;
|
|
||||||
// border-radius: 15px;
|
|
||||||
// width: 100%;
|
|
||||||
// height: 57px;
|
|
||||||
// gap: 1.2rem;
|
|
||||||
// padding-right: 1.5rem;
|
|
||||||
// align-items: center;
|
|
||||||
// }
|
|
||||||
.overall-bscombo-container .Combosearch {
|
.overall-bscombo-container .Combosearch {
|
||||||
// width: 99vw;
|
// width: 99vw;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
|
|
@ -536,13 +478,6 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSC1-Master .BillingTable1-table-div {
|
|
||||||
// width: 100%;
|
|
||||||
// // height: 69vh !important;
|
|
||||||
// overflow: auto;
|
|
||||||
// height: 73% !important;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.ComboSubNavbar {
|
.ComboSubNavbar {
|
||||||
flex-wrap: nowrap !important;
|
flex-wrap: nowrap !important;
|
||||||
@media (max-width: 1024px) {
|
@media (max-width: 1024px) {
|
||||||
|
|
|
||||||
|
|
@ -1061,7 +1061,7 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-radius: 12px;
|
border-radius: 8px;
|
||||||
padding: 6px;
|
padding: 6px;
|
||||||
border: 2px solid #eeeeee;
|
border: 2px solid #eeeeee;
|
||||||
}
|
}
|
||||||
|
|
@ -1124,7 +1124,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
width: 100%;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1600,6 +1600,9 @@
|
||||||
.dashboardMainRight {
|
.dashboardMainRight {
|
||||||
flex: 0.8;
|
flex: 0.8;
|
||||||
min-width: 260px;
|
min-width: 260px;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 12px;
|
||||||
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chartCard {
|
.chartCard {
|
||||||
|
|
@ -1689,12 +1692,19 @@
|
||||||
gap: 0;
|
gap: 0;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
border-radius: 10px;
|
border-radius: 8px;
|
||||||
|
flex-direction: column;
|
||||||
|
padding: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.todaySnapFlex {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
.todaySnapshotBox {
|
.todaySnapshotBox {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
padding: 16px 2px;
|
padding: 10px 2px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
-webkit-text-stroke-width: 0.2px;
|
-webkit-text-stroke-width: 0.2px;
|
||||||
|
|
@ -1735,13 +1745,13 @@
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-radius: 10px;
|
border-radius: 8px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.quickActionBox {
|
.quickActionBox {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
border-radius: 12px;
|
border-radius: 8px;
|
||||||
border: 1px solid #e0e6ed;
|
border: 1px solid #e0e6ed;
|
||||||
padding: 0.5;
|
padding: 0.5;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
@ -1800,9 +1810,9 @@
|
||||||
.salesBreakdownBox {
|
.salesBreakdownBox {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 12px;
|
border-radius: 8px;
|
||||||
box-shadow: 0 2px 8px #e0e6ed;
|
box-shadow: 0 1px 2px #e0e6ed;
|
||||||
padding: 0.9rem;
|
padding: 12px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #686868;
|
color: #686868;
|
||||||
font-size: 0.85rem;
|
font-size: 0.85rem;
|
||||||
|
|
@ -1823,9 +1833,6 @@
|
||||||
|
|
||||||
.productSummaryCard {
|
.productSummaryCard {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 12px;
|
|
||||||
box-shadow: 0 2px 8px #e0e6ed;
|
|
||||||
padding: 0px;
|
|
||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1833,7 +1840,7 @@
|
||||||
color: #000000;
|
color: #000000;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
margin-bottom: 0.3rem;
|
margin-bottom: 0.3rem;
|
||||||
font-size: 12px;
|
font-size: 13px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1843,7 +1850,7 @@
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 7px;
|
padding-top: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.productSummaryBox {
|
.productSummaryBox {
|
||||||
|
|
@ -1871,23 +1878,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .productSummaryBox.live {
|
|
||||||
// background: linear-gradient(90deg, #e3fcec, #e3fcec);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .productSummaryBox.low {
|
|
||||||
// background: linear-gradient(90deg, #fffbe3, #fffbe3);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .productSummaryBox.nostock {
|
|
||||||
// background: linear-gradient(90deg, #ffe3e3, #ffe3e3);
|
|
||||||
|
|
||||||
// div {
|
|
||||||
// color: #e53935;
|
|
||||||
// font-weight: 600;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
.lastbillcount {
|
.lastbillcount {
|
||||||
width: 99%;
|
width: 99%;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
@ -1902,19 +1892,20 @@
|
||||||
.notificationCenterCard {
|
.notificationCenterCard {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
box-shadow: 0 2px 8px #e0e6ed;
|
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 14vh;
|
height: max-content;
|
||||||
|
max-height: 14vh;
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
border: 1px solid #eeeeee;
|
border: 1px solid #eeeeee;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notificationCenterTitle {
|
.notificationCenterTitle {
|
||||||
color: #2a2a2a;
|
color: #333;
|
||||||
font-weight: 600;
|
font-weight: 500;
|
||||||
|
font-family: 'Poppins';
|
||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
font-size: 12px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notificationStock {
|
.notificationStock {
|
||||||
|
|
@ -1941,7 +1932,7 @@
|
||||||
.preOrderSummaryCardMain {
|
.preOrderSummaryCardMain {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
gap: 3px;
|
gap: 8px;
|
||||||
width: 60%;
|
width: 60%;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
|
@ -1969,7 +1960,7 @@
|
||||||
// flex: 1;
|
// flex: 1;
|
||||||
width: 38%;
|
width: 38%;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 12px;
|
border-radius: 8px;
|
||||||
box-shadow: 0 2px 8px #e0e6ed;
|
box-shadow: 0 2px 8px #e0e6ed;
|
||||||
padding: 0 1rem 1rem 1rem;
|
padding: 0 1rem 1rem 1rem;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -1987,15 +1978,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.topSellingHeader {
|
.topSellingHeader {
|
||||||
// display: flex;
|
|
||||||
// justify-content: space-between;
|
|
||||||
// align-items: center;
|
|
||||||
// margin: 0.5rem 0;
|
|
||||||
// font-weight: 600;
|
|
||||||
// position: sticky;
|
|
||||||
// top:10px;
|
|
||||||
// background-color: #fff;
|
|
||||||
// z-index: 100;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -2059,28 +2041,26 @@
|
||||||
.preOrderSummaryCard {
|
.preOrderSummaryCard {
|
||||||
flex: 0.7;
|
flex: 0.7;
|
||||||
min-width: 220px;
|
min-width: 220px;
|
||||||
border-radius: 12px;
|
border-radius: 8px;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.preOrderSummaryTitle {
|
.preOrderSummaryTitle {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
margin-bottom: 0.2rem;
|
margin-bottom: 0.2rem;
|
||||||
font-size: 12px;
|
font-size: 13px;
|
||||||
color: #2a2a2a;
|
color: #2a2a2a;
|
||||||
}
|
}
|
||||||
|
|
||||||
.preOrderSummaryRow {
|
.preOrderSummaryRow {
|
||||||
padding: 10px;
|
|
||||||
height: 16vh;
|
height: 16vh;
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
box-shadow: 0 2px 8px #e0e6ed;
|
|
||||||
background: #fff;
|
|
||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
border: 1px solid #eeeeee;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.preOrderSummaryBox {
|
.preOrderSummaryBox {
|
||||||
|
|
@ -2115,9 +2095,12 @@
|
||||||
|
|
||||||
.creditListCardMain {
|
.creditListCardMain {
|
||||||
min-width: 220px;
|
min-width: 220px;
|
||||||
height: 23vh;
|
height: 25.5vh;
|
||||||
flex: 0.7;
|
flex: 0.7;
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 8px;
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
@ -2125,8 +2108,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.creditListCard {
|
.creditListCard {
|
||||||
padding: 1rem;
|
|
||||||
box-shadow: 0 2px 8px #e0e6ed;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
min-width: 220px;
|
min-width: 220px;
|
||||||
|
|
@ -2134,14 +2115,12 @@
|
||||||
height: 16vh;
|
height: 16vh;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
scrollbar-width: thin;
|
scrollbar-width: thin;
|
||||||
padding-top: 0px;
|
|
||||||
border: 1px solid #eeeeee;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.creditListTitle {
|
.creditListTitle {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
margin-bottom: 0.2rem;
|
margin-bottom: 0.2rem;
|
||||||
font-size: 12px;
|
font-size: 13px;
|
||||||
color: #2a2a2a;
|
color: #2a2a2a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2181,9 +2160,9 @@
|
||||||
|
|
||||||
.stockAlertsCard {
|
.stockAlertsCard {
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
border-radius: 10px;
|
border-radius: 8px;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
padding: 1rem 1rem 0.5rem 1rem;
|
padding: 12px;
|
||||||
min-width: 320px;
|
min-width: 320px;
|
||||||
position: relative;
|
position: relative;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|
@ -2197,6 +2176,8 @@
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: -15px;
|
top: -15px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stockAlertsHeaderRow {
|
.stockAlertsHeaderRow {
|
||||||
|
|
@ -2217,7 +2198,7 @@
|
||||||
color: #222;
|
color: #222;
|
||||||
border-bottom: 1px solid #e0e0e0;
|
border-bottom: 1px solid #e0e0e0;
|
||||||
padding-bottom: 4px;
|
padding-bottom: 4px;
|
||||||
margin-bottom: 2px;
|
margin-bottom: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stockAlertsRow {
|
.stockAlertsRow {
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
max-height: 72vh;
|
max-height: 72vh;
|
||||||
height: max-content;
|
height: max-content;
|
||||||
padding: 10px;
|
padding: 0;
|
||||||
// width: 80vw;
|
// width: 80vw;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
scrollbar-width: thin;
|
scrollbar-width: thin;
|
||||||
|
|
@ -178,6 +178,44 @@
|
||||||
background: #fafafa;
|
background: #fafafa;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sticky columns
|
||||||
|
.sticky-left-1 {
|
||||||
|
position: sticky;
|
||||||
|
left: 0;
|
||||||
|
background: #f3f4f6;
|
||||||
|
z-index: 10;
|
||||||
|
border-right: 2px solid #d1d5db;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sticky-left-2 {
|
||||||
|
position: sticky;
|
||||||
|
left: 20px;
|
||||||
|
background: #f3f4f6;
|
||||||
|
z-index: 10;
|
||||||
|
border-right: 2px solid #d1d5db;
|
||||||
|
}
|
||||||
|
.sticky-left-3 {
|
||||||
|
position: sticky;
|
||||||
|
left: 119px;
|
||||||
|
background: #f3f4f6;
|
||||||
|
z-index: 10;
|
||||||
|
border-right: 2px solid #d1d5db;
|
||||||
|
}
|
||||||
|
|
||||||
|
tbody {
|
||||||
|
.sticky-left-1,
|
||||||
|
.sticky-left-2 {
|
||||||
|
background: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr:nth-child(even) {
|
||||||
|
.sticky-left-1,
|
||||||
|
.sticky-left-2 {
|
||||||
|
background: #fafafa;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.row-number {
|
.row-number {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
|
||||||
|
|
@ -267,7 +267,7 @@ const fetchComponent = async () => {
|
||||||
sessionStore('userName', 'Karthiga');
|
sessionStore('userName', 'Karthiga');
|
||||||
sessionStorage.setItem(
|
sessionStorage.setItem(
|
||||||
'auth',
|
'auth',
|
||||||
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTM2MDY0MjI0NCIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY5NTQwNDg2LCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.dk6WOA7_jjKUv94Ni9RjMxHGgZRdpGj2QqXyyQMcFpo'
|
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTM2MDY0MjI0NCIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY5NzEzMTk3LCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.rm3XOIBsczxaSWg5WWwm0a5xvYOszDzXvL2oJLd1ZYo'
|
||||||
);
|
);
|
||||||
|
|
||||||
const AppId = getSession('AppId');
|
const AppId = getSession('AppId');
|
||||||
|
|
@ -372,8 +372,9 @@ const fetchHomeComponent = async () => {
|
||||||
sessionStore('userName', 'Karthiga');
|
sessionStore('userName', 'Karthiga');
|
||||||
sessionStorage.setItem(
|
sessionStorage.setItem(
|
||||||
'auth',
|
'auth',
|
||||||
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTM2MDY0MjI0NCIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY5NTQwNDg2LCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.dk6WOA7_jjKUv94Ni9RjMxHGgZRdpGj2QqXyyQMcFpo'
|
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTM2MDY0MjI0NCIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY5NzEzMTk3LCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.rm3XOIBsczxaSWg5WWwm0a5xvYOszDzXvL2oJLd1ZYo'
|
||||||
);
|
);
|
||||||
|
|
||||||
const AppId = getSession('AppId');
|
const AppId = getSession('AppId');
|
||||||
if (AppId) {
|
if (AppId) {
|
||||||
const response = await axios.get(
|
const response = await axios.get(
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ export default defineConfig(({ command, mode }) => {
|
||||||
envDir: "src",
|
envDir: "src",
|
||||||
envPrefix: "ENV_",
|
envPrefix: "ENV_",
|
||||||
server: {
|
server: {
|
||||||
host: "192.168.1.22",
|
host: "192.168.1.50",
|
||||||
port: process.env.PORT || 3015,
|
port: process.env.PORT || 3015,
|
||||||
},
|
},
|
||||||
optimizeDeps: {
|
optimizeDeps: {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue