latest
This commit is contained in:
parent
d39348dd48
commit
416e250ad1
|
|
@ -0,0 +1,30 @@
|
||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
SOURCE_DIR=/home/neuu/attendence_UI/frontend
|
||||||
|
BRANCH=AttendenceUI
|
||||||
|
FRONTEND_DIR=/var/www/exampaper.vidh.ai
|
||||||
|
SERVER_IP=52.66.73.43
|
||||||
|
|
||||||
|
cd ~/$SOURCE_DIR
|
||||||
|
echo "Changed into attendence UI frontend dir ....."
|
||||||
|
|
||||||
|
echo "Pulling $BRANCH ..."
|
||||||
|
|
||||||
|
git pull origin $BRANCH
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo "Pulled the latest code ...."
|
||||||
|
npm run build
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo "Build the latest file ....."
|
||||||
|
scp -r dist/* ubuntu@$SERVER_IP:$FRONTEND_DIR
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo "Copying build file to $FRONTEND_DIR successfull ...."
|
||||||
|
else
|
||||||
|
echo "Copying build file to $FRONTEND_DIR failed ...."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Build file failed ...."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Pulling latest code failed ...."
|
||||||
|
fi
|
||||||
|
|
@ -15,14 +15,16 @@
|
||||||
"antd": "^5.17.3",
|
"antd": "^5.17.3",
|
||||||
"bootstrap": "^5.3.3",
|
"bootstrap": "^5.3.3",
|
||||||
"dotenv": "^16.4.5",
|
"dotenv": "^16.4.5",
|
||||||
"react": "^18.2.0",
|
"react": "^18.3.1",
|
||||||
"react-bootstrap": "^2.10.2",
|
"react-bootstrap": "^2.10.2",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.3.1",
|
||||||
"react-lazy-load-image-component": "^1.6.0",
|
"react-lazy-load-image-component": "^1.6.0",
|
||||||
"react-medium-image-zoom": "^5.2.4",
|
"react-medium-image-zoom": "^5.2.4",
|
||||||
|
"react-qr-barcode-scanner": "^1.0.6",
|
||||||
"react-redux": "^9.1.2",
|
"react-redux": "^9.1.2",
|
||||||
"react-router-dom": "^6.23.1",
|
"react-router-dom": "^6.23.1",
|
||||||
"react-toastify": "^10.0.5",
|
"react-toastify": "^10.0.5",
|
||||||
|
"react-webcam": "^7.2.0",
|
||||||
"react-zoom-pan-pinch": "^3.4.4",
|
"react-zoom-pan-pinch": "^3.4.4",
|
||||||
"redux": "^5.0.1"
|
"redux": "^5.0.1"
|
||||||
},
|
},
|
||||||
|
|
@ -1968,6 +1970,11 @@
|
||||||
"@types/react": "*"
|
"@types/react": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/scheduler": {
|
||||||
|
"version": "0.16.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
|
||||||
|
"integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A=="
|
||||||
|
},
|
||||||
"node_modules/@types/use-sync-external-store": {
|
"node_modules/@types/use-sync-external-store": {
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
|
||||||
|
|
@ -2003,6 +2010,26 @@
|
||||||
"vite": "^4.2.0 || ^5.0.0"
|
"vite": "^4.2.0 || ^5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@zxing/library": {
|
||||||
|
"version": "0.17.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@zxing/library/-/library-0.17.1.tgz",
|
||||||
|
"integrity": "sha512-RuiBZuteGaFXCle/b0X+g3peN8UpDc3pGe/J7hZBzKWaMZLbjensR7ja3vy47xWhXU4e8MICGqegPMxc2V2sow==",
|
||||||
|
"dependencies": {
|
||||||
|
"ts-custom-error": "^3.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10.4.0"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@zxing/text-encoding": "~0.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@zxing/text-encoding": {
|
||||||
|
"version": "0.9.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz",
|
||||||
|
"integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"node_modules/acorn": {
|
"node_modules/acorn": {
|
||||||
"version": "8.11.3",
|
"version": "8.11.3",
|
||||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
|
||||||
|
|
@ -5227,6 +5254,39 @@
|
||||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/react-qr-barcode-scanner": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-qr-barcode-scanner/-/react-qr-barcode-scanner-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-DdalO4oqHyxWPa4cIjiHeMS19HbIvKq+oo/PAglAsxmfhAUGC8sM1mJnzo0zPQM1yw9ZNpjrtqHz+rs86Mu7Ww==",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/react": "^16.9.35",
|
||||||
|
"@zxing/library": "^0.17.0",
|
||||||
|
"react-webcam": "^5.0.1"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": "^16.13.1",
|
||||||
|
"react-dom": "^16.13.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/react-qr-barcode-scanner/node_modules/@types/react": {
|
||||||
|
"version": "16.14.60",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.60.tgz",
|
||||||
|
"integrity": "sha512-wIFmnczGsTcgwCBeIYOuy2mdXEiKZ5znU/jNOnMZPQyCcIxauMGWlX0TNG4lZ7NxRKj7YUIZRneJQSSdB2jKgg==",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/prop-types": "*",
|
||||||
|
"@types/scheduler": "^0.16",
|
||||||
|
"csstype": "^3.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/react-qr-barcode-scanner/node_modules/react-webcam": {
|
||||||
|
"version": "5.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-webcam/-/react-webcam-5.2.4.tgz",
|
||||||
|
"integrity": "sha512-Qqj14t68Ke1eoEYjFde+N48HtuIJg0ePIQRpFww9eZt5oBcDpe/l60h+m3VRFJAR5/E3dOhSU5R8EJEcdCq/Eg==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": ">=15.3.0",
|
||||||
|
"react-dom": ">=15.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/react-redux": {
|
"node_modules/react-redux": {
|
||||||
"version": "9.1.2",
|
"version": "9.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.2.tgz",
|
||||||
|
|
@ -5315,6 +5375,15 @@
|
||||||
"react-dom": ">=16.6.0"
|
"react-dom": ">=16.6.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/react-webcam": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-webcam/-/react-webcam-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-xkrzYPqa1ag2DP+2Q/kLKBmCIfEx49bVdgCCCcZf88oF+0NPEbkwYk3/s/C7Zy0mhM8k+hpdNkBLzxg8H0aWcg==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": ">=16.2.0",
|
||||||
|
"react-dom": ">=16.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/react-zoom-pan-pinch": {
|
"node_modules/react-zoom-pan-pinch": {
|
||||||
"version": "3.4.4",
|
"version": "3.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.4.4.tgz",
|
"resolved": "https://registry.npmjs.org/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.4.4.tgz",
|
||||||
|
|
@ -5797,6 +5866,14 @@
|
||||||
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
|
||||||
"integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="
|
"integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="
|
||||||
},
|
},
|
||||||
|
"node_modules/ts-custom-error": {
|
||||||
|
"version": "3.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-3.3.1.tgz",
|
||||||
|
"integrity": "sha512-5OX1tzOjxWEgsr/YEUWSuPrQ00deKLh6D7OTWcvNHm12/7QPyRh8SYpyWvA4IZv8H/+GQWQEh/kwo95Q9OVW1A==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/tslib": {
|
"node_modules/tslib": {
|
||||||
"version": "2.6.2",
|
"version": "2.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||||
|
|
@ -6625,8 +6702,7 @@
|
||||||
"@emotion/use-insertion-effect-with-fallbacks": {
|
"@emotion/use-insertion-effect-with-fallbacks": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz",
|
||||||
"integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==",
|
"integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw=="
|
||||||
"requires": {}
|
|
||||||
},
|
},
|
||||||
"@emotion/utils": {
|
"@emotion/utils": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
|
|
@ -7032,8 +7108,7 @@
|
||||||
"@mui/types": {
|
"@mui/types": {
|
||||||
"version": "7.2.14",
|
"version": "7.2.14",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz",
|
||||||
"integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==",
|
"integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ=="
|
||||||
"requires": {}
|
|
||||||
},
|
},
|
||||||
"@mui/utils": {
|
"@mui/utils": {
|
||||||
"version": "5.15.14",
|
"version": "5.15.14",
|
||||||
|
|
@ -7205,8 +7280,7 @@
|
||||||
"uncontrollable": {
|
"uncontrollable": {
|
||||||
"version": "8.0.4",
|
"version": "8.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-8.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-8.0.4.tgz",
|
||||||
"integrity": "sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ==",
|
"integrity": "sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ=="
|
||||||
"requires": {}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -7413,6 +7487,11 @@
|
||||||
"@types/react": "*"
|
"@types/react": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@types/scheduler": {
|
||||||
|
"version": "0.16.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
|
||||||
|
"integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A=="
|
||||||
|
},
|
||||||
"@types/use-sync-external-store": {
|
"@types/use-sync-external-store": {
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
|
||||||
|
|
@ -7442,6 +7521,21 @@
|
||||||
"react-refresh": "^0.14.0"
|
"react-refresh": "^0.14.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@zxing/library": {
|
||||||
|
"version": "0.17.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@zxing/library/-/library-0.17.1.tgz",
|
||||||
|
"integrity": "sha512-RuiBZuteGaFXCle/b0X+g3peN8UpDc3pGe/J7hZBzKWaMZLbjensR7ja3vy47xWhXU4e8MICGqegPMxc2V2sow==",
|
||||||
|
"requires": {
|
||||||
|
"@zxing/text-encoding": "~0.9.0",
|
||||||
|
"ts-custom-error": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@zxing/text-encoding": {
|
||||||
|
"version": "0.9.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz",
|
||||||
|
"integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"acorn": {
|
"acorn": {
|
||||||
"version": "8.11.3",
|
"version": "8.11.3",
|
||||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
|
||||||
|
|
@ -7452,8 +7546,7 @@
|
||||||
"version": "5.3.2",
|
"version": "5.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
|
||||||
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
|
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"requires": {}
|
|
||||||
},
|
},
|
||||||
"ajv": {
|
"ajv": {
|
||||||
"version": "6.12.6",
|
"version": "6.12.6",
|
||||||
|
|
@ -7690,8 +7783,7 @@
|
||||||
"bootstrap": {
|
"bootstrap": {
|
||||||
"version": "5.3.3",
|
"version": "5.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz",
|
||||||
"integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==",
|
"integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg=="
|
||||||
"requires": {}
|
|
||||||
},
|
},
|
||||||
"brace-expansion": {
|
"brace-expansion": {
|
||||||
"version": "1.1.11",
|
"version": "1.1.11",
|
||||||
|
|
@ -8268,15 +8360,13 @@
|
||||||
"version": "4.6.2",
|
"version": "4.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz",
|
||||||
"integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==",
|
"integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"requires": {}
|
|
||||||
},
|
},
|
||||||
"eslint-plugin-react-refresh": {
|
"eslint-plugin-react-refresh": {
|
||||||
"version": "0.4.7",
|
"version": "0.4.7",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz",
|
||||||
"integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==",
|
"integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"requires": {}
|
|
||||||
},
|
},
|
||||||
"eslint-scope": {
|
"eslint-scope": {
|
||||||
"version": "7.2.2",
|
"version": "7.2.2",
|
||||||
|
|
@ -9268,8 +9358,7 @@
|
||||||
"qrcode.react": {
|
"qrcode.react": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz",
|
||||||
"integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==",
|
"integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q=="
|
||||||
"requires": {}
|
|
||||||
},
|
},
|
||||||
"queue-microtask": {
|
"queue-microtask": {
|
||||||
"version": "1.2.3",
|
"version": "1.2.3",
|
||||||
|
|
@ -9727,8 +9816,34 @@
|
||||||
"react-medium-image-zoom": {
|
"react-medium-image-zoom": {
|
||||||
"version": "5.2.4",
|
"version": "5.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/react-medium-image-zoom/-/react-medium-image-zoom-5.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/react-medium-image-zoom/-/react-medium-image-zoom-5.2.4.tgz",
|
||||||
"integrity": "sha512-XLu/fLqpbmhiDAGA6yie78tDv4kh8GxvS7kKQArSOvCvm5zvgItoh4h01NAAvnezQ60ovsTeedHiHG3eG9CcGg==",
|
"integrity": "sha512-XLu/fLqpbmhiDAGA6yie78tDv4kh8GxvS7kKQArSOvCvm5zvgItoh4h01NAAvnezQ60ovsTeedHiHG3eG9CcGg=="
|
||||||
"requires": {}
|
},
|
||||||
|
"react-qr-barcode-scanner": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-qr-barcode-scanner/-/react-qr-barcode-scanner-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-DdalO4oqHyxWPa4cIjiHeMS19HbIvKq+oo/PAglAsxmfhAUGC8sM1mJnzo0zPQM1yw9ZNpjrtqHz+rs86Mu7Ww==",
|
||||||
|
"requires": {
|
||||||
|
"@types/react": "^16.9.35",
|
||||||
|
"@zxing/library": "^0.17.0",
|
||||||
|
"react-webcam": "^5.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@types/react": {
|
||||||
|
"version": "16.14.60",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.60.tgz",
|
||||||
|
"integrity": "sha512-wIFmnczGsTcgwCBeIYOuy2mdXEiKZ5znU/jNOnMZPQyCcIxauMGWlX0TNG4lZ7NxRKj7YUIZRneJQSSdB2jKgg==",
|
||||||
|
"requires": {
|
||||||
|
"@types/prop-types": "*",
|
||||||
|
"@types/scheduler": "^0.16",
|
||||||
|
"csstype": "^3.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"react-webcam": {
|
||||||
|
"version": "5.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-webcam/-/react-webcam-5.2.4.tgz",
|
||||||
|
"integrity": "sha512-Qqj14t68Ke1eoEYjFde+N48HtuIJg0ePIQRpFww9eZt5oBcDpe/l60h+m3VRFJAR5/E3dOhSU5R8EJEcdCq/Eg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"react-redux": {
|
"react-redux": {
|
||||||
"version": "9.1.2",
|
"version": "9.1.2",
|
||||||
|
|
@ -9781,11 +9896,15 @@
|
||||||
"prop-types": "^15.6.2"
|
"prop-types": "^15.6.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"react-webcam": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-webcam/-/react-webcam-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-xkrzYPqa1ag2DP+2Q/kLKBmCIfEx49bVdgCCCcZf88oF+0NPEbkwYk3/s/C7Zy0mhM8k+hpdNkBLzxg8H0aWcg=="
|
||||||
|
},
|
||||||
"react-zoom-pan-pinch": {
|
"react-zoom-pan-pinch": {
|
||||||
"version": "3.4.4",
|
"version": "3.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.4.4.tgz",
|
"resolved": "https://registry.npmjs.org/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.4.4.tgz",
|
||||||
"integrity": "sha512-lGTu7D9lQpYEQ6sH+NSlLA7gicgKRW8j+D/4HO1AbSV2POvKRFzdWQ8eI0r3xmOsl4dYQcY+teV6MhULeg1xBw==",
|
"integrity": "sha512-lGTu7D9lQpYEQ6sH+NSlLA7gicgKRW8j+D/4HO1AbSV2POvKRFzdWQ8eI0r3xmOsl4dYQcY+teV6MhULeg1xBw=="
|
||||||
"requires": {}
|
|
||||||
},
|
},
|
||||||
"redux": {
|
"redux": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
|
|
@ -10117,6 +10236,11 @@
|
||||||
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
|
||||||
"integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="
|
"integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="
|
||||||
},
|
},
|
||||||
|
"ts-custom-error": {
|
||||||
|
"version": "3.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-3.3.1.tgz",
|
||||||
|
"integrity": "sha512-5OX1tzOjxWEgsr/YEUWSuPrQ00deKLh6D7OTWcvNHm12/7QPyRh8SYpyWvA4IZv8H/+GQWQEh/kwo95Q9OVW1A=="
|
||||||
|
},
|
||||||
"tslib": {
|
"tslib": {
|
||||||
"version": "2.6.2",
|
"version": "2.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||||
|
|
@ -10234,8 +10358,7 @@
|
||||||
"use-sync-external-store": {
|
"use-sync-external-store": {
|
||||||
"version": "1.2.2",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz",
|
||||||
"integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==",
|
"integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw=="
|
||||||
"requires": {}
|
|
||||||
},
|
},
|
||||||
"vite": {
|
"vite": {
|
||||||
"version": "5.2.11",
|
"version": "5.2.11",
|
||||||
|
|
|
||||||
|
|
@ -17,14 +17,16 @@
|
||||||
"antd": "^5.17.3",
|
"antd": "^5.17.3",
|
||||||
"bootstrap": "^5.3.3",
|
"bootstrap": "^5.3.3",
|
||||||
"dotenv": "^16.4.5",
|
"dotenv": "^16.4.5",
|
||||||
"react": "^18.2.0",
|
"react": "^18.3.1",
|
||||||
"react-bootstrap": "^2.10.2",
|
"react-bootstrap": "^2.10.2",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.3.1",
|
||||||
"react-lazy-load-image-component": "^1.6.0",
|
"react-lazy-load-image-component": "^1.6.0",
|
||||||
"react-medium-image-zoom": "^5.2.4",
|
"react-medium-image-zoom": "^5.2.4",
|
||||||
|
"react-qr-barcode-scanner": "^1.0.6",
|
||||||
"react-redux": "^9.1.2",
|
"react-redux": "^9.1.2",
|
||||||
"react-router-dom": "^6.23.1",
|
"react-router-dom": "^6.23.1",
|
||||||
"react-toastify": "^10.0.5",
|
"react-toastify": "^10.0.5",
|
||||||
|
"react-webcam": "^7.2.0",
|
||||||
"react-zoom-pan-pinch": "^3.4.4",
|
"react-zoom-pan-pinch": "^3.4.4",
|
||||||
"redux": "^5.0.1"
|
"redux": "^5.0.1"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import RecordEditor from "./Components/RecordEditor";
|
||||||
import VerifyMarks from "./Components/VerifyMarks";
|
import VerifyMarks from "./Components/VerifyMarks";
|
||||||
import QueryCardEditor from "./Components/QueryCardEditor";
|
import QueryCardEditor from "./Components/QueryCardEditor";
|
||||||
import AnomolyPartC from "./Components/AnomolyPartC";
|
import AnomolyPartC from "./Components/AnomolyPartC";
|
||||||
|
import BarcodeScanner from "./Components/BarcodeScanner"
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
return (
|
return (
|
||||||
|
|
@ -42,6 +43,7 @@ function App() {
|
||||||
path="/anomoly/attendence/additionalSheet"
|
path="/anomoly/attendence/additionalSheet"
|
||||||
element={<AttendanceAdditionalSheet />}
|
element={<AttendanceAdditionalSheet />}
|
||||||
></Route>
|
></Route>
|
||||||
|
<Route path="/barcodeScanner" element={<BarcodeScanner/>}></Route>
|
||||||
<Route
|
<Route
|
||||||
path="/anomoly/reassigned/booklet"
|
path="/anomoly/reassigned/booklet"
|
||||||
element={<AttendenceCorrection />}
|
element={<AttendenceCorrection />}
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ import MenuItem from "@mui/material/MenuItem";
|
||||||
import FormControl from "@mui/material/FormControl";
|
import FormControl from "@mui/material/FormControl";
|
||||||
import Select from "@mui/material/Select";
|
import Select from "@mui/material/Select";
|
||||||
import { useSearchParams } from "react-router-dom";
|
import { useSearchParams } from "react-router-dom";
|
||||||
|
import { updatePartCDegreeType } from "../redux/actions/actions";
|
||||||
|
|
||||||
const { Content, Header } = Layout;
|
const { Content, Header } = Layout;
|
||||||
|
|
||||||
|
|
@ -40,15 +41,27 @@ function AnomalyPartC() {
|
||||||
const [totalPages, setTotalPages] = useState(1);
|
const [totalPages, setTotalPages] = useState(1);
|
||||||
const [showSystemNoContainer, setShowSystemNoContainer] = useState(false);
|
const [showSystemNoContainer, setShowSystemNoContainer] = useState(false);
|
||||||
const [selectedIndex, setSelectedIndex] = useState(null);
|
const [selectedIndex, setSelectedIndex] = useState(null);
|
||||||
const [selectedDegreeType, setSelectedDegreeType] = useState("2");
|
const [selectedDegreeType, setSelectedDegreeType] = useState(null);
|
||||||
const degreeTypes = [
|
const degreeTypes = [
|
||||||
{ type: "UG", type_code: "0" },
|
{ type: "UG", type_code: "0" },
|
||||||
{ type: "PG", type_code: "2" },
|
{ type: "PG", type_code: "2" },
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const reduxDegreeType = useSelector((state)=> state?.partCDegreeType)
|
||||||
|
console.log("Redux degree type ...",reduxDegreeType)
|
||||||
|
useEffect(()=>{
|
||||||
|
if(reduxDegreeType){
|
||||||
|
setSelectedDegreeType(reduxDegreeType)
|
||||||
|
}else{
|
||||||
|
setSelectedDegreeType("2")
|
||||||
|
}
|
||||||
|
},[reduxDegreeType])
|
||||||
|
|
||||||
const handleDegreeTypeChange = (e) => {
|
const handleDegreeTypeChange = (e) => {
|
||||||
console.log("Value ===== ", e.target.value);
|
const newDegreeType = e.target.value
|
||||||
setSelectedDegreeType(e.target.value);
|
console.log("Value ===== ",newDegreeType);
|
||||||
|
setSelectedDegreeType(newDegreeType);
|
||||||
|
dispatch(updatePartCDegreeType(newDegreeType))
|
||||||
};
|
};
|
||||||
const {
|
const {
|
||||||
token: { colorBgContainer, borderRadiusLG },
|
token: { colorBgContainer, borderRadiusLG },
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
import React, { useState, useRef, useCallback } from 'react';
|
||||||
|
import Webcam from 'react-webcam';
|
||||||
|
import { QrReader } from 'react-qr-barcode-scanner';
|
||||||
|
|
||||||
|
const BarcodeScanner = () => {
|
||||||
|
const [hasCameraPermission, setHasCameraPermission] = useState(false);
|
||||||
|
const [barcodeData, setBarcodeData] = useState(null);
|
||||||
|
const webcamRef = useRef(null);
|
||||||
|
|
||||||
|
const handleUserMedia = useCallback(() => {
|
||||||
|
setHasCameraPermission(true);
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const handleScan = (result) => {
|
||||||
|
if (result) {
|
||||||
|
setBarcodeData(result.text);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleError = (error) => {
|
||||||
|
console.error(error);
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<h1>Barcode Scanner</h1>
|
||||||
|
{!hasCameraPermission ? (
|
||||||
|
<Webcam
|
||||||
|
audio={false}
|
||||||
|
ref={webcamRef}
|
||||||
|
screenshotFormat="image/jpeg"
|
||||||
|
onUserMedia={handleUserMedia}
|
||||||
|
/>
|
||||||
|
) : (
|
||||||
|
<QrReader
|
||||||
|
onResult={handleScan}
|
||||||
|
onError={handleError}
|
||||||
|
style={{ width: '100%' }}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
{barcodeData && (
|
||||||
|
<div>
|
||||||
|
<h2>Scanned Barcode:</h2>
|
||||||
|
<p>{barcodeData}</p>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default BarcodeScanner;
|
||||||
|
|
@ -32,6 +32,10 @@ const Home = () => {
|
||||||
title:"SQL Playground",
|
title:"SQL Playground",
|
||||||
url:"/sqlPlayground"
|
url:"/sqlPlayground"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title:"Barcode Scanner",
|
||||||
|
url:"/barcodeScanner"
|
||||||
|
}
|
||||||
// {
|
// {
|
||||||
// title:"Marks Verfication",
|
// title:"Marks Verfication",
|
||||||
// url:"/part-c/marks/verify"
|
// url:"/part-c/marks/verify"
|
||||||
|
|
@ -43,6 +47,7 @@ const Home = () => {
|
||||||
// title: "Reassingned Serial No Anomoly Manual Updation",
|
// title: "Reassingned Serial No Anomoly Manual Updation",
|
||||||
// url: "/anomoly/reassigned",
|
// url: "/anomoly/reassigned",
|
||||||
// }]
|
// }]
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Box>
|
<Box>
|
||||||
|
|
|
||||||
|
|
@ -253,6 +253,11 @@ const skipPage = () =>{
|
||||||
<Box className="d-flex justify-content-between align-items-center">
|
<Box className="d-flex justify-content-between align-items-center">
|
||||||
<Box className="d-flex flex-column gap-3 w-25">
|
<Box className="d-flex flex-column gap-3 w-25">
|
||||||
{imageName && <h5 className="text-left">ID : {imageName}</h5>}
|
{imageName && <h5 className="text-left">ID : {imageName}</h5>}
|
||||||
|
{paramsError && <h5 className="text-left">Error Code : {paramsError}</h5>}
|
||||||
|
{paramsDegreeType ? (
|
||||||
|
paramsDegreeType === 0 ? <h5 className="text-left">Degree Type : UG</h5> :
|
||||||
|
<h5 className="text-left">Degree Type : PG</h5>
|
||||||
|
): null}
|
||||||
<TextInputField
|
<TextInputField
|
||||||
placeholder={"Barcode"}
|
placeholder={"Barcode"}
|
||||||
value={barcode}
|
value={barcode}
|
||||||
|
|
|
||||||
|
|
@ -56,4 +56,9 @@ export const updateSelectedErrorData = (data) => ({
|
||||||
export const updateSelectedJson = (data) => ({
|
export const updateSelectedJson = (data) => ({
|
||||||
type: "UPDATE_SELECTED_ERROR_JSON",
|
type: "UPDATE_SELECTED_ERROR_JSON",
|
||||||
payload: data,
|
payload: data,
|
||||||
|
})
|
||||||
|
|
||||||
|
export const updatePartCDegreeType = (data) => ({
|
||||||
|
type:'UPDATE_PART_C_DEGREE_TYPE',
|
||||||
|
payload: data,
|
||||||
})
|
})
|
||||||
Loading…
Reference in New Issue