├── README.md
├── build
├── asset-manifest.json
├── favicon.ico
├── index.html
├── logo192.png
├── logo512.png
├── manifest.json
├── robots.txt
└── static
│ ├── css
│ ├── main.d9772b59.css
│ └── main.d9772b59.css.map
│ ├── js
│ ├── 787.a5a00b74.chunk.js
│ ├── 787.a5a00b74.chunk.js.map
│ ├── main.598dca7a.js
│ ├── main.598dca7a.js.LICENSE.txt
│ └── main.598dca7a.js.map
│ └── media
│ ├── back.f53cf6fd280823649132.jpg
│ ├── headerimg.c665b68fef4e96058b7d.jpeg
│ ├── logo.73b72796ad2b15f43a98.jpg
│ ├── register.ecc15f35ccc3c3de589c.png
│ └── time.22de676ea542656cc3cd.jpg
├── package-lock.json
├── package.json
├── public
├── favicon.ico
├── index.html
├── logo192.png
├── logo512.png
├── manifest.json
└── robots.txt
└── src
├── App.css
├── App.js
├── App.test.js
├── components
├── About.css
├── About.jsx
├── AdminDashboard.jsx
├── Admindashboard.css
├── Dashboardtasks
│ ├── ActionTypes.js
│ ├── TaskAssign.jsx
│ ├── Taskcalendar.css
│ ├── Taskcalendar.jsx
│ ├── Taskcreate.css
│ ├── Taskcreate.jsx
│ ├── Taskpriority.jsx
│ ├── Taskprogress.css
│ ├── Taskprogress.jsx
│ ├── Viewtask.css
│ ├── Viewtask.jsx
│ ├── actions.js
│ └── reducers.js
├── Details.jsx
├── Header.jsx
├── Home.css
├── Home.jsx
├── Login
│ ├── Adminlogin.css
│ ├── Adminlogin.jsx
│ ├── Adminregister.css
│ ├── Adminregister.jsx
│ ├── Emplogin.css
│ ├── Emplogin.jsx
│ ├── Empregister.css
│ └── Empregister.jsx
├── Mainlogin.css
├── Mainlogin.jsx
├── Sidebar.jsx
├── Userdashboard.css
├── Userdashboard.jsx
├── Usestate.jsx
├── about.jpg
├── adminimg.jfif
├── alback.jpeg
├── back.jpg
├── checked.png
├── empimg.avif
├── empimg.jpg
├── empimg.webp
├── headerimg.jpeg
├── headerimg.jpg
├── icon.png
├── logo.jpg
├── pexels.jpg
├── register.jpg
├── register.png
├── time.jpg
└── unchecked.png
├── index.css
├── index.js
├── logo.svg
├── reportWebVitals.js
├── setupTests.js
└── store.js
/README.md:
--------------------------------------------------------------------------------
1 | # Getting Started with Create React App
2 |
3 | This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
4 |
5 | ## Available Scripts
6 |
7 | In the project directory, you can run:
8 |
9 | ### `npm start`
10 |
11 | Runs the app in the development mode.\
12 | Open [http://localhost:3000](http://localhost:3000) to view it in your browser.
13 |
14 | The page will reload when you make changes.\
15 | You may also see any lint errors in the console.
16 |
17 | ### `npm test`
18 |
19 | Launches the test runner in the interactive watch mode.\
20 | See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
21 |
22 | ### `npm run build`
23 |
24 | Builds the app for production to the `build` folder.\
25 | It correctly bundles React in production mode and optimizes the build for the best performance.
26 |
27 | The build is minified and the filenames include the hashes.\
28 | Your app is ready to be deployed!
29 |
30 | See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
31 |
32 | ### `npm run eject`
33 |
34 | **Note: this is a one-way operation. Once you `eject`, you can't go back!**
35 |
36 | If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
37 |
38 | Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
39 |
40 | You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
41 |
42 | ## Learn More
43 |
44 | You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
45 |
46 | To learn React, check out the [React documentation](https://reactjs.org/).
47 |
48 | ### Code Splitting
49 |
50 | This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)
51 |
52 | ### Analyzing the Bundle Size
53 |
54 | This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)
55 |
56 | ### Making a Progressive Web App
57 |
58 | This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)
59 |
60 | ### Advanced Configuration
61 |
62 | This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)
63 |
64 | ### Deployment
65 |
66 | This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)
67 |
68 | ### `npm run build` fails to minify
69 |
70 | This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)
71 |
--------------------------------------------------------------------------------
/build/asset-manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": {
3 | "main.css": "/static/css/main.d9772b59.css",
4 | "main.js": "/static/js/main.598dca7a.js",
5 | "static/js/787.a5a00b74.chunk.js": "/static/js/787.a5a00b74.chunk.js",
6 | "static/media/register.png": "/static/media/register.ecc15f35ccc3c3de589c.png",
7 | "static/media/time.jpg": "/static/media/time.22de676ea542656cc3cd.jpg",
8 | "static/media/headerimg.jpeg": "/static/media/headerimg.c665b68fef4e96058b7d.jpeg",
9 | "static/media/logo.jpg": "/static/media/logo.73b72796ad2b15f43a98.jpg",
10 | "static/media/back.jpg": "/static/media/back.f53cf6fd280823649132.jpg",
11 | "index.html": "/index.html",
12 | "main.d9772b59.css.map": "/static/css/main.d9772b59.css.map",
13 | "main.598dca7a.js.map": "/static/js/main.598dca7a.js.map",
14 | "787.a5a00b74.chunk.js.map": "/static/js/787.a5a00b74.chunk.js.map"
15 | },
16 | "entrypoints": [
17 | "static/css/main.d9772b59.css",
18 | "static/js/main.598dca7a.js"
19 | ]
20 | }
--------------------------------------------------------------------------------
/build/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/build/favicon.ico
--------------------------------------------------------------------------------
/build/index.html:
--------------------------------------------------------------------------------
1 |
React App You need to enable JavaScript to run this app.
--------------------------------------------------------------------------------
/build/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/build/logo192.png
--------------------------------------------------------------------------------
/build/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/build/logo512.png
--------------------------------------------------------------------------------
/build/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | },
10 | {
11 | "src": "logo192.png",
12 | "type": "image/png",
13 | "sizes": "192x192"
14 | },
15 | {
16 | "src": "logo512.png",
17 | "type": "image/png",
18 | "sizes": "512x512"
19 | }
20 | ],
21 | "start_url": ".",
22 | "display": "standalone",
23 | "theme_color": "#000000",
24 | "background_color": "#ffffff"
25 | }
26 |
--------------------------------------------------------------------------------
/build/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/build/static/css/main.d9772b59.css:
--------------------------------------------------------------------------------
1 | body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{align-items:center;background-image:url(/static/media/time.22de676ea542656cc3cd.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;height:100vh;justify-content:center;margin:0}.h2,.login{text-align:center}.login{background-color:hsla(0,0%,100%,.6);border:20px radius;box-shadow:0 0 10px rgba(15,9,9,.1);height:40%;max-width:600px;padding:20px;width:50%}.button-login{background-color:#8937db;height:30px;width:250px}*{box-sizing:border-box;margin:0;padding:0}.register{background-color:hsla(0,0%,100%,.8);border:1px solid #ddd;border-radius:15px;box-shadow:0 0 10px rgba(0,0,0,.1);max-width:400px;padding:20px;text-align:center}.regis{align-items:center;background-image:url(/static/media/register.ecc15f35ccc3c3de589c.png);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;height:100vh;justify-content:center;margin:0}.dashboard{background-color:#a5c7cd;color:#fff;display:flex;justify-content:space-between;padding:10px 0}.nav-links li{margin-left:20px}.header{align-items:center;background-color:#a5c7cd;color:#fff;display:flex;justify-content:space-between;padding:10px 0}.nav-links{display:flex;list-style-type:none;padding:0}.nav-links li{margin-right:20px}.nav-links a{color:#fff;font-weight:700;text-decoration:none}.nav-links a:hover{text-decoration:underline}.headerimg{background-color:#000;background-image:url(/static/media/headerimg.c665b68fef4e96058b7d.jpeg);background-position:50%;background-repeat:no-repeat;background-size:cover;color:#fdfafa;display:flex;opacity:1;padding:100px;text-align:center}.h1{margin-left:0;margin-right:35%}.h{background-image:url(/static/media/back.f53cf6fd280823649132.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;padding:200px}.footer{background-color:#333;padding:20px 0;text-align:center}.footer-container p{color:#fff;font-size:14px}
2 | /*# sourceMappingURL=main.d9772b59.css.map*/
--------------------------------------------------------------------------------
/build/static/css/main.d9772b59.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"static/css/main.d9772b59.css","mappings":"AAAA,KAKE,kCAAmC,CACnC,iCAAkC,CAJlC,mIAEY,CAHZ,QAMF,CAEA,KACE,uEAEF,CCPA,KAOY,kBAAmB,CAN3B,iEAAiC,CAEzB,uBAA2B,CAC3B,2BAA4B,CAFpC,qBAAsB,CAGd,YAAa,CAGb,YAAa,CAFb,sBAAuB,CAGvB,QACZ,CAIA,WAFI,iBAYJ,CAVA,OASI,mCAA0C,CAF1C,kBAAmB,CACnB,mCAA4C,CAJ5C,UAAW,CAFX,eAAgB,CAGhB,YAAa,CAFb,SAOJ,CACA,cAEI,wBAAmC,CADnC,WAAY,CAEZ,WACJ,CClCA,EAGI,qBAAsB,CADtB,QAAS,CADT,SAGF,CACF,UAOI,mCAA0C,CAH1C,qBAAsB,CACtB,kBAAmB,CACnB,kCAA2C,CAJ3C,eAAgB,CAChB,YAAa,CAFb,iBAOJ,CACA,OAOY,kBAAmB,CAN3B,qEAAqC,CAE7B,uBAA2B,CAC3B,2BAA4B,CAFpC,qBAAsB,CAGd,YAAa,CAGb,YAAa,CAFb,sBAAuB,CAGvB,QACZ,CCxBA,WACI,wBAAyB,CACzB,UAAW,CAEX,YAAa,CACb,6BAA8B,CAF9B,cAIF,CAaA,cACE,gBACF,CCtBF,QAMI,kBAAmB,CALnB,wBAAyB,CACzB,UAAW,CAEX,YAAa,CACb,6BAA8B,CAF9B,cAIF,CAOA,WAGE,YAAa,CAFb,oBAAqB,CACrB,SAEF,CAEA,cACE,iBACF,CAEA,aAEE,UAAW,CACX,eAAiB,CAFjB,oBAGF,CAEA,mBACE,yBACF,CACA,WAIE,qBAAuB,CAEvB,uEAAuC,CAEvC,uBAA2B,CAC3B,2BAA4B,CAF5B,qBAAsB,CALtB,aAAc,CAQN,YAAa,CAPrB,SAAW,CAEX,aAAc,CAJd,iBAaF,CACA,IAEE,aAAgB,CAChB,gBAEF,CACA,GACC,iEAAiC,CAIhC,uBAA2B,CAF5B,2BAA4B,CAC5B,qBAAsB,CAFtB,aAID,CACD,QACC,qBAAsB,CACtB,cAAe,CACf,iBACF,CAEA,oBAEE,UAAW,CADX,cAEF","sources":["index.css","components/Loginpg.css","components/Register.css","components/Dashboard.css","components/Home.css"],"sourcesContent":["body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n","*{\r\n padding: 0;\r\n margin: 0;\r\n box-sizing: border-box;\r\n }\r\n.app{\r\n background-image: url('time.jpg');\r\n background-size: cover; /* Cover the entire viewport */\r\n background-position: center; /* Center the image */\r\n background-repeat: no-repeat; /* Prevent image from repeating */\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100vh;\r\n margin: 0;\r\n}\r\n.h2{\r\n text-align: center;\r\n}\r\n.login{\r\n text-align: center;\r\n max-width: 600px;\r\n width: 50%;\r\n height: 40%;\r\n padding: 20px;\r\n border: 1px solid #ddd;\r\n border: radius 20px; \r\n box-shadow: 0px 0px 10px rgba(15, 9, 9, 0.1);\r\n background-color: rgba(255, 255, 255, 0.6);\r\n}\r\n.button-login{\r\n height: 30px;\r\n background-color: rgb(137, 55, 219);\r\n width: 250px;\r\n}","*{\r\n padding: 0;\r\n margin: 0;\r\n box-sizing: border-box;\r\n }\r\n.register{\r\n text-align: center;\r\n max-width: 400px;\r\n padding: 20px;\r\n border: 1px solid #ddd;\r\n border-radius: 15px; /* Adjust the value to control the amount of rounding */\r\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);\r\n background-color: rgba(255, 255, 255, 0.8);\r\n}\r\n.regis{\r\n background-image: url('register.png');\r\n background-size: cover;\r\n background-position: center;\r\n background-repeat: no-repeat;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100vh;\r\n margin: 0;\r\n}",".dashboard {\r\n background-color: #a5c7cd;\r\n color: #fff;\r\n padding: 10px 0;\r\n display: flex;\r\n justify-content: space-between;\r\n /* align-items: center; */\r\n }\r\n \r\n/* .img{\r\n width: 0%;\r\n display: flex;\r\n} */\r\n \r\n .nav-links {\r\n list-style-type: none;\r\n padding: 0;\r\n display: flex;\r\n }\r\n \r\n .nav-links li {\r\n margin-left: 20px;\r\n }\r\n \r\n .nav-links a {\r\n text-decoration: none;\r\n color: #fff;\r\n font-weight: bold;\r\n }\r\n \r\n .nav-links a:hover {\r\n text-decoration: underline;\r\n }\r\n ",".header {\r\n background-color: #a5c7cd;\r\n color: #fff;\r\n padding: 10px 0;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n }\r\n \r\n/* .img{\r\n width: 0%;\r\n display: flex;\r\n} */\r\n \r\n .nav-links {\r\n list-style-type: none;\r\n padding: 0;\r\n display: flex;\r\n }\r\n \r\n .nav-links li {\r\n margin-right: 20px;\r\n }\r\n \r\n .nav-links a {\r\n text-decoration: none;\r\n color: #fff;\r\n font-weight: bold;\r\n }\r\n \r\n .nav-links a:hover {\r\n text-decoration: underline;\r\n }\r\n .headerimg{\r\n text-align: center;\r\n color: #fdfafa;\r\n opacity:1.9;\r\n background-color: black;\r\n padding: 100px;\r\n background-image: url('headerimg.jpeg');\r\n background-size: cover; /* Cover the entire viewport */\r\n background-position: center; /* Center the image */\r\n background-repeat: no-repeat; /* Prevent image from repeating */\r\n display: flex;\r\n /* justify-content: center; */\r\n /* align-items: center; */\r\n \r\n }\r\n .h1{\r\n /* text-align: left; */\r\n margin-left: 0px;\r\n margin-right: 35%;\r\n \r\n }\r\n .h{\r\n background-image: url('back.jpg');\r\n padding: 200px;\r\n background-repeat: no-repeat;\r\n background-size: cover; /* Cover the entire viewport */\r\n background-position: center;\r\n }\r\n .footer {\r\n background-color: #333;\r\n padding: 20px 0;\r\n text-align: center;\r\n}\r\n\r\n.footer-container p {\r\n font-size: 14px;\r\n color: #fff;\r\n}"],"names":[],"sourceRoot":""}
--------------------------------------------------------------------------------
/build/static/js/787.a5a00b74.chunk.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunktask=self.webpackChunktask||[]).push([[787],{787:function(e,t,n){n.r(t),n.d(t,{getCLS:function(){return y},getFCP:function(){return g},getFID:function(){return F},getLCP:function(){return P},getTTFB:function(){return D}});var i,r,a,o,u=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:"v2-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},c=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if("first-input"===e&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},f=function(e,t){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(e(i),t&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},s=function(e){addEventListener("pageshow",(function(t){t.persisted&&e(t)}),!0)},m=function(e,t,n){var i;return function(r){t.value>=0&&(r||n)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},v=-1,p=function(){return"hidden"===document.visibilityState?0:1/0},d=function(){f((function(e){var t=e.timeStamp;v=t}),!0)},l=function(){return v<0&&(v=p(),d(),s((function(){setTimeout((function(){v=p(),d()}),0)}))),{get firstHiddenTime(){return v}}},g=function(e,t){var n,i=l(),r=u("FCP"),a=function(e){"first-contentful-paint"===e.name&&(f&&f.disconnect(),e.startTime-1&&e(t)},r=u("CLS",0),a=0,o=[],v=function(e){if(!e.hadRecentInput){var t=o[0],i=o[o.length-1];a&&e.startTime-i.startTime<1e3&&e.startTime-t.startTime<5e3?(a+=e.value,o.push(e)):(a=e.value,o=[e]),a>r.value&&(r.value=a,r.entries=o,n())}},p=c("layout-shift",v);p&&(n=m(i,r,t),f((function(){p.takeRecords().map(v),n(!0)})),s((function(){a=0,T=-1,r=u("CLS",0),n=m(i,r,t)})))},E={passive:!0,capture:!0},w=new Date,L=function(e,t){i||(i=t,r=e,a=new Date,k(removeEventListener),S())},S=function(){if(r>=0&&r1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){L(e,t),r()},i=function(){r()},r=function(){removeEventListener("pointerup",n,E),removeEventListener("pointercancel",i,E)};addEventListener("pointerup",n,E),addEventListener("pointercancel",i,E)}(t,e):L(t,e)}},k=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,b,E)}))},F=function(e,t){var n,a=l(),v=u("FID"),p=function(e){e.startTimeperformance.now())return;n.entries=[t],e(n)}catch(e){}},"complete"===document.readyState?setTimeout(t,0):addEventListener("load",(function(){return setTimeout(t,0)}))}}}]);
2 | //# sourceMappingURL=787.a5a00b74.chunk.js.map
--------------------------------------------------------------------------------
/build/static/js/787.a5a00b74.chunk.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"static/js/787.a5a00b74.chunk.js","mappings":"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","sources":["../node_modules/web-vitals/dist/web-vitals.js"],"sourcesContent":["var e,t,n,i,r=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:\"v2-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12)}},a=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if(\"first-input\"===e&&!(\"PerformanceEventTiming\"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},o=function(e,t){var n=function n(i){\"pagehide\"!==i.type&&\"hidden\"!==document.visibilityState||(e(i),t&&(removeEventListener(\"visibilitychange\",n,!0),removeEventListener(\"pagehide\",n,!0)))};addEventListener(\"visibilitychange\",n,!0),addEventListener(\"pagehide\",n,!0)},u=function(e){addEventListener(\"pageshow\",(function(t){t.persisted&&e(t)}),!0)},c=function(e,t,n){var i;return function(r){t.value>=0&&(r||n)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},f=-1,s=function(){return\"hidden\"===document.visibilityState?0:1/0},m=function(){o((function(e){var t=e.timeStamp;f=t}),!0)},v=function(){return f<0&&(f=s(),m(),u((function(){setTimeout((function(){f=s(),m()}),0)}))),{get firstHiddenTime(){return f}}},d=function(e,t){var n,i=v(),o=r(\"FCP\"),f=function(e){\"first-contentful-paint\"===e.name&&(m&&m.disconnect(),e.startTime-1&&e(t)},f=r(\"CLS\",0),s=0,m=[],v=function(e){if(!e.hadRecentInput){var t=m[0],i=m[m.length-1];s&&e.startTime-i.startTime<1e3&&e.startTime-t.startTime<5e3?(s+=e.value,m.push(e)):(s=e.value,m=[e]),s>f.value&&(f.value=s,f.entries=m,n())}},h=a(\"layout-shift\",v);h&&(n=c(i,f,t),o((function(){h.takeRecords().map(v),n(!0)})),u((function(){s=0,l=-1,f=r(\"CLS\",0),n=c(i,f,t)})))},T={passive:!0,capture:!0},y=new Date,g=function(i,r){e||(e=r,t=i,n=new Date,w(removeEventListener),E())},E=function(){if(t>=0&&t1e12?new Date:performance.now())-e.timeStamp;\"pointerdown\"==e.type?function(e,t){var n=function(){g(e,t),r()},i=function(){r()},r=function(){removeEventListener(\"pointerup\",n,T),removeEventListener(\"pointercancel\",i,T)};addEventListener(\"pointerup\",n,T),addEventListener(\"pointercancel\",i,T)}(t,e):g(t,e)}},w=function(e){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(t){return e(t,S,T)}))},L=function(n,f){var s,m=v(),d=r(\"FID\"),p=function(e){e.startTimeperformance.now())return;n.entries=[t],e(n)}catch(e){}},\"complete\"===document.readyState?setTimeout(t,0):addEventListener(\"load\",(function(){return setTimeout(t,0)}))};export{h as getCLS,d as getFCP,L as getFID,F as getLCP,P as getTTFB};\n"],"names":["e","t","n","i","r","name","value","delta","entries","id","concat","Date","now","Math","floor","random","a","PerformanceObserver","supportedEntryTypes","includes","self","getEntries","map","observe","type","buffered","o","document","visibilityState","removeEventListener","addEventListener","u","persisted","c","f","s","m","timeStamp","v","setTimeout","firstHiddenTime","d","disconnect","startTime","push","window","performance","getEntriesByName","requestAnimationFrame","p","l","h","hadRecentInput","length","takeRecords","T","passive","capture","y","g","w","E","entryType","target","cancelable","processingStart","forEach","S","L","b","F","once","P","getEntriesByType","timing","max","navigationStart","responseStart","readyState"],"sourceRoot":""}
--------------------------------------------------------------------------------
/build/static/js/main.598dca7a.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*
2 | object-assign
3 | (c) Sindre Sorhus
4 | @license MIT
5 | */
6 |
7 | /*!
8 | Copyright (c) 2018 Jed Watson.
9 | Licensed under the MIT License (MIT), see
10 | http://jedwatson.github.io/classnames
11 | */
12 |
13 | /**
14 | * @license React
15 | * react-dom.production.min.js
16 | *
17 | * Copyright (c) Facebook, Inc. and its affiliates.
18 | *
19 | * This source code is licensed under the MIT license found in the
20 | * LICENSE file in the root directory of this source tree.
21 | */
22 |
23 | /**
24 | * @license React
25 | * scheduler.production.min.js
26 | *
27 | * Copyright (c) Facebook, Inc. and its affiliates.
28 | *
29 | * This source code is licensed under the MIT license found in the
30 | * LICENSE file in the root directory of this source tree.
31 | */
32 |
33 | /**
34 | * @remix-run/router v1.9.0
35 | *
36 | * Copyright (c) Remix Software Inc.
37 | *
38 | * This source code is licensed under the MIT license found in the
39 | * LICENSE.md file in the root directory of this source tree.
40 | *
41 | * @license MIT
42 | */
43 |
44 | /**
45 | * React Router DOM v6.16.0
46 | *
47 | * Copyright (c) Remix Software Inc.
48 | *
49 | * This source code is licensed under the MIT license found in the
50 | * LICENSE.md file in the root directory of this source tree.
51 | *
52 | * @license MIT
53 | */
54 |
55 | /**
56 | * React Router v6.16.0
57 | *
58 | * Copyright (c) Remix Software Inc.
59 | *
60 | * This source code is licensed under the MIT license found in the
61 | * LICENSE.md file in the root directory of this source tree.
62 | *
63 | * @license MIT
64 | */
65 |
66 | /** @license React v17.0.0
67 | * react-jsx-runtime.production.min.js
68 | *
69 | * Copyright (c) Facebook, Inc. and its affiliates.
70 | *
71 | * This source code is licensed under the MIT license found in the
72 | * LICENSE file in the root directory of this source tree.
73 | */
74 |
75 | /** @license React v17.0.0
76 | * react.production.min.js
77 | *
78 | * Copyright (c) Facebook, Inc. and its affiliates.
79 | *
80 | * This source code is licensed under the MIT license found in the
81 | * LICENSE file in the root directory of this source tree.
82 | */
83 |
--------------------------------------------------------------------------------
/build/static/media/back.f53cf6fd280823649132.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/build/static/media/back.f53cf6fd280823649132.jpg
--------------------------------------------------------------------------------
/build/static/media/headerimg.c665b68fef4e96058b7d.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/build/static/media/headerimg.c665b68fef4e96058b7d.jpeg
--------------------------------------------------------------------------------
/build/static/media/logo.73b72796ad2b15f43a98.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/build/static/media/logo.73b72796ad2b15f43a98.jpg
--------------------------------------------------------------------------------
/build/static/media/register.ecc15f35ccc3c3de589c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/build/static/media/register.ecc15f35ccc3c3de589c.png
--------------------------------------------------------------------------------
/build/static/media/time.22de676ea542656cc3cd.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/build/static/media/time.22de676ea542656cc3cd.jpg
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "task",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@emotion/react": "^11.11.1",
7 | "@emotion/styled": "^11.11.0",
8 | "@mui/icons-material": "^5.14.9",
9 | "@mui/material": "^5.14.10",
10 | "@testing-library/jest-dom": "^5.17.0",
11 | "@testing-library/react": "^13.4.0",
12 | "@testing-library/user-event": "^13.5.0",
13 | "animate.css": "^4.1.1",
14 | "bootstrap": "^5.3.2",
15 | "font-awesome": "^4.7.0",
16 | "react": "^18.2.0",
17 | "react-bootstrap": "^2.8.0",
18 | "react-calendar": "^4.6.0",
19 | "react-dom": "^18.2.0",
20 | "react-modal": "^3.16.1",
21 | "react-redux": "^8.1.2",
22 | "react-router-dom": "^6.16.0",
23 | "react-scripts": "5.0.1",
24 | "redux": "^4.2.1",
25 | "sweetalert2": "^11.7.31",
26 | "web-vitals": "^2.1.4"
27 | },
28 | "scripts": {
29 | "start": "react-scripts start",
30 | "build": "react-scripts build",
31 | "test": "react-scripts test",
32 | "eject": "react-scripts eject"
33 | },
34 | "eslintConfig": {
35 | "extends": [
36 | "react-app",
37 | "react-app/jest"
38 | ]
39 | },
40 | "browserslist": {
41 | "production": [
42 | ">0.2%",
43 | "not dead",
44 | "not op_mini all"
45 | ],
46 | "development": [
47 | "last 1 chrome version",
48 | "last 1 firefox version",
49 | "last 1 safari version"
50 | ]
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
17 |
18 |
27 | React App
28 |
29 |
30 |
31 |
32 |
33 | You need to enable JavaScript to run this app.
34 |
35 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/public/logo192.png
--------------------------------------------------------------------------------
/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/public/logo512.png
--------------------------------------------------------------------------------
/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | },
10 | {
11 | "src": "logo192.png",
12 | "type": "image/png",
13 | "sizes": "192x192"
14 | },
15 | {
16 | "src": "logo512.png",
17 | "type": "image/png",
18 | "sizes": "512x512"
19 | }
20 | ],
21 | "start_url": ".",
22 | "display": "standalone",
23 | "theme_color": "#000000",
24 | "background_color": "#ffffff"
25 | }
26 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/App.css:
--------------------------------------------------------------------------------
1 | .App {
2 | text-align: center;
3 | }
4 |
5 | .App-logo {
6 | height: 40vmin;
7 | pointer-events: none;
8 | }
9 |
10 | @media (prefers-reduced-motion: no-preference) {
11 | .App-logo {
12 | animation: App-logo-spin infinite 20s linear;
13 | }
14 | }
15 |
16 | .App-header {
17 | background-color: #282c34;
18 | min-height: 100vh;
19 | display: flex;
20 | flex-direction: column;
21 | align-items: center;
22 | justify-content: center;
23 | font-size: calc(10px + 2vmin);
24 | color: white;
25 | }
26 |
27 | .App-link {
28 | color: #61dafb;
29 | }
30 |
31 | @keyframes App-logo-spin {
32 | from {
33 | transform: rotate(0deg);
34 | }
35 | to {
36 | transform: rotate(360deg);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/App.js:
--------------------------------------------------------------------------------
1 | import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
2 | import Home from "./components/Home";
3 | // import Loginpg from "./components/Loginpg";
4 | // import Register from "./components/Register";
5 | import TaskAssign from "./components/Dashboardtasks/TaskAssign";
6 | import TaskCreation from "./components/Dashboardtasks/Taskcreate";
7 | import TaskPriority from "./components/Dashboardtasks/Taskpriority";
8 | import TaskProgress from "./components/Dashboardtasks/Taskprogress";
9 | import CalendarView from "./components/Dashboardtasks/Taskcalendar";
10 | import Admindashboard from "./components/AdminDashboard";
11 | import Mainlogin from "./components/Mainlogin";
12 | import Adminlogin from"./components/Login/Adminlogin";
13 | import Emplogin from "./components/Login/Emplogin";
14 | import Adminregister from "./components/Login/Adminregister";
15 | import Empregister from "./components/Login/Empregister";
16 | import Userdashboard from "./components/Userdashboard";
17 | import About from "./components/About";
18 | // import Details from "./components/Details";
19 |
20 | import Viewtask from "./components/Dashboardtasks/Viewtask";
21 | // import Checklist from "./components/Dashboardtasks/Checklist";
22 | function App() {
23 | return (
24 |
25 |
26 |
27 | } />
28 | {/* } /> */}
29 | } />
30 | {/* } /> */}
31 | } />
32 | } />
33 | } />
34 | }/>
35 | }/>
36 | }/>
37 | }/>
38 | }/>
39 | }/>
40 | } />
41 | }/>
42 | {/* }/> */}
43 | }/>
44 | {/* }/> */}
45 | }/>
46 |
47 |
48 |
49 |
50 | );
51 | }
52 |
53 | export default App;
54 |
--------------------------------------------------------------------------------
/src/App.test.js:
--------------------------------------------------------------------------------
1 | import { render, screen } from '@testing-library/react';
2 | import App from './App';
3 |
4 | test('renders learn react link', () => {
5 | render( );
6 | const linkElement = screen.getByText(/learn react/i);
7 | expect(linkElement).toBeInTheDocument();
8 | });
9 |
--------------------------------------------------------------------------------
/src/components/About.css:
--------------------------------------------------------------------------------
1 |
2 | @import '~font-awesome/css/font-awesome.css';
3 |
4 | * {
5 | margin: 0;
6 | padding: 0;
7 | box-sizing: border-box;
8 | }
9 |
10 | body {
11 | background-color: #f0f0f0;
12 | font-family: Arial, sans-serif;
13 | line-height: 1.6;
14 | margin: 0;
15 | min-height: 100vh;
16 | display: flex;
17 | flex-direction: column;
18 | }
19 |
20 | /* Style the header section */
21 | header {
22 | background-color: #a5c7cd;
23 | color: #fff;
24 | padding: 10px 0;
25 | text-align: center;
26 | }
27 |
28 | /* Style the navigation bar */
29 | nav {
30 | background-color: #333;
31 | color: #fff;
32 | text-align: center;
33 | padding: 10px 0;
34 | }
35 |
36 | nav ul {
37 | list-style: none;
38 | }
39 |
40 | nav li {
41 | display: inline;
42 | margin-right: 20px;
43 | }
44 |
45 | nav a {
46 | text-decoration: none;
47 | color: #fff;
48 | font-weight: bold;
49 | }
50 |
51 | /* Style the main content section */
52 | .aboutback {
53 | padding: 20px;
54 | background-image: url('../components/about.jpg'); /* Set the background image */
55 | background-size: cover; /* Cover the entire container */
56 | background-position: center; /* Center the image */
57 | background-repeat: no-repeat; /* Prevent image from repeating */
58 | color: #fff; /* Set text color to white */
59 | text-align: center; /* Center-align text */
60 | flex-grow: 7; /* Allow content to expand and fill available space */
61 | }
62 | .about-section{
63 | text-align: center;
64 | padding: 20px;
65 | margin-left: 30%;
66 | margin-right: 30%;
67 | }
68 |
69 | h1 {
70 | font-size: 24px;
71 | margin-bottom: 20px;
72 | }
73 |
74 | h2 {
75 | font-size: 20px;
76 | margin-top: 20px;
77 | }
78 |
79 | ul {
80 | margin-top: 10px;
81 | color: #fff; /* Set text color to white */
82 | }
83 |
84 | li {
85 | margin-bottom: 10px;
86 | }
87 | .feature-cards{
88 | color: #333;
89 | }
90 | /* Style the feature cards container */
91 | .feature-cards {
92 | display: flex;
93 | flex-wrap: wrap;
94 | justify-content: space-between;
95 | gap: 20px;
96 | padding: 20px;
97 | }
98 |
99 | /* Style individual feature cards */
100 | .feature-card {
101 | flex: 0 1 calc(33.3333% - 20px); /* Adjust the width based on your layout needs */
102 | background-color: #fff;
103 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
104 | padding: 20px;
105 | border-radius: 5px;
106 | text-align: center;
107 | }
108 |
109 | /* Style feature card titles */
110 | .feature-card h3 {
111 | font-size: 18px;
112 | margin-bottom: 10px;
113 | }
114 |
115 | /* Style feature card descriptions */
116 | .feature-card p {
117 | font-size: 14px;
118 | }
119 |
120 | /* Style the footer section */
121 | footer {
122 | background-color: #333;
123 | color: #fff;
124 | padding: 20px 0;
125 | text-align: center;
126 | }
127 | /* Style the footer section */
128 | .footer {
129 | background-color: #333;
130 | color: #fff;
131 | padding: 20px 0;
132 | text-align: center;
133 | }
134 |
135 | /* Style the container within the footer */
136 | .footer .container {
137 | display: flex;
138 | justify-content: space-between;
139 | align-items: center;
140 | flex-wrap: wrap;
141 | }
142 |
143 | /* Style the contact information section */
144 | .footer-contact {
145 | flex: 1;
146 | text-align: left;
147 | padding: 10px;
148 | }
149 |
150 | .footer-contact h3 {
151 | font-size: 18px;
152 | margin-bottom: 10px;
153 | }
154 |
155 | /* Style the social media links section */
156 | .footer-social {
157 | flex: 1;
158 | text-align: right;
159 | padding: 10px;
160 | }
161 |
162 | .footer-social h3 {
163 | font-size: 18px;
164 | margin-bottom: 10px;
165 | }
166 |
167 | .footer-social ul {
168 | list-style: none;
169 | }
170 |
171 | .footer-social ul li {
172 | display: inline;
173 | margin-right: 10px;
174 | }
175 |
176 | .footer-social ul li a {
177 | color: #fff;
178 | font-size: 24px;
179 | text-decoration: none;
180 | }
181 |
182 | /* Style the social media icons (Font Awesome) */
183 | .footer-social ul li a i {
184 | transition: color 0.3s ease;
185 | }
186 |
187 | .footer-social ul li a i:hover {
188 | color: #a5c7cd;
189 | }
190 |
--------------------------------------------------------------------------------
/src/components/About.jsx:
--------------------------------------------------------------------------------
1 | // About.jsx
2 |
3 | import React from 'react';
4 | import { Link } from 'react-router-dom';
5 | import logo from '../components/logo.jpg';
6 | import ab from '../components/about.jpg';
7 | import './About.css';
8 |
9 | function About() {
10 | return (
11 |
12 |
13 |
14 | TaskMaster
15 |
16 |
17 | Admin
18 |
19 |
20 | Employee
21 |
22 |
23 | Home
24 |
25 |
26 |
27 |
28 |
29 | {/* */}
30 |
31 |
About Our Time and Task Management Software
32 |
33 |
34 | Welcome to the future of productivity and organization. Our time and task management software is designed to help you streamline your work, stay focused, and achieve your goals with ease.
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
Key Features
45 |
46 |
47 |
Effortless Task Management
48 |
Create, organize, and prioritize tasks with a few clicks.
49 |
50 |
51 |
Time Tracking
52 |
Monitor how you spend your time to identify areas for improvement.
53 |
54 |
55 |
Goal Setting
56 |
Set and track your goals, and celebrate your achievements.
57 |
58 |
59 |
Collaboration
60 |
Collaborate with team members and share tasks seamlessly.
61 |
62 |
63 |
Intuitive Interface
64 |
User-friendly design for a hassle-free experience.
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
Contact Us
75 |
Email: iamneo@taskmaster.com
76 |
Phone: +91 9360400345
77 |
Address: 1234 Task Street, Productivity , Lakshmi Mills, Coimbatore -641 035
78 |
79 |
80 |
Connect with Us
81 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | );
110 | }
111 |
112 | export default About;
113 |
--------------------------------------------------------------------------------
/src/components/AdminDashboard.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import './Admindashboard.css';
3 | import { Link } from 'react-router-dom';
4 |
5 | const Dashboard = () => {
6 | return (
7 |
8 | Task Dashboard
9 |
10 |
11 | Create Task
12 |
13 |
14 | View Task
15 |
16 |
17 |
18 | Track Progress
19 |
20 |
21 |
22 | Employee Details
23 |
24 |
25 | Log Out
26 |
27 |
28 |
29 |
30 |
31 | );
32 | };
33 |
34 | export default Dashboard;
35 |
--------------------------------------------------------------------------------
/src/components/Admindashboard.css:
--------------------------------------------------------------------------------
1 | /* Dashboard.css */
2 |
3 | .dashboard {
4 | background-color: #333; /* Background color for the sidebar */
5 | color: #fff; /* Text color */
6 | width: 250px; /* Width of the sidebar */
7 | height: 100%; /* Full height of the sidebar */
8 | position: fixed; /* Fixed position to keep the sidebar visible */
9 | top: 0;
10 | left: 0;
11 | padding: 20px;
12 | }
13 |
14 | .dashboard h1 {
15 | font-size: 24px;
16 | margin-bottom: 20px;
17 | }
18 |
19 | .nav-links2 {
20 | margin-top: 40px;
21 | list-style-type: none;
22 | padding: 0;
23 | display: flex;
24 | flex-direction: column;
25 | }
26 |
27 | .nav-links2 li {
28 | margin-bottom: 10px;
29 | }
30 |
31 | .nav-links2 a {
32 | text-decoration: none;
33 | color: #fff;
34 | font-weight: bold;
35 | font-size: 16px;
36 | }
37 |
38 | .nav-links2 a:hover {
39 | text-decoration: underline;
40 | }
41 |
42 |
43 | .content {
44 | margin-left: 250px;
45 | padding: 20px;
46 | background-color: #f4f4f4;}
47 |
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/ActionTypes.js:
--------------------------------------------------------------------------------
1 | // Action types for adding, editing, and deleting tasks
2 | // ActionTypes.js
3 | export const ADD_TASK = 'ADD_TASK';
4 |
5 | export const EDIT_TASK = 'EDIT_TASK';
6 | export const DELETE_TASK = 'DELETE_TASK';
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/TaskAssign.jsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 |
3 | function TaskAssign() {
4 | const [tasks, setTasks] = useState([]);
5 | const [taskName, setTaskName] = useState('');
6 | const [assignee, setAssignee] = useState('');
7 | const [comments, setComments] = useState([]);
8 | const [newComment, setNewComment] = useState('');
9 |
10 | const handleTaskNameChange = (event) => {
11 | setTaskName(event.target.value);
12 | };
13 |
14 | const handleAssigneeChange = (event) => {
15 | setAssignee(event.target.value);
16 | };
17 |
18 | const handleNewCommentChange = (event) => {
19 | setNewComment(event.target.value);
20 | };
21 |
22 | const handleTaskCreation = () => {
23 | if (taskName.trim() === '' || assignee.trim() === '') {
24 | alert('Please enter both task name and assignee.');
25 | return;
26 | }
27 |
28 | // Create a new task object
29 | const newTask = {
30 | id: Date.now(), // Generate a unique ID (you might use a library for this)
31 | name: taskName,
32 | assignee: assignee,
33 | comments: comments,
34 | };
35 |
36 | // Add the new task to the tasks array
37 | setTasks([...tasks, newTask]);
38 |
39 | // Clear the input fields
40 | setTaskName('');
41 | setAssignee('');
42 | setComments([]);
43 | };
44 |
45 | const handleAddComment = () => {
46 | if (newComment.trim() === '') {
47 | return;
48 | }
49 |
50 | // Add the new comment to the comments array
51 | setComments([...comments, newComment]);
52 |
53 | // Clear the input field
54 | setNewComment('');
55 | };
56 |
57 | return (
58 |
59 |
Task Assignment and Collaboration
60 |
61 | Task Name:
62 |
67 |
68 |
69 | Assignee:
70 |
75 |
76 |
Create Task
77 |
78 | {/* Display the list of created tasks */}
79 |
80 |
Task List:
81 |
100 |
101 |
102 | );
103 | }
104 |
105 | export default TaskAssign;
106 |
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/Taskcalendar.css:
--------------------------------------------------------------------------------
1 | .react-calendar {
2 | width: 600px;
3 | height: 200px;
4 | max-width: 100%;
5 | background-color: #fff;
6 | color: #222;
7 | border-radius: 8px;
8 | box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
9 | font-family: Arial, Helvetica, sans-serif;
10 | /* line-height: 1.125em; */
11 | }
12 | .react-calendar__navigation button {
13 | color: #6f48eb;
14 | min-width: 44px;
15 | background: none;
16 | font-size: 16px;
17 | margin-top: 8px;
18 | }
19 | .react-calendar__navigation button:enabled:hover,
20 | .react-calendar__navigation button:enabled:focus {
21 | background-color: #f8f8fa;
22 | }
23 | .react-calendar__navigation button[disabled] {
24 | background-color: #f0f0f0;
25 | }
26 | abbr[title] {
27 | text-decoration: none;
28 | }
29 | /* .react-calendar__month-view__days__day--weekend {
30 | color: #d10000;
31 | } */
32 | .react-calendar__tile:enabled:hover,
33 | .react-calendar__tile:enabled:focus {
34 | background: #f8f8fa;
35 | color: #6f48eb;
36 | border-radius: 6px;
37 | }
38 | .react-calendar__tile--now {
39 | background: #6f48eb33;
40 | border-radius: 6px;
41 | font-weight: bold;
42 | color: #6f48eb;
43 | }
44 | .react-calendar__tile--now:enabled:hover,
45 | .react-calendar__tile--now:enabled:focus {
46 | background: #6f48eb33;
47 | border-radius: 6px;
48 | font-weight: bold;
49 | color: #6f48eb;
50 | margin-left: 20%;
51 | }
52 | .react-calendar__tile--hasActive:enabled:hover,
53 | .react-calendar__tile--hasActive:enabled:focus {
54 | background: #f8f8fa;
55 | }
56 | .react-calendar__tile--active {
57 | background: #6f48eb;
58 | border-radius: 6px;
59 | font-weight: bold;
60 | color: white;
61 | }
62 | .react-calendar__tile--active:enabled:hover,
63 | .react-calendar__tile--active:enabled:focus {
64 | background: #6f48eb;
65 | color: white;
66 | }
67 | .react-calendar--selectRange .react-calendar__tile--hover {
68 | background-color: #f8f8fa;
69 | }
70 | .react-calendar__tile--range {
71 | background: #f8f8fa;
72 | color: #6f48eb;
73 | border-radius: 3;
74 | }
75 |
76 | .calendar-container{
77 | padding-left: 600px;
78 | margin-top: 100px;
79 | height: 200px;
80 | }
81 | .text-center{
82 | margin-top: 100px;
83 | font-size: larger;
84 | margin-left: 300px;
85 | }
86 | .text-center1{
87 | margin-left: 780px;
88 | margin-top: 100px;
89 | }
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/Taskcalendar.jsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import Calendar from 'react-calendar';
3 | import './Taskcalendar.css'; // Uncomment this line to include the default CSS
4 | import { Link } from 'react-router-dom';
5 |
6 |
7 | function CalendarView() {
8 | const [date, setDate] = useState(new Date());
9 |
10 | return (
11 |
12 |
13 | Your Dashboard
14 |
15 |
16 | View Task
17 |
18 |
19 |
20 |
21 |
22 | Calendar
23 |
24 |
25 |
26 |
27 |
React Calendar
28 |
29 |
30 |
31 |
32 | Selected Date: {' '}
33 | {date.toDateString()}
34 |
35 |
36 |
37 | );
38 | }
39 |
40 | export default CalendarView;
41 |
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/Taskcreate.css:
--------------------------------------------------------------------------------
1 | /* TaskCard.css */
2 | .createtask{
3 | margin-left: 250px;
4 | margin-top: 20px;
5 | text-align: center;
6 | padding: 20px;
7 |
8 | }
9 | .tasktitle{
10 | margin-top: 20px;
11 | /* margin-bottom: 30px;
12 | margin-left: 200px; */
13 | }
14 | .card-container {
15 | display: flex;
16 | justify-content: center;
17 | align-items: center;
18 | min-height: 100vh;
19 | }
20 |
21 | .card {
22 | background-color: white;
23 | padding: 20px;
24 | border-radius: 5px;
25 | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
26 | width: 300px;
27 | text-align: center;
28 | }
29 |
30 | .tasktitle,
31 | .taskdescription {
32 | width: 100%;
33 | padding: 10px;
34 | margin-bottom: 10px;
35 | border: 1px solid #ccc;
36 | border-radius: 3px;
37 | font-size: 16px;
38 | }
39 |
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/Taskcreate.jsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import { useDispatch } from 'react-redux';
3 | import { addTask } from './actions';
4 | import { Link } from 'react-router-dom';
5 | import './Taskcreate.css';
6 |
7 | import Swal from 'sweetalert2';
8 |
9 | const CreateTask = () => {
10 | const [task, setTask] = useState({ title: '', description: '', date: '', priority: '' });
11 | const dispatch = useDispatch();
12 |
13 | const handleSubmit = () => {
14 |
15 | dispatch(addTask({ id: Date.now(), ...task }));
16 |
17 | setTask({ title: '', description: '', date: '', priority: '' });
18 | Swal.fire({
19 | icon: 'success',
20 | title: 'Task Created Successfully',
21 | showConfirmButton: false,
22 | timer: 1500,
23 | });
24 | };
25 |
26 | return (
27 |
28 |
29 | Task Dashboard
30 |
31 |
32 | Create Task
33 |
34 |
35 | View Task
36 |
37 |
38 | Track Progress
39 |
40 |
41 | Employee Details
42 |
43 |
44 | Log Out
45 |
46 |
47 |
48 |
49 |
50 | setTask({ ...task, title: e.target.value })}
56 | />
57 |
58 |
81 |
82 |
83 | );
84 | };
85 |
86 | export default CreateTask;
87 |
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/Taskpriority.jsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 |
3 | function TaskPriority() {
4 | const [tasks, setTasks] = useState([]);
5 | const [taskName, setTaskName] = useState('');
6 | const [priority, setPriority] = useState('Low');
7 | const [dueDate, setDueDate] = useState('');
8 | const [reminders, setReminders] = useState([]);
9 |
10 | const handleTaskNameChange = (event) => {
11 | setTaskName(event.target.value);
12 | };
13 |
14 | const handlePriorityChange = (event) => {
15 | setPriority(event.target.value);
16 | };
17 |
18 | const handleDueDateChange = (event) => {
19 | setDueDate(event.target.value);
20 | };
21 |
22 | const handleReminderChange = (event) => {
23 | const reminder = event.target.value;
24 | setReminders([...reminders, reminder]);
25 | };
26 |
27 | const handleTaskCreation = () => {
28 | if (taskName.trim() === '') {
29 | alert('Please enter a task name.');
30 | return;
31 | }
32 |
33 | // Create a new task object
34 | const newTask = {
35 | id: Date.now(), // Generate a unique ID (you might use a library for this)
36 | name: taskName,
37 | priority: priority,
38 | dueDate: dueDate,
39 | reminders: reminders,
40 | };
41 |
42 | // Add the new task to the tasks array
43 | setTasks([...tasks, newTask]);
44 |
45 | // Clear the input fields
46 | setTaskName('');
47 | setPriority('Low');
48 | setDueDate('');
49 | setReminders([]);
50 | };
51 |
52 | return (
53 |
54 |
Task Prioritization and Scheduling
55 |
56 | Task Name:
57 |
62 |
63 |
64 | Priority:
65 |
66 | Low
67 | Medium
68 | High
69 |
70 |
71 |
72 | Due Date:
73 |
78 |
79 |
80 | Reminders:
81 |
87 |
88 |
Create Task
89 |
90 | {/* Display the list of created tasks */}
91 |
92 |
Task List:
93 |
94 | {tasks.map((task) => (
95 |
96 | {task.name} - Priority: {task.priority}, Due Date: {task.dueDate}, Reminders: {task.reminders.join(', ')}
97 |
98 | ))}
99 |
100 |
101 |
102 | );
103 | }
104 |
105 | export default TaskPriority;
106 |
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/Taskprogress.css:
--------------------------------------------------------------------------------
1 | /* TrackProgress.css */
2 |
3 | table {
4 | width: 80%;
5 | border-collapse: collapse;
6 | margin-top: 20px;
7 | margin-right: 0px;
8 | margin-left: 420px;
9 | }
10 | .progress-nav{
11 | background-color:rgb(250, 249, 250);
12 | padding-right: 400px;
13 | margin-top: 30px;
14 | }
15 | thead {
16 | background-color: #333;
17 | color: #fff;
18 | }
19 | .taskh{
20 | text-align: center;
21 | padding-left: 300px;
22 | }
23 |
24 | th, td {
25 | padding: 8px 12px;
26 | text-align: left;
27 | border-bottom: 1px solid #ddd;
28 | }
29 |
30 | tr:nth-child(even) {
31 | background-color: #f2f2f2;
32 | }
33 |
34 | tr:hover {
35 | background-color: #ddd;
36 | }
37 |
38 | th {
39 | background-color: #555;
40 | }
41 |
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/Taskprogress.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import './Taskprogress.css';
3 | //import './Dashboard.css';
4 | import { Link } from 'react-router-dom';
5 | // const task = [
6 | // { id: 1, taskName: 'Task 1', assignee: 'User A', dueDate: '2023-09-30', progress: 30 },
7 | // { id: 2, taskName: 'Task 2', assignee: 'User B', dueDate: '2023-10-05', progress: 50 },
8 | // // Add more task objects as needed
9 | // ];
10 | const TrackProgress = () => {
11 | return (
12 |
13 |
14 | Task Dashboard
15 |
16 |
17 | Create Task
18 |
19 |
20 | View Task
21 |
22 |
23 |
24 | Track Progress
25 |
26 |
27 |
28 | Employee Details
29 |
30 |
31 | Log Out
32 |
33 |
34 |
35 |
36 |
37 |
38 |
Track Progress
39 |
40 |
41 |
42 |
43 |
44 | Serial
45 | Number
46 | Task Name
47 | Assigned To
48 | Due Date
49 | Progress
50 |
51 |
52 |
53 |
54 |
55 |
56 | );
57 | };
58 |
59 | export default TrackProgress;
60 |
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/Viewtask.css:
--------------------------------------------------------------------------------
1 | /* view-task.css */
2 |
3 | /* Style the container */
4 | .view-task-container {
5 | margin: 20px;
6 | padding: 20px;
7 | border: 1px solid #ccc;
8 | border-radius: 5px;
9 | box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
10 | background-color: #fff;
11 | }
12 |
13 | /* Style the task list */
14 | .task-list {
15 | list-style: none;
16 | padding: 0;
17 | }
18 |
19 | /* Style each task item */
20 | .task-item {
21 | display: flex;
22 | align-items: center;
23 | justify-content: space-between;
24 | padding: 10px;
25 | margin: 10px 0;
26 | border: 1px solid #080101;
27 | border-radius: 5px;
28 | background-color: #0e0404;
29 | color: white; /* Text color for task items */
30 | }
31 |
32 | /* Style the task text */
33 | .task-text {
34 | flex-grow: 1;
35 | margin-right: 10px;
36 | }
37 |
38 | /* Style the delete button */
39 | .delete-button {
40 | cursor: pointer;
41 | padding: 5px 10px;
42 | background-color: #ff5733;
43 | color: #fff;
44 | border: none;
45 | border-radius: 5px;
46 | }
47 |
48 | /* Style the delete button on hover */
49 | .delete-button:hover {
50 | background-color: #e64a2e;
51 | }
52 |
53 | /* Style the priority dropdown */
54 | .priority-dropdown {
55 | width: 100%;
56 | padding: 10px;
57 | margin-top: 10px;
58 | border: 1px solid #ccc;
59 | border-radius: 3px;
60 | font-size: 16px;
61 | background-color: white;
62 | }
63 |
64 | /* Center the h2 heading */
65 | .viewh2 {
66 | text-align: center;
67 | margin-left: 60px;
68 | top:0;
69 | }
70 |
71 | /* Adjust the margin and color for the task list */
72 | .viewbody {
73 | margin-left: 250px; /* Adjust as needed */
74 | color: darkslategray;
75 | margin-top: 20px; /* Adjust as needed */
76 | }
77 |
78 | /* Style the buttons in viewbutton class */
79 | .viewbutton button {
80 | margin-right: 10px; /* Add space between buttons */
81 | }
82 |
83 | /* Style the search input */
84 | .search-input {
85 | width: 200px; /* Adjust width as needed */
86 | padding: 10px;
87 | margin-right: 10px; /* Add space between input and filter */
88 | }
89 |
90 | /* Style the filter dropdown */
91 | .filter-dropdown {
92 | width: 150px; /* Adjust width as needed */
93 | padding: 10px;
94 | margin-right: 10px; /* Add space between filter and button */
95 | }
96 |
97 | /* Style the search button */
98 | .search-button {
99 | padding: 10px 15px;
100 | background-color: #007bff; /* Adjust button color as needed */
101 | color: #fff;
102 | border: none;
103 | border-radius: 5px;
104 | cursor: pointer;
105 | }
106 |
107 | /* Style the search button on hover */
108 | .search-button:hover {
109 | background-color: #0056b3; /* Adjust hover color as needed */
110 | }
111 |
112 | .search-filter{
113 | padding-left: 35%;
114 | padding-right: 3%;
115 | padding-top: 5%;
116 |
117 | }
118 | .viewt{
119 | padding-left: 20%;
120 | padding-top: 5%;
121 | }
122 |
123 | .date-filter{
124 | margin-right: 20px;
125 | }
126 | .buttondel{
127 | margin-right: 20px;
128 | }
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/Viewtask.jsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import { useSelector, useDispatch } from 'react-redux';
3 | import './Viewtask.css';
4 | import { editTask, deleteTask } from './actions';
5 | import { Link } from 'react-router-dom';
6 | import { colors } from '@mui/material';
7 |
8 | const ViewTask = () => {
9 | const tasks = useSelector((state) => state.viewTasks.tasks);
10 | const dispatch = useDispatch();
11 |
12 | const [editingTask, setEditingTask] = useState(null);
13 |
14 | const handleEdit = (task) => {
15 | setEditingTask(task);
16 | };
17 |
18 | const handleSaveEdit = (task) => {
19 | dispatch(editTask(task));
20 | setEditingTask(null);
21 | };
22 |
23 | const handleCancelEdit = () => {
24 | setEditingTask(null);
25 | };
26 |
27 | const handleDelete = (taskId) => {
28 | dispatch(deleteTask(taskId));
29 | };
30 |
31 | // State to store the search query and filtered tasks
32 | const [searchQuery, setSearchQuery] = useState('');
33 | const [selectedDate, setSelectedDate] = useState('');
34 |
35 | // Filter tasks based on search query and selected date
36 | const filteredTasks = tasks.filter((task) => {
37 | const taskName = task.title.toLowerCase();
38 | const search = searchQuery.toLowerCase();
39 |
40 | // Filter by task name
41 | const taskNameMatch = taskName.includes(search);
42 |
43 | // Filter by date
44 | const dateMatch =
45 | selectedDate === '' || task.date === selectedDate;
46 |
47 | return taskNameMatch && dateMatch;
48 | });
49 |
50 | return (
51 |
52 |
53 |
54 |
Dashboard
55 |
56 |
57 |
58 |
59 | Create Task
60 |
61 |
62 | Track Progress
63 |
64 |
65 | Employee Details
66 |
67 |
68 | Log Out
69 |
70 |
71 |
72 |
View Tasks
73 |
74 |
79 | setSelectedDate(e.target.value)}
83 | className="date-filter"
84 | />
85 |
86 | {/* Add the filter dropdown */}
87 |
88 | All
89 | High Priority
90 | Medium Priority
91 | Low Priority
92 |
93 |
94 | {/* Add the search button */}
95 | Search
96 |
97 |
98 |
99 | {filteredTasks.map((task) => (
100 |
101 |
102 | {editingTask === task ? (
103 |
104 | handleSaveEdit({ ...task, title: e.target.value })}
108 | />
109 |
113 | handleSaveEdit({ ...task, description: e.target.value })
114 | }
115 | />
116 | handleSaveEdit({ ...task, date: e.target.value })}
120 | />
121 | handleSaveEdit({ ...task, priority: e.target.value })}
124 | className='priority-dropdown'
125 | >
126 | High
127 | Medium
128 | Low
129 |
130 | handleSaveEdit(task)}>Save
131 | Cancel
132 |
133 | ) : (
134 |
135 |
Task Title: {task.title}
136 |
Task Description: {task.description}
137 |
Due date:{task.date}
138 |
Priority:{task.priority}
139 |
handleEdit(task)} className='buttondel'>Edit
140 |
handleDelete(task.id)}>Delete
141 |
142 | )}
143 |
144 |
145 | ))}
146 |
147 |
148 | );
149 | };
150 |
151 | export default ViewTask;
152 |
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/actions.js:
--------------------------------------------------------------------------------
1 |
2 | import { ADD_TASK, EDIT_TASK, DELETE_TASK } from './ActionTypes';
3 |
4 | // Action creators for adding, editing, and deleting tasks
5 | // actions.js
6 |
7 | export function addTask(task) {
8 | return {
9 | type: ADD_TASK,
10 | payload: task,
11 | };
12 | }
13 |
14 |
15 | export function editTask(task) {
16 | return {
17 | type: EDIT_TASK,
18 | payload: task,
19 | };
20 | }
21 |
22 | export function deleteTask(taskId) {
23 | return {
24 | type: DELETE_TASK,
25 | payload: taskId,
26 | };
27 | }
--------------------------------------------------------------------------------
/src/components/Dashboardtasks/reducers.js:
--------------------------------------------------------------------------------
1 | // reducers.js
2 |
3 | import { ADD_TASK, EDIT_TASK, DELETE_TASK } from './ActionTypes';
4 |
5 | const initialState = {
6 | tasks: [],
7 | };
8 |
9 | export function taskReducer(state = initialState, action) {
10 | switch (action.type) {
11 | case ADD_TASK:
12 | return {
13 | ...state,
14 | tasks: [...state.tasks, action.payload],
15 | };
16 | case EDIT_TASK:
17 | const editedTasks = state.tasks.map((task) =>
18 | task.id === action.payload.id ? { ...task, ...action.payload } : task
19 | );
20 | return {
21 | ...state,
22 | tasks: editedTasks,
23 | };
24 | case DELETE_TASK:
25 | const updatedTasks = state.tasks.filter((task) => task.id !== action.payload);
26 | return {
27 | ...state,
28 | tasks: updatedTasks,
29 | };
30 | default:
31 | return state;
32 | }
33 | }
34 |
35 | // New reducer for displaying tasks
36 | export function viewTaskReducer(state = initialState, action) {
37 | switch (action.type) {
38 | case ADD_TASK:
39 | // When a new task is added, we update the tasks list in this reducer
40 | return {
41 | ...state,
42 | tasks: [...state.tasks, action.payload],
43 | };
44 | case DELETE_TASK:
45 | // When a task is deleted, we update the tasks list in this reducer
46 | const updatedTasks = state.tasks.filter((task) => task.id !== action.payload);
47 | return {
48 | ...state,
49 | tasks: updatedTasks,
50 | };
51 | default:
52 | return state;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/src/components/Details.jsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/Details.jsx
--------------------------------------------------------------------------------
/src/components/Header.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 |
3 | export default function Hello(props) {
4 | return (
5 | Hello {props.name}
6 | );
7 | }
8 | // export function Paraobj({avenger,threats}){
9 | // return(
10 | //
11 | //
14 | //
15 | // );
16 | // }
17 |
--------------------------------------------------------------------------------
/src/components/Home.css:
--------------------------------------------------------------------------------
1 | /* ... Your existing CSS */
2 | /* App.css (or your main CSS file) */
3 | @import '~font-awesome/css/font-awesome.css';
4 |
5 | .head{
6 | background-color: #a5c2cd;
7 | color: #fff;
8 | padding: 10px 0;
9 | display: flex;
10 | /* flex-direction: row; */
11 | justify-content: space-between;
12 | align-items: center;
13 | }
14 | .nav-links {
15 | margin-top: 10px;
16 | list-style-type: none;
17 | padding: 0;
18 | display: flex;
19 | flex-direction: row;
20 | margin-right: 50px;
21 | /* Vertically center-align the navigation items */
22 | }
23 |
24 | .nav-links li {
25 | margin-right: 20px; /* Add margin between navigation items */
26 | }
27 |
28 | .nav-links a {
29 | text-decoration: none;
30 | color: #fff;
31 | font-weight: bold;
32 | font-size: large;
33 | }
34 |
35 | .nav-links a:hover {
36 | text-decoration: underline;
37 | }
38 |
39 | /* ... Rest of your CSS */
40 |
41 | .headerimg {
42 | text-align: center;
43 | color: #fdfafa;
44 | opacity: 5.6;
45 | background-color: black;
46 | padding: 100px;
47 | background-image: url('headerimg.jpeg');
48 | background-size: cover; /* Cover the entire viewport */
49 | background-position: center; /* Center the image */
50 | background-repeat: no-repeat; /* Prevent image from repeating */
51 | display: flex;
52 | }
53 |
54 | .homeh2 {
55 | /* text-align: left; */
56 | margin-left: 150px;
57 | margin-right: 5%;
58 | font-size: 2.5rem;
59 | }
60 |
61 | .h {
62 | background-image: url('back.jpg');
63 | padding: 200px;
64 | background-repeat: no-repeat;
65 | background-size: cover; /* Cover the entire viewport */
66 | background-position: center;
67 | }
68 | .homeh1{
69 | margin-right: 80%;
70 | margin-left: 0%;
71 | margin-top: 0%;
72 | margin-bottom: 10%;
73 | }
74 | .logo {
75 | margin-left: 20px; /* Adjust the margin as needed */
76 | margin-top: 10px; /* Adjust the margin-top to position it vertically */
77 | max-width: 100px; /* Set the maximum width for the logo */
78 | height: auto; /* Maintain the aspect ratio of the logo */
79 | }
80 |
81 |
82 | .footer {
83 | background-color: #333;
84 | padding: 20px 0;
85 | text-align: center;
86 | }
87 |
88 | .footer-container p {
89 | font-size: 14px;
90 | color: #fff;
91 | }
92 |
93 | /* Style the footer section */
94 | footer {
95 | background-color: #333;
96 | color: #fff;
97 | padding: 20px 0;
98 | text-align: center;
99 | }
100 | /* Style the footer section */
101 | .footer {
102 | background-color: #333;
103 | color: #fff;
104 | padding: 20px 0;
105 | text-align: center;
106 | }
107 |
108 | /* Style the container within the footer */
109 | .footer .container {
110 | display: flex;
111 | justify-content: space-between;
112 | align-items: center;
113 | flex-wrap: wrap;
114 | }
115 |
116 | /* Style the contact information section */
117 | .footer-contact {
118 | flex: 1;
119 | text-align: left;
120 | padding: 10px;
121 | }
122 |
123 | .footer-contact h3 {
124 | font-size: 18px;
125 | margin-bottom: 10px;
126 | }
127 |
128 |
129 |
130 | /* Style the "Follow Us" section */
131 | .footer-social {
132 | flex: 1;
133 | text-align: center; /* Center-align text */
134 | padding: 10px;
135 | }
136 |
137 | .footer-social h3 {
138 | font-size: 18px;
139 | margin-bottom: 10px;
140 | }
141 |
142 | /* Style the social media icons (Font Awesome) */
143 | .social-icons {
144 | list-style: none;
145 | padding: 0;
146 | }
147 |
148 | .social-icons li {
149 | margin-bottom: 10px; /* Add space between icons */
150 | }
151 |
152 | .social-icons a {
153 | color: #fff;
154 | font-size: 24px;
155 | text-decoration: none;
156 | transition: color 0.3s ease;
157 | display: block; /* Display links as blocks for vertical layout */
158 | }
159 |
160 | .social-icons a:hover {
161 | color: #a5c7cd;
162 | }
163 | .h3{
164 | margin-top: 2000px;
165 | }
--------------------------------------------------------------------------------
/src/components/Home.jsx:
--------------------------------------------------------------------------------
1 | //
2 | import React from 'react';
3 | import { Link } from 'react-router-dom';
4 | import "./Home.css";
5 | import { Container, Row, Col } from 'react-bootstrap';
6 | //import {logo} from '../components/logo.jpg';
7 | import myImg from '../components/logo.jpg';
8 | import logo from '../components/logo.jpg'
9 | function Home() {
10 | return (
11 |
12 |
13 |
14 |
15 |
16 |
17 | TaskMaster
18 |
19 |
20 |
21 | Admin
22 |
23 |
24 | Employee
25 |
26 |
27 |
28 | About
29 |
30 |
31 |
32 |
33 |
34 |
35 |
TaskMaster is a Task and Time Management Software
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | Efficient Time and Task Management
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | TaskMaster helps you streamline your work by providing efficient time tracking and task management tools. Stay organized, meet deadlines, and improve productivity.
54 |
55 |
56 |
57 |
58 | Our software is designed to support teams in various work environments, making it easier than ever to manage tasks, track time, and collaborate effectively.
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
Contact Us
70 |
Email: iamneo@taskmaster.com
71 |
Phone: +91 9360400345
72 |
Address: 1234 Task Street, Productivity , Lakshmi Mills, Coimbatore -641 035
73 |
74 |
75 |
Connect with Us
76 |
98 |
99 |
100 |
101 |
102 |
103 | );
104 | }
105 |
106 | export default Home;
--------------------------------------------------------------------------------
/src/components/Login/Adminlogin.css:
--------------------------------------------------------------------------------
1 | *{
2 | padding: 0;
3 | margin: 0;
4 | box-sizing: border-box;
5 | }
6 | .appadmin{
7 | background-image: url('../adminimg.jfif');
8 | background-size: cover; /* Cover the entire viewport */
9 | background-position: center; /* Center the image */
10 | background-repeat: no-repeat; /* Prevent image from repeating */
11 | display: flex;
12 | justify-content: center;
13 | align-items: center;
14 | height: 100vh;
15 | margin: 0;
16 | }
17 | .adminh{
18 | text-align: center;
19 | }
20 | .login{
21 | text-align: center;
22 | max-width: 600px;
23 | width: 50%;
24 | height: 40%;
25 | padding: 20px;
26 | border: 1px solid #ddd;
27 | border: radius 20px;
28 | box-shadow: 0px 0px 10px rgba(15, 9, 9, 0.1);
29 | background-color: rgba(255, 255, 255, 0.6);
30 | }
31 | .button-login{
32 | height: 30px;
33 | background-color: rgb(137, 55, 219);
34 | width: 250px;
35 | }
--------------------------------------------------------------------------------
/src/components/Login/Adminlogin.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import './Adminlogin.css';
3 |
4 | //import Register from '../components/Register';
5 |
6 | export default function Adminlogin() {
7 | // const register = console.log("Hai");
8 | return (
9 |
10 |
11 |
12 |
log into your account
13 |
28 |
29 |
30 | );
31 | }
32 | const toDashboard=()=>{
33 | window.location.href="/admindashboard";
34 | }
35 | const handleSubmit=(e)=>{
36 | e.preventDefault();
37 | toDashboard();
38 | }
39 |
--------------------------------------------------------------------------------
/src/components/Login/Adminregister.css:
--------------------------------------------------------------------------------
1 | *{
2 | padding: 0;
3 | margin: 0;
4 | box-sizing: border-box;
5 | }
6 | .register{
7 | text-align: center;
8 | max-width: 400px;
9 | padding: 20px;
10 | border: 1px solid #ddd;
11 | border-radius: 15px; /* Adjust the value to control the amount of rounding */
12 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
13 | background-color: rgba(255, 255, 255, 0.8);
14 | }
15 | .regisadmin{
16 | background-image: url('../adminimg.jfif');
17 | background-size: cover;
18 | background-position: center;
19 | background-repeat: no-repeat;
20 | display: flex;
21 | justify-content: center;
22 | align-items: center;
23 | height: 100vh;
24 | margin: 0;
25 | }
--------------------------------------------------------------------------------
/src/components/Login/Adminregister.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import './Adminregister.css'
3 | export default function Adminregister() {
4 | return (
5 |
40 | )
41 | }
42 | const toDashboard=()=>{
43 | window.location.href="/admindashboard";
44 | }
45 | const handleSubmit=(e)=>{
46 | e.preventDefault();
47 | toDashboard();
48 | }
--------------------------------------------------------------------------------
/src/components/Login/Emplogin.css:
--------------------------------------------------------------------------------
1 | *{
2 | padding: 0;
3 | margin: 0;
4 | box-sizing: border-box;
5 | }
6 | .appemp{
7 | background-image: url('../empimg.jpg');
8 | background-size: cover; /* Cover the entire viewport */
9 | background-position: center; /* Center the image */
10 | background-repeat: no-repeat; /* Prevent image from repeating */
11 | display: flex;
12 | justify-content: center;
13 | align-items: center;
14 | height: 100vh;
15 | margin: 0;
16 | }
17 | .emph{
18 | text-align: center;
19 | }
20 | .modal {
21 | position: absolute;
22 | top: 50%;
23 | left: 50%;
24 | transform: translate(-50%, -50%);
25 | background-color: #fff;
26 | padding: 20px;
27 | border-radius: 8px;
28 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
29 | max-width: 80%;
30 | text-align: center;
31 | }
32 |
33 | /* Style the modal content (e.g., h2 and p elements) */
34 | .modal h2 {
35 | font-size: 24px;
36 | margin-bottom: 10px;
37 | }
38 |
39 | .modal p {
40 | font-size: 18px;
41 | }
42 |
43 | /* Style the overlay */
44 | .overlay {
45 | background-color: rgba(0, 0, 0, 0.5);
46 | position: fixed;
47 | top: 0;
48 | left: 0;
49 | right: 0;
50 | bottom: 0;
51 | display: flex;
52 | justify-content: center;
53 | align-items: center;
54 | z-index: 1000; /* Ensure it's above other content */
55 | }
56 |
57 | .login{
58 | text-align: center;
59 | max-width: 600px;
60 | width: 50%;
61 | height: 40%;
62 | padding: 20px;
63 | border: 1px solid #ddd;
64 | border: radius 20px;
65 | box-shadow: 0px 0px 10px rgba(15, 9, 9, 0.1);
66 | background-color: rgba(255, 255, 255, 0.6);
67 | }
68 | .button-login{
69 | height: 30px;
70 | background-color: rgb(137, 55, 219);
71 | width: 250px;
72 | }
--------------------------------------------------------------------------------
/src/components/Login/Emplogin.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import './Emplogin.css'
3 |
4 | //import Register from '../components/Register';
5 |
6 | export default function Emplogin() {
7 | // const register = console.log("Hai");
8 | return (
9 |
10 |
11 |
12 |
log into your account
13 |
28 |
29 |
30 | );
31 | }
32 | const toDashboard=()=>{
33 | window.location.href="/userdashboard";
34 | }
35 | const handleSubmit=(e)=>{
36 | e.preventDefault();
37 | toDashboard();
38 | }
39 |
--------------------------------------------------------------------------------
/src/components/Login/Empregister.css:
--------------------------------------------------------------------------------
1 | *{
2 | padding: 0;
3 | margin: 0;
4 | box-sizing: border-box;
5 | }
6 | .register{
7 | text-align: center;
8 | max-width: 400px;
9 | padding: 20px;
10 | border: 1px solid #ddd;
11 | border-radius: 15px; /* Adjust the value to control the amount of rounding */
12 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
13 | background-color: rgba(255, 255, 255, 0.8);
14 | }
15 | .regisemp{
16 | background-image: url('../empimg.jpg');
17 | background-size: cover;
18 | background-position: center;
19 | background-repeat: no-repeat;
20 | display: flex;
21 | justify-content: center;
22 | align-items: center;
23 | height: 100vh;
24 | margin: 0;
25 | }
--------------------------------------------------------------------------------
/src/components/Login/Empregister.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import './Empregister.css'
3 | export default function Empregister() {
4 | return (
5 |
46 | )
47 | }
48 | const toDashboard=()=>{
49 | window.location.href="/userdashboard";
50 | }
51 | const handleSubmit=(e)=>{
52 | e.preventDefault();
53 | toDashboard();
54 | }
55 |
--------------------------------------------------------------------------------
/src/components/Mainlogin.css:
--------------------------------------------------------------------------------
1 | /* Reset some default styles for better consistency */
2 | * {
3 | margin: 0;
4 | padding: 0;
5 | box-sizing: border-box;
6 | }
7 |
8 | body {
9 | font-family: Arial, Helvetica, sans-serif;
10 | background-color: #f2f2f2;
11 | }
12 |
13 | .page {
14 | background-image: url('pexels.jpg');
15 | background-size: cover;
16 | background-repeat: no-repeat;
17 | display: flex;
18 | justify-content: space-between;
19 | align-items: flex-start;
20 | padding: 330px;
21 | }
22 |
23 | .left-card,
24 | .right-card {
25 | background-color: #fff;
26 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
27 | border-radius: 5px;
28 | padding: 15px;
29 | width: 30%; /* Adjust the width as needed */
30 | text-align: center;
31 | }
32 |
33 | .left-card img {
34 | max-width: 100%;
35 | height: auto;
36 | }
37 |
38 | /* Center the text in the right card */
39 | .right-card p {
40 | text-align: center;
41 | }
42 |
43 | /* Media query for responsiveness */
44 | @media (max-width: 768px) {
45 | .page {
46 | flex-direction: column;
47 | align-items: center;
48 | }
49 |
50 | .left-card,
51 | .right-card {
52 | width: 100%;
53 | margin-bottom: 20px;
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/components/Mainlogin.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import './Mainlogin.css';
3 |
4 | //import Register from '../components/Register';
5 |
6 | export default function Mainlogin() {
7 | // const register = console.log("Hai");
8 | return (
9 |
10 | {/*
*/}
11 |
12 |
13 |
14 |
Are you an Admin ?
15 |
16 |
20 |
21 | );
22 | }
--------------------------------------------------------------------------------
/src/components/Sidebar.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Link } from 'react-router-dom';
3 |
4 | function Sidebar() {
5 | return (
6 |
7 | Task Dashboard
8 |
9 |
10 | Create Task
11 |
12 |
13 | Track Progress
14 |
15 |
16 |
17 | );
18 | }
19 |
20 | export default Sidebar;
21 |
--------------------------------------------------------------------------------
/src/components/Userdashboard.css:
--------------------------------------------------------------------------------
1 | /* Dashboard.css */
2 |
3 | .dashboard {
4 | background-color: #333; /* Background color for the sidebar */
5 | color: #fff; /* Text color */
6 | width: 250px; /* Width of the sidebar */
7 | height: 100%; /* Full height of the sidebar */
8 | position: fixed; /* Fixed position to keep the sidebar visible */
9 | top: 0;
10 | left: 0;
11 | padding: 20px;
12 | }
13 |
14 | .dashboard h1 {
15 | font-size: 24px;
16 | margin-bottom: 20px;
17 | }
18 |
19 | .nav-links1 {
20 | margin-top: 40px;
21 | list-style-type: none;
22 | padding: 0;
23 | display: flex;
24 | flex-direction: column;
25 | }
26 |
27 | .nav-links1 li {
28 | margin-bottom: 10px;
29 | }
30 |
31 | .nav-links1 a {
32 | text-decoration: none;
33 | color: #fff;
34 | font-weight: bold;
35 | font-size: 16px;
36 | }
37 |
38 | .nav-links1 a:hover {
39 | text-decoration: underline;
40 | }
41 |
42 |
43 | .content {
44 | margin-left: 250px;
45 | padding: 20px;
46 | background-color: #f4f4f4;}
47 |
--------------------------------------------------------------------------------
/src/components/Userdashboard.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import './Admindashboard.css';
3 | import { Link } from 'react-router-dom';
4 |
5 | const Dashboard = () => {
6 | return (
7 |
8 | Your Dashboard
9 |
10 |
11 | View Task
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Calendar
20 |
21 |
22 |
23 | );
24 | };
25 |
26 | export default Dashboard;
27 |
--------------------------------------------------------------------------------
/src/components/Usestate.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { useState } from 'react'
3 | export default function Usestate() {
4 | const [value,setValue]=useState(0);
5 | const update=()=>{
6 | setValue(value+1);
7 | };
8 | return (
9 |
10 |
Count:{value}
11 |
Count
12 |
13 | )
14 | }
15 |
--------------------------------------------------------------------------------
/src/components/about.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/about.jpg
--------------------------------------------------------------------------------
/src/components/adminimg.jfif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/adminimg.jfif
--------------------------------------------------------------------------------
/src/components/alback.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/alback.jpeg
--------------------------------------------------------------------------------
/src/components/back.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/back.jpg
--------------------------------------------------------------------------------
/src/components/checked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/checked.png
--------------------------------------------------------------------------------
/src/components/empimg.avif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/empimg.avif
--------------------------------------------------------------------------------
/src/components/empimg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/empimg.jpg
--------------------------------------------------------------------------------
/src/components/empimg.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/empimg.webp
--------------------------------------------------------------------------------
/src/components/headerimg.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/headerimg.jpeg
--------------------------------------------------------------------------------
/src/components/headerimg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/headerimg.jpg
--------------------------------------------------------------------------------
/src/components/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/icon.png
--------------------------------------------------------------------------------
/src/components/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/logo.jpg
--------------------------------------------------------------------------------
/src/components/pexels.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/pexels.jpg
--------------------------------------------------------------------------------
/src/components/register.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/register.jpg
--------------------------------------------------------------------------------
/src/components/register.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/register.png
--------------------------------------------------------------------------------
/src/components/time.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/time.jpg
--------------------------------------------------------------------------------
/src/components/unchecked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradeksha12/Task_management_frontend_redux/1cf3a7a746a1e90c2937b94a59366f69d1a74feb/src/components/unchecked.png
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom/client';
3 | import './index.css';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 | import { Provider } from 'react-redux'
7 | import store from './store'
8 |
9 | const root = ReactDOM.createRoot(document.getElementById('root'));
10 | root.render(
11 |
12 |
13 |
14 |
15 | );
16 |
17 | // If you want to start measuring performance in your app, pass a function
18 | // to log results (for example: reportWebVitals(console.log))
19 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
20 | reportWebVitals();
21 |
--------------------------------------------------------------------------------
/src/logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/store.js:
--------------------------------------------------------------------------------
1 | import { createStore, combineReducers } from 'redux';
2 | import { taskReducer, viewTaskReducer } from './components/Dashboardtasks/reducers';
3 |
4 | const rootReducer = combineReducers({
5 | tasks: taskReducer,
6 | viewTasks: viewTaskReducer,
7 | });
8 |
9 | const store = createStore(rootReducer);
10 |
11 | export default store;
--------------------------------------------------------------------------------