Design changes
This commit is contained in:
parent
1941b68d9e
commit
7f7f5a3910
|
|
@ -35,6 +35,7 @@
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"devtools-detect": "^4.0.2",
|
"devtools-detect": "^4.0.2",
|
||||||
"exceljs": "^4.3.0",
|
"exceljs": "^4.3.0",
|
||||||
|
"file-saver": "^2.0.5",
|
||||||
"google-maps-react": "^2.0.6",
|
"google-maps-react": "^2.0.6",
|
||||||
"highcharts": "^11.4.3",
|
"highcharts": "^11.4.3",
|
||||||
"highcharts-react-official": "^3.2.1",
|
"highcharts-react-official": "^3.2.1",
|
||||||
|
|
@ -547,7 +548,6 @@
|
||||||
"version": "16.14.0",
|
"version": "16.14.0",
|
||||||
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
|
||||||
"integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
|
"integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"loose-envify": "^1.1.0",
|
"loose-envify": "^1.1.0",
|
||||||
"object-assign": "^4.1.1",
|
"object-assign": "^4.1.1",
|
||||||
|
|
@ -596,7 +596,6 @@
|
||||||
"version": "7.28.6",
|
"version": "7.28.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz",
|
||||||
"integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==",
|
"integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.28.6",
|
"@babel/code-frame": "^7.28.6",
|
||||||
"@babel/generator": "^7.28.6",
|
"@babel/generator": "^7.28.6",
|
||||||
|
|
@ -647,6 +646,7 @@
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
|
||||||
"integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
|
"integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.27.3"
|
"@babel/types": "^7.27.3"
|
||||||
},
|
},
|
||||||
|
|
@ -781,6 +781,7 @@
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz",
|
||||||
"integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==",
|
"integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-plugin-utils": "^7.28.6"
|
"@babel/helper-plugin-utils": "^7.28.6"
|
||||||
},
|
},
|
||||||
|
|
@ -796,6 +797,7 @@
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz",
|
||||||
"integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==",
|
"integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-plugin-utils": "^7.27.1"
|
"@babel/helper-plugin-utils": "^7.27.1"
|
||||||
},
|
},
|
||||||
|
|
@ -811,6 +813,7 @@
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz",
|
||||||
"integrity": "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==",
|
"integrity": "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-annotate-as-pure": "^7.27.3",
|
"@babel/helper-annotate-as-pure": "^7.27.3",
|
||||||
"@babel/helper-module-imports": "^7.28.6",
|
"@babel/helper-module-imports": "^7.28.6",
|
||||||
|
|
@ -830,6 +833,7 @@
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz",
|
||||||
"integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==",
|
"integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-transform-react-jsx": "^7.27.1"
|
"@babel/plugin-transform-react-jsx": "^7.27.1"
|
||||||
},
|
},
|
||||||
|
|
@ -875,6 +879,7 @@
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz",
|
||||||
"integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==",
|
"integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-annotate-as-pure": "^7.27.1",
|
"@babel/helper-annotate-as-pure": "^7.27.1",
|
||||||
"@babel/helper-plugin-utils": "^7.27.1"
|
"@babel/helper-plugin-utils": "^7.27.1"
|
||||||
|
|
@ -990,7 +995,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.1.0.tgz",
|
||||||
"integrity": "sha512-UfMBMWc1v7J+14AhH03QmeNwV3HZx3qnOWhpwnHfzALEwAwlV/itQOQqcasMQYhOHWL0tiymc5ByaLTn7KKQxw==",
|
"integrity": "sha512-UfMBMWc1v7J+14AhH03QmeNwV3HZx3qnOWhpwnHfzALEwAwlV/itQOQqcasMQYhOHWL0tiymc5ByaLTn7KKQxw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.1.0"
|
"tslib": "^2.1.0"
|
||||||
}
|
}
|
||||||
|
|
@ -1010,7 +1014,6 @@
|
||||||
"version": "6.3.1",
|
"version": "6.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz",
|
||||||
"integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==",
|
"integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@dnd-kit/accessibility": "^3.1.1",
|
"@dnd-kit/accessibility": "^3.1.1",
|
||||||
"@dnd-kit/utilities": "^3.2.2",
|
"@dnd-kit/utilities": "^3.2.2",
|
||||||
|
|
@ -1141,7 +1144,6 @@
|
||||||
"version": "11.14.0",
|
"version": "11.14.0",
|
||||||
"resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz",
|
||||||
"integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==",
|
"integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.18.3",
|
"@babel/runtime": "^7.18.3",
|
||||||
"@emotion/babel-plugin": "^11.13.5",
|
"@emotion/babel-plugin": "^11.13.5",
|
||||||
|
|
@ -1187,7 +1189,6 @@
|
||||||
"version": "11.14.1",
|
"version": "11.14.1",
|
||||||
"resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz",
|
"resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz",
|
||||||
"integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==",
|
"integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.18.3",
|
"@babel/runtime": "^7.18.3",
|
||||||
"@emotion/babel-plugin": "^11.13.5",
|
"@emotion/babel-plugin": "^11.13.5",
|
||||||
|
|
@ -2009,7 +2010,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz",
|
"resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz",
|
||||||
"integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==",
|
"integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==",
|
||||||
"deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.",
|
"deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.4.4",
|
"@babel/runtime": "^7.4.4",
|
||||||
"@material-ui/styles": "^4.11.5",
|
"@material-ui/styles": "^4.11.5",
|
||||||
|
|
@ -2046,7 +2046,6 @@
|
||||||
"version": "4.11.3",
|
"version": "4.11.3",
|
||||||
"resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.3.tgz",
|
"resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.3.tgz",
|
||||||
"integrity": "sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA==",
|
"integrity": "sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.4.4"
|
"@babel/runtime": "^7.4.4"
|
||||||
},
|
},
|
||||||
|
|
@ -3017,7 +3016,6 @@
|
||||||
"version": "16.14.0",
|
"version": "16.14.0",
|
||||||
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
|
||||||
"integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
|
"integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"loose-envify": "^1.1.0",
|
"loose-envify": "^1.1.0",
|
||||||
"object-assign": "^4.1.1",
|
"object-assign": "^4.1.1",
|
||||||
|
|
@ -3087,7 +3085,6 @@
|
||||||
"version": "5.90.20",
|
"version": "5.90.20",
|
||||||
"resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.20.tgz",
|
"resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.20.tgz",
|
||||||
"integrity": "sha512-vXBxa+qeyveVO7OA0jX1z+DeyCA4JKnThKv411jd5SORpBKgkcVnYKCiBgECvADvniBX7tobwBmg01qq9JmMJw==",
|
"integrity": "sha512-vXBxa+qeyveVO7OA0jX1z+DeyCA4JKnThKv411jd5SORpBKgkcVnYKCiBgECvADvniBX7tobwBmg01qq9JmMJw==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tanstack/query-core": "5.90.20"
|
"@tanstack/query-core": "5.90.20"
|
||||||
},
|
},
|
||||||
|
|
@ -3356,7 +3353,6 @@
|
||||||
"version": "18.3.27",
|
"version": "18.3.27",
|
||||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz",
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz",
|
||||||
"integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==",
|
"integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/prop-types": "*",
|
"@types/prop-types": "*",
|
||||||
"csstype": "^3.2.2"
|
"csstype": "^3.2.2"
|
||||||
|
|
@ -3367,7 +3363,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz",
|
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz",
|
||||||
"integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
|
"integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"peer": true,
|
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@types/react": "^18.0.0"
|
"@types/react": "^18.0.0"
|
||||||
}
|
}
|
||||||
|
|
@ -3504,7 +3499,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
||||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peer": true,
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"acorn": "bin/acorn"
|
"acorn": "bin/acorn"
|
||||||
},
|
},
|
||||||
|
|
@ -3534,6 +3528,7 @@
|
||||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
||||||
"integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==",
|
"integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"co": "^4.6.0",
|
"co": "^4.6.0",
|
||||||
"fast-deep-equal": "^1.0.0",
|
"fast-deep-equal": "^1.0.0",
|
||||||
|
|
@ -3584,7 +3579,8 @@
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
|
||||||
"integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==",
|
"integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==",
|
||||||
"license": "MIT"
|
"license": "MIT",
|
||||||
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/align-text": {
|
"node_modules/align-text": {
|
||||||
"version": "0.1.4",
|
"version": "0.1.4",
|
||||||
|
|
@ -3677,7 +3673,6 @@
|
||||||
"version": "5.29.3",
|
"version": "5.29.3",
|
||||||
"resolved": "https://registry.npmjs.org/antd/-/antd-5.29.3.tgz",
|
"resolved": "https://registry.npmjs.org/antd/-/antd-5.29.3.tgz",
|
||||||
"integrity": "sha512-3DdbGCa9tWAJGcCJ6rzR8EJFsv2CtyEbkVabZE14pfgUHfCicWCj0/QzQVLDYg8CPfQk9BH7fHCoTXHTy7MP/A==",
|
"integrity": "sha512-3DdbGCa9tWAJGcCJ6rzR8EJFsv2CtyEbkVabZE14pfgUHfCicWCj0/QzQVLDYg8CPfQk9BH7fHCoTXHTy7MP/A==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ant-design/colors": "^7.2.1",
|
"@ant-design/colors": "^7.2.1",
|
||||||
"@ant-design/cssinjs": "^1.23.0",
|
"@ant-design/cssinjs": "^1.23.0",
|
||||||
|
|
@ -4055,7 +4050,6 @@
|
||||||
"version": "1.13.3",
|
"version": "1.13.3",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.13.3.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.13.3.tgz",
|
||||||
"integrity": "sha512-ERT8kdX7DZjtUm7IitEyV7InTHAF42iJuMArIiDIV5YtPanJkgw4hw5Dyg9fh0mihdWNn1GKaeIWErfe56UQ1g==",
|
"integrity": "sha512-ERT8kdX7DZjtUm7IitEyV7InTHAF42iJuMArIiDIV5YtPanJkgw4hw5Dyg9fh0mihdWNn1GKaeIWErfe56UQ1g==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.15.6",
|
"follow-redirects": "^1.15.6",
|
||||||
"form-data": "^4.0.4",
|
"form-data": "^4.0.4",
|
||||||
|
|
@ -4344,7 +4338,6 @@
|
||||||
"url": "https://github.com/sponsors/ai"
|
"url": "https://github.com/sponsors/ai"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"baseline-browser-mapping": "^2.9.0",
|
"baseline-browser-mapping": "^2.9.0",
|
||||||
"caniuse-lite": "^1.0.30001759",
|
"caniuse-lite": "^1.0.30001759",
|
||||||
|
|
@ -4725,6 +4718,7 @@
|
||||||
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
|
||||||
"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
|
"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"iojs": ">= 1.0.0",
|
"iojs": ">= 1.0.0",
|
||||||
"node": ">= 0.12.0"
|
"node": ">= 0.12.0"
|
||||||
|
|
@ -5248,7 +5242,6 @@
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
|
||||||
"integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
|
"integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
|
||||||
"peer": true,
|
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "github",
|
"type": "github",
|
||||||
"url": "https://github.com/sponsors/kossnocorp"
|
"url": "https://github.com/sponsors/kossnocorp"
|
||||||
|
|
@ -5257,8 +5250,7 @@
|
||||||
"node_modules/dayjs": {
|
"node_modules/dayjs": {
|
||||||
"version": "1.11.19",
|
"version": "1.11.19",
|
||||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz",
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz",
|
||||||
"integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==",
|
"integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw=="
|
||||||
"peer": true
|
|
||||||
},
|
},
|
||||||
"node_modules/debounce-fn": {
|
"node_modules/debounce-fn": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
|
|
@ -5901,7 +5893,6 @@
|
||||||
"integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
|
"integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
|
||||||
"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
|
"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.6.1",
|
"@eslint-community/regexpp": "^4.6.1",
|
||||||
|
|
@ -6612,6 +6603,12 @@
|
||||||
"node": "^10.12.0 || >=12.0.0"
|
"node": "^10.12.0 || >=12.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/file-saver": {
|
||||||
|
"version": "2.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
|
||||||
|
"integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/find-root": {
|
"node_modules/find-root": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
|
||||||
|
|
@ -7200,8 +7197,7 @@
|
||||||
"node_modules/highcharts": {
|
"node_modules/highcharts": {
|
||||||
"version": "11.4.8",
|
"version": "11.4.8",
|
||||||
"resolved": "https://registry.npmjs.org/highcharts/-/highcharts-11.4.8.tgz",
|
"resolved": "https://registry.npmjs.org/highcharts/-/highcharts-11.4.8.tgz",
|
||||||
"integrity": "sha512-5Tke9LuzZszC4osaFisxLIcw7xgNGz4Sy3Jc9pRMV+ydm6sYqsPYdU8ELOgpzGNrbrRNDRBtveoR5xS3SzneEA==",
|
"integrity": "sha512-5Tke9LuzZszC4osaFisxLIcw7xgNGz4Sy3Jc9pRMV+ydm6sYqsPYdU8ELOgpzGNrbrRNDRBtveoR5xS3SzneEA=="
|
||||||
"peer": true
|
|
||||||
},
|
},
|
||||||
"node_modules/highcharts-react-official": {
|
"node_modules/highcharts-react-official": {
|
||||||
"version": "3.2.3",
|
"version": "3.2.3",
|
||||||
|
|
@ -8026,7 +8022,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/javascript-obfuscator/-/javascript-obfuscator-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/javascript-obfuscator/-/javascript-obfuscator-4.2.2.tgz",
|
||||||
"integrity": "sha512-+7oXAUnFCA6vS0omIGHcWpSr67dUBIF7FKGYSXyzxShSLqM6LBgdugWKFl0XrYtGWyJMGfQR5F4LL85iCefkRA==",
|
"integrity": "sha512-+7oXAUnFCA6vS0omIGHcWpSr67dUBIF7FKGYSXyzxShSLqM6LBgdugWKFl0XrYtGWyJMGfQR5F4LL85iCefkRA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@javascript-obfuscator/escodegen": "2.3.1",
|
"@javascript-obfuscator/escodegen": "2.3.1",
|
||||||
"@javascript-obfuscator/estraverse": "5.4.0",
|
"@javascript-obfuscator/estraverse": "5.4.0",
|
||||||
|
|
@ -8327,7 +8322,8 @@
|
||||||
"version": "0.3.1",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
|
||||||
"integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==",
|
"integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==",
|
||||||
"license": "MIT"
|
"license": "MIT",
|
||||||
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/json-schema-typed": {
|
"node_modules/json-schema-typed": {
|
||||||
"version": "8.0.2",
|
"version": "8.0.2",
|
||||||
|
|
@ -9007,7 +9003,6 @@
|
||||||
"version": "2.30.1",
|
"version": "2.30.1",
|
||||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
|
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
|
||||||
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
|
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
|
||||||
"peer": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "*"
|
"node": "*"
|
||||||
}
|
}
|
||||||
|
|
@ -9722,7 +9717,6 @@
|
||||||
"version": "15.8.1",
|
"version": "15.8.1",
|
||||||
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
|
||||||
"integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
|
"integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"loose-envify": "^1.4.0",
|
"loose-envify": "^1.4.0",
|
||||||
"object-assign": "^4.1.1",
|
"object-assign": "^4.1.1",
|
||||||
|
|
@ -10495,7 +10489,6 @@
|
||||||
"version": "18.3.1",
|
"version": "18.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
|
||||||
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
|
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"loose-envify": "^1.1.0"
|
"loose-envify": "^1.1.0"
|
||||||
},
|
},
|
||||||
|
|
@ -10656,7 +10649,6 @@
|
||||||
"version": "18.3.1",
|
"version": "18.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
|
||||||
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
|
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"loose-envify": "^1.1.0",
|
"loose-envify": "^1.1.0",
|
||||||
"scheduler": "^0.23.2"
|
"scheduler": "^0.23.2"
|
||||||
|
|
@ -10726,8 +10718,7 @@
|
||||||
"node_modules/react-is": {
|
"node_modules/react-is": {
|
||||||
"version": "16.13.1",
|
"version": "16.13.1",
|
||||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
||||||
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
|
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
|
||||||
"peer": true
|
|
||||||
},
|
},
|
||||||
"node_modules/react-qr-code": {
|
"node_modules/react-qr-code": {
|
||||||
"version": "2.0.18",
|
"version": "2.0.18",
|
||||||
|
|
@ -10745,7 +10736,6 @@
|
||||||
"version": "8.1.3",
|
"version": "8.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz",
|
||||||
"integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==",
|
"integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.12.1",
|
"@babel/runtime": "^7.12.1",
|
||||||
"@types/hoist-non-react-statics": "^3.3.1",
|
"@types/hoist-non-react-statics": "^3.3.1",
|
||||||
|
|
@ -11026,7 +11016,6 @@
|
||||||
"version": "4.2.1",
|
"version": "4.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz",
|
||||||
"integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==",
|
"integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.9.2"
|
"@babel/runtime": "^7.9.2"
|
||||||
}
|
}
|
||||||
|
|
@ -11043,8 +11032,7 @@
|
||||||
"version": "0.2.2",
|
"version": "0.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz",
|
||||||
"integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==",
|
"integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"peer": true
|
|
||||||
},
|
},
|
||||||
"node_modules/reflect.getprototypeof": {
|
"node_modules/reflect.getprototypeof": {
|
||||||
"version": "1.0.10",
|
"version": "1.0.10",
|
||||||
|
|
@ -11408,7 +11396,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz",
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz",
|
||||||
"integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==",
|
"integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chokidar": "^4.0.0",
|
"chokidar": "^4.0.0",
|
||||||
"immutable": "^5.0.2",
|
"immutable": "^5.0.2",
|
||||||
|
|
@ -12849,7 +12836,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz",
|
||||||
"integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==",
|
"integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.18.10",
|
"esbuild": "^0.18.10",
|
||||||
"postcss": "^8.4.27",
|
"postcss": "^8.4.27",
|
||||||
|
|
|
||||||
|
|
@ -1,46 +1,55 @@
|
||||||
import React from 'react';
|
import React, { useState, useEffect } from 'react';
|
||||||
import './BillingTableSkeleton.scss';
|
import './BillingTableSkeleton.scss';
|
||||||
|
|
||||||
const BillingTableSkeleton = () => {
|
const BillingTableSkeleton = () => {
|
||||||
|
const [rowCount, setRowCount] = useState(window.innerWidth < 768 ? 1 : 6);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const handleResize = () => {
|
||||||
|
setRowCount(window.innerWidth < 768 ? 2 : 6);
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener('resize', handleResize);
|
||||||
|
return () => window.removeEventListener('resize', handleResize);
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const rows = Array(rowCount).fill(0);
|
||||||
|
|
||||||
|
const Row = () => (
|
||||||
|
<div className="billing-row">
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton" style={{ height: '25px' }}></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="billing-skeleton">
|
<div className="billing-skeleton">
|
||||||
<div className="billing-header">
|
<div className="billing-header">
|
||||||
<div className="skeleton"></div>
|
{Array(5)
|
||||||
<div className="skeleton"></div>
|
.fill(0)
|
||||||
<div className="skeleton"></div>
|
.map((_, i) => (
|
||||||
<div className="skeleton"></div>
|
<div
|
||||||
<div className="skeleton"></div>
|
key={i}
|
||||||
|
className="skeletonHeader"
|
||||||
|
style={{ height: '25px' }}
|
||||||
|
></div>
|
||||||
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="billing-row">
|
{rows.map((_, i) => (
|
||||||
<div className="skeleton"></div>
|
<Row key={i} />
|
||||||
<div className="skeleton" style={{ height: '30px' }}></div>
|
))}
|
||||||
<div className="skeleton"></div>
|
|
||||||
<div className="skeleton"></div>
|
|
||||||
<div className="skeleton"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="billing-row">
|
|
||||||
<div className="skeleton"></div>
|
|
||||||
<div className="skeleton" style={{ height: '30px' }}></div>
|
|
||||||
<div className="skeleton"></div>
|
|
||||||
<div className="skeleton"></div>
|
|
||||||
<div className="skeleton"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="billing-row">
|
|
||||||
<div className="skeleton"></div>
|
|
||||||
<div className="skeleton" style={{ height: '30px' }}></div>
|
|
||||||
<div className="skeleton"></div>
|
|
||||||
<div className="skeleton"></div>
|
|
||||||
<div className="skeleton"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="billing-bottom">
|
<div className="billing-bottom">
|
||||||
<div className="billing-left">
|
<div className="billing-left">
|
||||||
<div className="skeleton billing-box"></div>
|
{[1, 2].map((i) => (
|
||||||
<div className="skeleton billing-box"></div>
|
<div key={i} className="skeleton billing-box"></div>
|
||||||
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="billing-right">
|
<div className="billing-right">
|
||||||
<div className="skeleton billing-box"></div>
|
<div className="skeleton billing-box"></div>
|
||||||
<div className="skeleton billing-total"></div>
|
<div className="skeleton billing-total"></div>
|
||||||
|
|
|
||||||
|
|
@ -13,12 +13,28 @@
|
||||||
animation: shimmer 1.4s infinite;
|
animation: shimmer 1.4s infinite;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
.skeletonHeader {
|
||||||
|
background: linear-gradient(90deg, #f3f3f3 25%, #f3f3f3 37%, #f3f3f3 63%);
|
||||||
|
background-size: 1000px 100%;
|
||||||
|
animation: shimmer 1.4s infinite;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
.billing-skeleton {
|
.billing-skeleton {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
max-width: 420px;
|
max-width: 420px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
width: 340px;
|
||||||
|
height: 80vh;
|
||||||
|
position: relative;
|
||||||
|
margin-top: 1rem;
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
max-width: 100%;
|
||||||
|
width: 95vw;
|
||||||
|
height: 150px;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.billing-header {
|
.billing-header {
|
||||||
|
|
@ -26,14 +42,20 @@
|
||||||
grid-template-columns: 40px 1fr 50px 60px 30px;
|
grid-template-columns: 40px 1fr 50px 60px 30px;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
background: #dde3e6;
|
background: #e6e9eb;
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.billing-row {
|
.billing-row {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 40px 1fr 50px 60px 30px;
|
grid-template-columns: 40px 1fr 50px 60px 30px;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
padding: 10px;
|
padding: 7px 10px;
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.billing-bottom {
|
.billing-bottom {
|
||||||
|
|
@ -41,6 +63,9 @@
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border-top: 1px solid #ddd;
|
border-top: 1px solid #ddd;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.billing-left,
|
.billing-left,
|
||||||
|
|
@ -54,5 +79,5 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.billing-total {
|
.billing-total {
|
||||||
height: 48px;
|
height: 38px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,19 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import './CardSkeleton.scss';
|
import './CardSkeleton.scss';
|
||||||
import NavbarSkeleton from './NavbarSkeleton';
|
import NavbarSkeleton from './NavbarSkeleton';
|
||||||
|
import BillingTableSkeleton from './BillingTableSkeleton';
|
||||||
|
|
||||||
const CardSkeleton = ({ count = 15 }) => {
|
const CardSkeleton = ({ count = 15 }) => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
marginTop: '1rem',
|
padding: '10px',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<NavbarSkeleton />
|
<NavbarSkeleton />
|
||||||
</div>
|
</div>
|
||||||
|
<div className="salesSkelton">
|
||||||
<div className="card-skeleton-grid">
|
<div className="card-skeleton-grid">
|
||||||
{Array.from({ length: count }).map((_, index) => (
|
{Array.from({ length: count }).map((_, index) => (
|
||||||
<div key={index} className="card-skeleton">
|
<div key={index} className="card-skeleton">
|
||||||
|
|
@ -23,6 +25,11 @@ const CardSkeleton = ({ count = 15 }) => {
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<BillingTableSkeleton />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,14 @@
|
||||||
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
||||||
gap: 14px;
|
gap: 14px;
|
||||||
margin-top: 1rem;
|
margin-top: 1rem;
|
||||||
|
width: 80%;
|
||||||
|
overflow: hidden;
|
||||||
|
height: 40vh;
|
||||||
|
@media (max-width: 768px) {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
margin-top: 0;
|
||||||
|
height: 70vh;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-skeleton {
|
.card-skeleton {
|
||||||
|
|
@ -47,3 +54,16 @@
|
||||||
height: 14px;
|
height: 14px;
|
||||||
width: 90%;
|
width: 90%;
|
||||||
}
|
}
|
||||||
|
.salesSkelton {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
width: 100%;
|
||||||
|
gap: 1rem;
|
||||||
|
height: 100%;
|
||||||
|
padding: 10px;
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
flex-direction: column;
|
||||||
|
height: 80vh;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,14 @@
|
||||||
@keyframes shimmer {
|
@keyframes shimmer {
|
||||||
0% { background-position: -500px 0; }
|
0% {
|
||||||
100% { background-position: 500px 0; }
|
background-position: -500px 0;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
background-position: 500px 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.skeleton {
|
.skeleton {
|
||||||
background: linear-gradient(
|
background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 37%, #e0e0e0 63%);
|
||||||
90deg,
|
|
||||||
#e0e0e0 25%,
|
|
||||||
#f0f0f0 37%,
|
|
||||||
#e0e0e0 63%
|
|
||||||
);
|
|
||||||
background-size: 1000px 100%;
|
background-size: 1000px 100%;
|
||||||
animation: shimmer 1.4s infinite;
|
animation: shimmer 1.4s infinite;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
|
|
@ -23,6 +22,7 @@
|
||||||
padding: 10px 16px;
|
padding: 10px 16px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-bottom: 1px solid #ddd;
|
border-bottom: 1px solid #ddd;
|
||||||
|
border-radius: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* LEFT */
|
/* LEFT */
|
||||||
|
|
@ -83,3 +83,10 @@
|
||||||
height: 36px;
|
height: 36px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.skeleton .navbar-search,
|
||||||
|
.nav-icons {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -401,7 +401,7 @@ const SalesPrintSize = ({ onSettingsChange, closeModel }) => {
|
||||||
<div style={{ textAlign: 'center' }}>
|
<div style={{ textAlign: 'center' }}>
|
||||||
<p> Print : {selectedTemplate?.StyleName}</p>
|
<p> Print : {selectedTemplate?.StyleName}</p>
|
||||||
</div>
|
</div>
|
||||||
<div style={{ display: 'flex', gap: '1rem' }}>
|
<div style={{ display: 'flex', gap: '1rem', flexWrap:"wrap" }}>
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
<div
|
<div
|
||||||
|
|
|
||||||
|
|
@ -150,7 +150,7 @@ const SelectPrintMode = ({ closeModel }) => {
|
||||||
Select Print Mode
|
Select Print Mode
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div style={{ display: 'flex', gap: '1rem', padding: '10px' }}>
|
<div style={{ display: 'flex', gap: '1rem', padding: '10px', flexWrap:"wrap"}}>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,10 @@ import moment from 'moment';
|
||||||
import { DropDowns } from '../../../Components/Forms/DropDown.jsx';
|
import { DropDowns } from '../../../Components/Forms/DropDown.jsx';
|
||||||
import { Tables } from '../../../Components/Tables/Table';
|
import { Tables } from '../../../Components/Tables/Table';
|
||||||
import { BiSolidPrinter } from 'react-icons/bi';
|
import { BiSolidPrinter } from 'react-icons/bi';
|
||||||
import { getAllCustomerWithoutActive, PreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData';
|
import {
|
||||||
|
getAllCustomerWithoutActive,
|
||||||
|
PreferenceData,
|
||||||
|
} from '../../../Features/BookingScreen/BookingData/BookingData';
|
||||||
import {
|
import {
|
||||||
getSession,
|
getSession,
|
||||||
extractLastNumber,
|
extractLastNumber,
|
||||||
|
|
@ -58,7 +61,11 @@ const LedgerReport = () => {
|
||||||
const AppId = getSession('AppId');
|
const AppId = getSession('AppId');
|
||||||
const SettingDataSelector = useSelector(PreferenceData);
|
const SettingDataSelector = useSelector(PreferenceData);
|
||||||
const subDirectory = import.meta.env.BASE_URL;
|
const subDirectory = import.meta.env.BASE_URL;
|
||||||
const MobileA4Print = SettingDataSelector?.[0]?.SettingDtlDetails?.find((setting) => setting?.SettingIdName?.toLowerCase() === "mobilea4" && setting?.SettingValue === 'Y');
|
const MobileA4Print = SettingDataSelector?.[0]?.SettingDtlDetails?.find(
|
||||||
|
(setting) =>
|
||||||
|
setting?.SettingIdName?.toLowerCase() === 'mobilea4' &&
|
||||||
|
setting?.SettingValue === 'Y'
|
||||||
|
);
|
||||||
const items = [
|
const items = [
|
||||||
{
|
{
|
||||||
name: 'Home',
|
name: 'Home',
|
||||||
|
|
@ -400,8 +407,7 @@ const LedgerReport = () => {
|
||||||
printStyle: style,
|
printStyle: style,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
await printDiv('RePrint', style);
|
await printDiv('RePrint', style);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -410,62 +416,62 @@ const LedgerReport = () => {
|
||||||
if (!LedgerData || LedgerData.length === 0) return;
|
if (!LedgerData || LedgerData.length === 0) return;
|
||||||
|
|
||||||
const workbook = new ExcelJS.Workbook();
|
const workbook = new ExcelJS.Workbook();
|
||||||
const worksheet = workbook.addWorksheet("Ledger Report");
|
const worksheet = workbook.addWorksheet('Ledger Report');
|
||||||
|
|
||||||
worksheet.views = [
|
worksheet.views = [
|
||||||
{
|
{
|
||||||
state: "frozen",
|
state: 'frozen',
|
||||||
ySplit: 2
|
ySplit: 2,
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
// HEADER ROW 1
|
// HEADER ROW 1
|
||||||
worksheet.addRow([
|
worksheet.addRow([
|
||||||
"SI No",
|
'SI No',
|
||||||
"Type",
|
'Type',
|
||||||
"Cus-Id",
|
'Cus-Id',
|
||||||
"Cus-Name",
|
'Cus-Name',
|
||||||
"RC.NO",
|
'RC.NO',
|
||||||
"Mob.No",
|
'Mob.No',
|
||||||
"Address",
|
'Address',
|
||||||
"Payment Mode",
|
'Payment Mode',
|
||||||
"Date",
|
'Date',
|
||||||
"Debit",
|
'Debit',
|
||||||
"Credit",
|
'Credit',
|
||||||
"Balance in",
|
'Balance in',
|
||||||
""
|
'',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// HEADER ROW 2
|
// HEADER ROW 2
|
||||||
worksheet.addRow([
|
worksheet.addRow([
|
||||||
"",
|
'',
|
||||||
"",
|
'',
|
||||||
"",
|
'',
|
||||||
"",
|
'',
|
||||||
"",
|
'',
|
||||||
"",
|
'',
|
||||||
"",
|
'',
|
||||||
"",
|
'',
|
||||||
"",
|
'',
|
||||||
"",
|
'',
|
||||||
"",
|
'',
|
||||||
"Credit",
|
'Credit',
|
||||||
"Debit"
|
'Debit',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// MERGE CELLS
|
// MERGE CELLS
|
||||||
worksheet.mergeCells("A1:A2");
|
worksheet.mergeCells('A1:A2');
|
||||||
worksheet.mergeCells("B1:B2");
|
worksheet.mergeCells('B1:B2');
|
||||||
worksheet.mergeCells("C1:C2");
|
worksheet.mergeCells('C1:C2');
|
||||||
worksheet.mergeCells("D1:D2");
|
worksheet.mergeCells('D1:D2');
|
||||||
worksheet.mergeCells("E1:E2");
|
worksheet.mergeCells('E1:E2');
|
||||||
worksheet.mergeCells("F1:F2");
|
worksheet.mergeCells('F1:F2');
|
||||||
worksheet.mergeCells("G1:G2");
|
worksheet.mergeCells('G1:G2');
|
||||||
worksheet.mergeCells("H1:H2");
|
worksheet.mergeCells('H1:H2');
|
||||||
worksheet.mergeCells("I1:I2");
|
worksheet.mergeCells('I1:I2');
|
||||||
worksheet.mergeCells("J1:J2");
|
worksheet.mergeCells('J1:J2');
|
||||||
worksheet.mergeCells("K1:K2");
|
worksheet.mergeCells('K1:K2');
|
||||||
worksheet.mergeCells("L1:M1");
|
worksheet.mergeCells('L1:M1');
|
||||||
|
|
||||||
// worksheet.eachRow((row) => {
|
// worksheet.eachRow((row) => {
|
||||||
// row.eachCell((cell) => {
|
// row.eachCell((cell) => {
|
||||||
|
|
@ -492,31 +498,34 @@ const LedgerReport = () => {
|
||||||
row.eachCell((cell) => {
|
row.eachCell((cell) => {
|
||||||
cell.font = {
|
cell.font = {
|
||||||
bold: true,
|
bold: true,
|
||||||
color: { argb: "FFFFFFFF" } // white text
|
color: { argb: 'FFFFFFFF' }, // white text
|
||||||
};
|
};
|
||||||
|
|
||||||
cell.alignment = {
|
cell.alignment = {
|
||||||
vertical: "middle",
|
vertical: 'middle',
|
||||||
horizontal: "center"
|
horizontal: 'center',
|
||||||
};
|
};
|
||||||
|
|
||||||
cell.fill = {
|
cell.fill = {
|
||||||
type: "pattern",
|
type: 'pattern',
|
||||||
pattern: "solid",
|
pattern: 'solid',
|
||||||
fgColor: { argb: "FF2E7D32" } // green header
|
fgColor: { argb: 'FF2E7D32' }, // green header
|
||||||
};
|
};
|
||||||
|
|
||||||
cell.border = {
|
cell.border = {
|
||||||
top: { style: "thin" },
|
top: { style: 'thin' },
|
||||||
left: { style: "thin" },
|
left: { style: 'thin' },
|
||||||
bottom: { style: "thin" },
|
bottom: { style: 'thin' },
|
||||||
right: { style: "thin" }
|
right: { style: 'thin' },
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// specifically ensure Balance in header center
|
// specifically ensure Balance in header center
|
||||||
worksheet.getCell("L1").alignment = { horizontal: "center", vertical: "middle" };
|
worksheet.getCell('L1').alignment = {
|
||||||
|
horizontal: 'center',
|
||||||
|
vertical: 'middle',
|
||||||
|
};
|
||||||
|
|
||||||
// COLUMN WIDTH
|
// COLUMN WIDTH
|
||||||
worksheet.columns = [
|
worksheet.columns = [
|
||||||
|
|
@ -532,25 +541,25 @@ const LedgerReport = () => {
|
||||||
{ width: 12 },
|
{ width: 12 },
|
||||||
{ width: 12 },
|
{ width: 12 },
|
||||||
{ width: 12 },
|
{ width: 12 },
|
||||||
{ width: 12 }
|
{ width: 12 },
|
||||||
];
|
];
|
||||||
|
|
||||||
// DATA ROWS
|
// DATA ROWS
|
||||||
LedgerData.forEach((row, index) => {
|
LedgerData.forEach((row, index) => {
|
||||||
const r = worksheet.addRow([
|
const r = worksheet.addRow([
|
||||||
index + 1,
|
index + 1,
|
||||||
row.TypeName === "OB" ? "OB" : row.TypeName,
|
row.TypeName === 'OB' ? 'OB' : row.TypeName,
|
||||||
row.CustId ? extractLastNumber(row.CustId) : "GEN",
|
row.CustId ? extractLastNumber(row.CustId) : 'GEN',
|
||||||
row.CustName || "",
|
row.CustName || '',
|
||||||
row.ReceiptNo || "",
|
row.ReceiptNo || '',
|
||||||
row.MobileNo || "",
|
row.MobileNo || '',
|
||||||
row.Address1 || "",
|
row.Address1 || '',
|
||||||
row.PaymentTypeName || "",
|
row.PaymentTypeName || '',
|
||||||
ExtractDateFormate(row.Date) || "",
|
ExtractDateFormate(row.Date) || '',
|
||||||
row.Debit > 0 ? row.Debit : "",
|
row.Debit > 0 ? row.Debit : '',
|
||||||
row.Credit > 0 ? row.Credit : "",
|
row.Credit > 0 ? row.Credit : '',
|
||||||
row.BalCredit > 0 ? row.BalCredit : "",
|
row.BalCredit > 0 ? row.BalCredit : '',
|
||||||
row.BalDebit > 0 ? row.BalDebit : ""
|
row.BalDebit > 0 ? row.BalDebit : '',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// 🔓 Unlock every cell in this row
|
// 🔓 Unlock every cell in this row
|
||||||
|
|
@ -560,12 +569,12 @@ const LedgerReport = () => {
|
||||||
|
|
||||||
// Credit red
|
// Credit red
|
||||||
if (row.BalCredit > 0) {
|
if (row.BalCredit > 0) {
|
||||||
r.getCell(12).font = { color: { argb: "FFFF0000" } };
|
r.getCell(12).font = { color: { argb: 'FFFF0000' } };
|
||||||
}
|
}
|
||||||
|
|
||||||
// Debit green
|
// Debit green
|
||||||
if (row.BalDebit > 0) {
|
if (row.BalDebit > 0) {
|
||||||
r.getCell(13).font = { color: { argb: "FF008000" } };
|
r.getCell(13).font = { color: { argb: 'FF008000' } };
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -578,7 +587,7 @@ const LedgerReport = () => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
await worksheet.protect("ledger123", {
|
await worksheet.protect('ledger123', {
|
||||||
selectLockedCells: true,
|
selectLockedCells: true,
|
||||||
selectUnlockedCells: true,
|
selectUnlockedCells: true,
|
||||||
formatColumns: true, // allow column resize
|
formatColumns: true, // allow column resize
|
||||||
|
|
@ -586,29 +595,29 @@ const LedgerReport = () => {
|
||||||
insertColumns: false,
|
insertColumns: false,
|
||||||
insertRows: false,
|
insertRows: false,
|
||||||
deleteColumns: false,
|
deleteColumns: false,
|
||||||
deleteRows: false
|
deleteRows: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
const buffer = await workbook.xlsx.writeBuffer();
|
const buffer = await workbook.xlsx.writeBuffer();
|
||||||
|
|
||||||
const blob = new Blob([buffer], {
|
const blob = new Blob([buffer], {
|
||||||
type: "application/vnd.openxmlformats-of ficedocument.spreadsheetml.sheet"
|
type: 'application/vnd.openxmlformats-of ficedocument.spreadsheetml.sheet',
|
||||||
});
|
});
|
||||||
|
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
|
|
||||||
const day = String(now.getDate()).padStart(2, "0");
|
const day = String(now.getDate()).padStart(2, '0');
|
||||||
const month = String(now.getMonth() + 1).padStart(2, "0");
|
const month = String(now.getMonth() + 1).padStart(2, '0');
|
||||||
const year = now.getFullYear();
|
const year = now.getFullYear();
|
||||||
|
|
||||||
let hours = now.getHours();
|
let hours = now.getHours();
|
||||||
const minutes = String(now.getMinutes()).padStart(2, "0");
|
const minutes = String(now.getMinutes()).padStart(2, '0');
|
||||||
|
|
||||||
const ampm = hours >= 12 ? "PM" : "AM";
|
const ampm = hours >= 12 ? 'PM' : 'AM';
|
||||||
hours = hours % 12;
|
hours = hours % 12;
|
||||||
hours = hours ? hours : 12;
|
hours = hours ? hours : 12;
|
||||||
|
|
||||||
hours = String(hours).padStart(2, "0");
|
hours = String(hours).padStart(2, '0');
|
||||||
|
|
||||||
const fileName = `Ledger Report_${day}-${month}-${year}_${hours}-${minutes}-${ampm}.xlsx`;
|
const fileName = `Ledger Report_${day}-${month}-${year}_${hours}-${minutes}-${ampm}.xlsx`;
|
||||||
|
|
||||||
|
|
@ -833,21 +842,43 @@ const LedgerReport = () => {
|
||||||
</div>
|
</div>
|
||||||
<div className="ledger-PrintIcon">
|
<div className="ledger-PrintIcon">
|
||||||
<BiSolidPrinter
|
<BiSolidPrinter
|
||||||
onClick={LedgerData?.length > 0 ? () => Print() : (() => { })}
|
onClick={LedgerData?.length > 0 ? () => Print() : () => {}}
|
||||||
className={
|
className={
|
||||||
LedgerData?.length > 0
|
LedgerData?.length > 0
|
||||||
? 'ItemWiseReport-printerIcon'
|
? 'ItemWiseReport-printerIcon'
|
||||||
: 'ItemWiseReport-printerIcon-disabled'
|
: 'ItemWiseReport-printerIcon-disabled'
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<Tooltip title={LedgerData?.length > 0 ? "Export as Excel" : "No data to Export"} placement="top">
|
<Tooltip
|
||||||
<div style={{ width: '35px', height: '35px', display: 'flex', justifyContent: 'center', alignItems: 'center', cursor: LedgerData?.length > 0 ? 'pointer' : 'not-allowed', opacity: LedgerData?.length > 0 ? 1 : 0.5 }}>
|
title={
|
||||||
|
LedgerData?.length > 0
|
||||||
|
? 'Export as Excel'
|
||||||
|
: 'No data to Export'
|
||||||
|
}
|
||||||
|
placement="top"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
width: '35px',
|
||||||
|
height: '35px',
|
||||||
|
display: 'flex',
|
||||||
|
justifyContent: 'center',
|
||||||
|
alignItems: 'center',
|
||||||
|
cursor:
|
||||||
|
LedgerData?.length > 0 ? 'pointer' : 'not-allowed',
|
||||||
|
opacity: LedgerData?.length > 0 ? 1 : 0.5,
|
||||||
|
}}
|
||||||
|
>
|
||||||
<img
|
<img
|
||||||
width={'95%'}
|
width={'95%'}
|
||||||
height={'95%'}
|
height={'95%'}
|
||||||
src={excelExport}
|
src={excelExport}
|
||||||
alt="Excel Export"
|
alt="Excel Export"
|
||||||
onClick={LedgerData?.length > 0 ? () => exportToExcel() : (() => { })}
|
onClick={
|
||||||
|
LedgerData?.length > 0
|
||||||
|
? () => exportToExcel()
|
||||||
|
: () => {}
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,18 @@
|
||||||
width: 32px !important;
|
width: 32px !important;
|
||||||
height: 32px !important;
|
height: 32px !important;
|
||||||
}
|
}
|
||||||
|
.ant-form-item {
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
.Combosearch .ant-select.ant-select-in-form-item {
|
||||||
|
width: unset !important;
|
||||||
|
}
|
||||||
|
.Combosearch {
|
||||||
|
height: unset !important;
|
||||||
|
}
|
||||||
|
@media (max-width: 500px) {
|
||||||
|
padding: 0rem 10px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSBillingNav2div2 {
|
.BSBillingNav2div2 {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
button {
|
button {
|
||||||
padding: 6px 14px;
|
padding: 6px 14px;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
border: none;
|
border: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
|
@ -76,6 +76,7 @@
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 9rem;
|
top: 9rem;
|
||||||
width: 100vw !important;
|
width: 100vw !important;
|
||||||
|
right: 0;
|
||||||
padding: 1rem 1rem !important;
|
padding: 1rem 1rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -84,7 +85,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.AddFavItemListCont {
|
.AddFavItemListCont {
|
||||||
height: 50vh;
|
height: 34vh;
|
||||||
padding-bottom: 4rem;
|
padding-bottom: 4rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue