diff --git a/hr-resource/package.json b/hr-resource/package.json index d383116..2b1aa69 100644 --- a/hr-resource/package.json +++ b/hr-resource/package.json @@ -11,7 +11,7 @@ "prisma:generate": "prisma generate", "prisma:migrate": "prisma migrate deploy", "prisma:reset": "prisma migrate reset", - "prisma:seed": "prisma db seed", + "prisma:seed": "prisma db seed", "codegen": "graphql-codegen --config codegen.ts", "start:dev": "npm run build && npm run start", "start:prod": "npm run test && npm run prisma:migrate && npm run prisma:seed && node .", diff --git a/kaya-landing/.env.template b/kaya-landing/.env.template new file mode 100644 index 0000000..ea0cebf --- /dev/null +++ b/kaya-landing/.env.template @@ -0,0 +1,6 @@ +PUBLIC_URL=/ +REACT_APP_PORTAL_HR_DOMAIN=http://localhost:3000/hr-panel +REACT_APP_PORTAL_ADMIN_DOMAIN=http://localhost:3001/admin +REACT_APP_PORTAL_EMPLOYEE_DOMAIN=http://localhost:3002/employee +REACT_APP_PAYPAL_CLIENT_ID=client-id +REACT_APP_PAYPAL_CURRENCY=CAD diff --git a/kaya-landing/package-lock.json b/kaya-landing/package-lock.json index 54bcc53..b9d0979 100644 --- a/kaya-landing/package-lock.json +++ b/kaya-landing/package-lock.json @@ -13,7 +13,7 @@ "@fontsource/roboto": "^5.0.8", "@mui/icons-material": "^5.15.13", "@mui/material": "^5.15.13", - "@mui/styles": "^5.15.9", + "@paypal/react-paypal-js": "^8.2.0", "@reduxjs/toolkit": "^2.1.0", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", @@ -3725,46 +3725,6 @@ } } }, - "node_modules/@mui/styles": { - "version": "5.15.14", - "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-5.15.14.tgz", - "integrity": "sha512-EspFoCqLf3BadSIRM5dBqrrbE0hioI6/YZXDGzvcPsedQ7j7wAdcIs9Ex6TVqrRUADNWI/Azg6/mhcqWiBDFOg==", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@emotion/hash": "^0.9.1", - "@mui/private-theming": "^5.15.14", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "clsx": "^2.1.0", - "csstype": "^3.1.3", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.10.0", - "jss-plugin-camel-case": "^10.10.0", - "jss-plugin-default-unit": "^10.10.0", - "jss-plugin-global": "^10.10.0", - "jss-plugin-nested": "^10.10.0", - "jss-plugin-props-sort": "^10.10.0", - "jss-plugin-rule-value-function": "^10.10.0", - "jss-plugin-vendor-prefixer": "^10.10.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@mui/system": { "version": "5.15.14", "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.14.tgz", @@ -3904,6 +3864,35 @@ "node": ">= 8" } }, + "node_modules/@paypal/paypal-js": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@paypal/paypal-js/-/paypal-js-8.0.4.tgz", + "integrity": "sha512-91g5fhRBHGEBoikDzQT6uBn3PzlJQ75g0c3MvqVJqN0XRm5kHa9wz+6+Uaq8QQuxRzz5C2x55Zg057CW6EuwpQ==", + "dependencies": { + "promise-polyfill": "^8.3.0" + } + }, + "node_modules/@paypal/react-paypal-js": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@paypal/react-paypal-js/-/react-paypal-js-8.2.0.tgz", + "integrity": "sha512-SworUfu0BNNcqoh0O53Ke4MFpx2m3qJRu3hayXvlluEEXJpKqGSV5aaSGFhbsZqi8hnbsx/hZR7BQbmqsggiGQ==", + "dependencies": { + "@paypal/paypal-js": "^8.0.4", + "@paypal/sdk-constants": "^1.0.122" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@paypal/sdk-constants": { + "version": "1.0.145", + "resolved": "https://registry.npmjs.org/@paypal/sdk-constants/-/sdk-constants-1.0.145.tgz", + "integrity": "sha512-2tclrVX3L44YRJ09H4kkqma/UeAjRJarwH5SyPip10O5S+2ByE1HiyspAJ6hIWSjMngFVqjNyUCnrGcuQA3ldg==", + "dependencies": { + "hi-base32": "^0.5.0" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -6943,15 +6932,6 @@ "node": ">=0.10.0" } }, - "node_modules/css-vendor": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", - "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", - "dependencies": { - "@babel/runtime": "^7.8.3", - "is-in-browser": "^1.0.2" - } - }, "node_modules/css-what": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", @@ -9397,6 +9377,11 @@ "he": "bin/he" } }, + "node_modules/hi-base32": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", + "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" + }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -9655,11 +9640,6 @@ "node": ">=10.17.0" } }, - "node_modules/hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -10014,11 +9994,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" - }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -12387,88 +12362,6 @@ "node": ">=0.10.0" } }, - "node_modules/jss": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz", - "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "csstype": "^3.0.2", - "is-in-browser": "^1.1.3", - "tiny-warning": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/jss" - } - }, - "node_modules/jss-plugin-camel-case": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz", - "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "hyphenate-style-name": "^1.0.3", - "jss": "10.10.0" - } - }, - "node_modules/jss-plugin-default-unit": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz", - "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.10.0" - } - }, - "node_modules/jss-plugin-global": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz", - "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.10.0" - } - }, - "node_modules/jss-plugin-nested": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz", - "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.10.0", - "tiny-warning": "^1.0.2" - } - }, - "node_modules/jss-plugin-props-sort": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz", - "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.10.0" - } - }, - "node_modules/jss-plugin-rule-value-function": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz", - "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.10.0", - "tiny-warning": "^1.0.2" - } - }, - "node_modules/jss-plugin-vendor-prefixer": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz", - "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "css-vendor": "^2.0.8", - "jss": "10.10.0" - } - }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -14927,6 +14820,11 @@ "asap": "~2.0.6" } }, + "node_modules/promise-polyfill": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.3.0.tgz", + "integrity": "sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg==" + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -17150,11 +17048,6 @@ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", diff --git a/kaya-landing/package.json b/kaya-landing/package.json index 4f3b6ec..fea67b9 100644 --- a/kaya-landing/package.json +++ b/kaya-landing/package.json @@ -8,7 +8,7 @@ "@fontsource/roboto": "^5.0.8", "@mui/icons-material": "^5.15.13", "@mui/material": "^5.15.13", - "@mui/styles": "^5.15.9", + "@paypal/react-paypal-js": "^8.2.0", "@reduxjs/toolkit": "^2.1.0", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", diff --git a/kaya-landing/src/index.jsx b/kaya-landing/src/index.jsx index 9bfb63c..937a549 100644 --- a/kaya-landing/src/index.jsx +++ b/kaya-landing/src/index.jsx @@ -2,6 +2,7 @@ import '@fontsource/roboto/300.css'; import '@fontsource/roboto/400.css'; import '@fontsource/roboto/500.css'; import '@fontsource/roboto/700.css'; +import { PayPalScriptProvider } from '@paypal/react-paypal-js'; import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App'; @@ -12,7 +13,12 @@ const root = ReactDOM.createRoot( ); root.render( - + + + ); diff --git a/kaya-landing/src/pages/ContactUsPage.jsx b/kaya-landing/src/pages/ContactUsPage.jsx index 76e9f07..a1c716a 100644 --- a/kaya-landing/src/pages/ContactUsPage.jsx +++ b/kaya-landing/src/pages/ContactUsPage.jsx @@ -1,139 +1,55 @@ import CallIcon from '@mui/icons-material/Call'; import EmailIcon from '@mui/icons-material/Email'; -import { Box, Container, Typography } from '@mui/material'; -import { makeStyles } from '@mui/styles'; +import { Avatar, Box, Card, CardContent, Container, Typography } from '@mui/material'; +import Link from '@mui/material/Link'; +import Grid2 from '@mui/material/Unstable_Grid2/Grid2'; import React from 'react'; +import { Link as RouterLink } from 'react-router-dom'; - -const useStyles = makeStyles(() => ({ - section: { - display: 'flex', - textAlign: 'center', - position: 'relative', - marginTop: '50px', - justifyContent:'space-around', - flexWrap:'wrap' - }, - item: { - border: '1px solid black', - padding: '50px 40px', - backgroundColor: '#ffffff', - marginTop:'50px', - marginBottom: '1.25rem', - maxWidth: '270px', - height: '20rem', - borderRadius: '0.5rem', - color: "black", - position: 'relative', - boxShadow: '0 2px 2px 0 rgba(0, 0, 0, 0.1), 0px 10px 10px 0 rgba(0, 0, 0, 0.1)', - - }, - title: { - fontSize: '22px', - fontWeight: 600, - margin: 0, - color: '#0e224a', - marginTop: '1rem', - }, - text: { - fontSize: '1rem', - fontWeight: 400, - lineHeight: '1.5rem', - padding: '5px', - marginTop: '10px', - }, - icon: { - display: 'flex', - justifyContent: 'center', - alignItems: 'center', - height: '5rem', - width: '5rem', - borderRadius: '50%', - position: 'absolute', - top: '-50px', - left: '50%', - transform: 'translateX(-50%)', - overflowX: 'visible', - }, - vector: { - width: '2.5rem', - position: 'relative', - top: '1.25rem', - }, - siteHeading: { - // marginBottom: "60px", - overflow: "hidden", - marginTop: "3%", - }, - siteHeadingH2: { - display: "block", - fontWeight: 700, - marginBottom: "10px", - textTransform: "uppercase", - }, - siteHeadingSpan: { - color: "#6e11e4", - }, - siteHeadingH4: { - display: "inline-block", - paddingBottom: "20px", - position: "relative", - textTransform: "capitalize", - zIndex: 1, - }, - siteHeadingH4Before: { - background: "#6e11e4", - bottom: 0, - content: '""', - height: "2px", - left: "50%", - marginLeft: "-25px", - position: "absolute", - width: "50px", - } -})); - -const ContactUsPage = () => { - const classes = useStyles(); - +export default function ContactUsPage() { return ( - <> - - - Contact Kaya - - - We are here to help - + + + + Contact Kaya + We are here to help - - -
-
-
- -
- Call Us - For inquiries or assistance, We'll be happy to provide you with information and support tailored to your needs. - +1(230) 987 8765 -
- -
-
- - - -
- Ask a Question - For inquiries or assistance, We'll be happy to provide you with information and support tailored to your needs. - kaya@example.com -
-
-
- + + + + + + + + + Call Us + + For inquiries or assistance, We'll be happy to provide you with information and support tailored to your needs. + + +1 (230) 987-8765 + + + + + + + + + + + + Ask a Question + + For inquiries or assistance, We'll be happy to provide you with information and support tailored to your needs. + + kaya@example.com + + + + + +
); }; - -export default ContactUsPage; diff --git a/kaya-landing/src/pages/FeaturesPage.jsx b/kaya-landing/src/pages/FeaturesPage.jsx index 5d9d36c..3ba4a28 100644 --- a/kaya-landing/src/pages/FeaturesPage.jsx +++ b/kaya-landing/src/pages/FeaturesPage.jsx @@ -1,168 +1,99 @@ import AcUnitIcon from '@mui/icons-material/AcUnit'; import GroupsIcon from "@mui/icons-material/Groups"; import LocalAtmIcon from '@mui/icons-material/LocalAtm'; -import { - Box, - Container, - Grid, - ThemeProvider, - Typography, - createTheme, -} from "@mui/material"; -import { makeStyles } from "@mui/styles"; +import { Box, Container, Typography } from "@mui/material"; +import Grid2 from '@mui/material/Unstable_Grid2/Grid2'; import React from "react"; - -const theme = createTheme({ - palette: { - primary: { - main: "#6e11e4", // primary color - }, - secondary: { - main: "#ccacf7", // secondary color - }, - }, -}); - -const useStyles = makeStyles((theme) => ({ - section: { - padding: "60px 0", - minHeight: "100vh", - }, - siteHeading: { - marginBottom: "60px", - overflow: "hidden", - marginTop: "-5px", - }, - siteHeadingH2: { - display: "block", - fontWeight: 700, - marginBottom: "10px", - textTransform: "uppercase", - }, - siteHeadingSpan: { - color: "#6e11e4", - }, - siteHeadingH4: { - display: "inline-block", - paddingBottom: "20px", - position: "relative", - textTransform: "capitalize", - zIndex: 1, - }, - siteHeadingH4Before: { - background: "#6e11e4", - bottom: 0, - content: '""', - height: "2px", - left: "50%", - marginLeft: "-25px", - position: "absolute", - width: "50px", - }, - item: { - padding: "15px 30px", - }, - icon: { - marginBottom: "20px", - }, - iconCircle: { - background: "#fff", - borderRadius: "50%", - boxShadow: "0 0 10px #cccccc", - color: "#ffaf5a", - display: "inline-block", - fontSize: "30px", - height: "100px", - lineHeight: "100px", - position: "relative", - textAlign: "center", - width: "100px", - zIndex: 1, - }, - infoH4: { - fontWeight: 600, - textTransform: "capitalize", - fontSize: "20px", - }, -})); - function FeaturesPage() { - const classes = useStyles(); - return ( + + + + Our Features + + Checkout our latest features + - <> - -
- - - - Our Features - - - Checkout our latest features - - + + + + + + + + + Employee Information Management + + + This includes storing and managing employee data such as + personal details, contact information, employment history, + skills, qualifications, and performance records. + + + + + + + + + + + + + Payroll Management + + + This function involves processing employee salaries, wages, + bonuses, deductions, and taxes. It may also generate pay + slips and handle direct deposits. + + + + + + + + + + + + Time and Attendance Tracking + + + This feature allows employees to log their working hours, + track attendance, manage leave requests, and monitor overtime. + + - - - - - - - - - Employee Information Management - - - This includes storing and managing employee data such as - personal details, contact information, employment history, - skills, qualifications, and performance records. - - - - - - - - - - - - - Payroll Management - - - This function involves processing employee salaries, wages, - bonuses, deductions, and taxes. It may also generate pay - slips and handle direct deposits. - - - - - - - - - - - - Time and Attendance Tracking - - - This feature allows employees to log their working hours, - track attendance, manage leave requests, and monitor overtime. - - - - - - -
-
- + + +
); } -export default FeaturesPage; \ No newline at end of file +export default FeaturesPage; diff --git a/kaya-landing/src/pages/PricingPage.jsx b/kaya-landing/src/pages/PricingPage.jsx index 19689f4..51fcb32 100644 --- a/kaya-landing/src/pages/PricingPage.jsx +++ b/kaya-landing/src/pages/PricingPage.jsx @@ -1,241 +1,104 @@ -import { Box, Button, Container, Grid, List, ListItem, ListItemIcon, ListItemText, Typography } from '@mui/material'; -import { createTheme } from '@mui/material/styles'; -import { makeStyles } from '@mui/styles'; +import { CheckCircle } from '@mui/icons-material'; +import Box from '@mui/material/Box'; +import Card from '@mui/material/Card'; +import CardActionArea from '@mui/material/CardActionArea'; +import CardContent from '@mui/material/CardContent'; +import CardMedia from '@mui/material/CardMedia'; +import Container from '@mui/material/Container'; +import List from '@mui/material/List'; +import ListItem from '@mui/material/ListItem'; +import ListItemIcon from '@mui/material/ListItemIcon'; +import ListItemText from '@mui/material/ListItemText'; +import Typography from '@mui/material/Typography'; +import Grid2 from '@mui/material/Unstable_Grid2/Grid2'; import React from 'react'; - -const theme = createTheme(); -const useStyles = makeStyles(() => ({ - root: { - paddingTop: '100px', - paddingBottom: '100px', - display: 'flex', - justifyContent: 'center', - alignItems: 'center', - }, - box: { - height: '556px', - width: '300px', - borderRadius: '20px', - margin: "auto", - background: '#FFF', - boxShadow: '0 1rem 2rem rgba(0, 0, 0, 20%)', - [theme.breakpoints.down('md')]: { - height: '600px', - overflowY: 'auto', - }, - }, - title: { - width: '100%', - padding: '10px 0', - fontSize: '1.2em', - fontWeight: 'lighter', - textAlign: 'center', - borderTopLeftRadius: '20px', - borderTopRightRadius: '20px', - background: '#6e11e4', - color: '#F5F5F4', - }, - view: { - width: '100%', - padding: '30px 0 20px', - background: '#F5F5F4', - }, - icon: { - display: 'flex', - justifyContent: 'center', - }, - iconImg: { - width: '70px', - }, - cost: { - display: 'flex', - justifyContent: 'center', - flexDirection: 'row', - marginTop: '10px', - }, - amount: { - fontSize: '2.8em', - fontWeight: 'bolder', - }, - detail: { - margin: 'auto 0 auto 5px', - width: '70px', - fontSize: '0.7em', - fontWeight: 'bold', - lineHeight: '15px', - color: '#000', - }, - description: { - margin: '30px auto', - fontSize: '0.8em', - color: '#000', - }, - button: { - margin: '0 auto 30px', - }, - siteHeading: { - overflow: "hidden", - marginTop: "3%", - }, - siteHeadingH2: { - display: "block", - fontWeight: 700, - marginBottom: "10px", - textTransform: "uppercase", - }, - siteHeadingSpan: { - color: "#6e11e4", - }, - siteHeadingH4: { - display: "inline-block", - paddingBottom: "20px", - position: "relative", - textTransform: "capitalize", - zIndex: 1, - }, - siteHeadingH4Before: { - background: "#6e11e4", - bottom: 0, - content: '""', - height: "2px", - left: "50%", - marginLeft: "-25px", - position: "absolute", - width: "50px", - }, -})); - -const PricingPage = () => { - const classes = useStyles(); - +export default function PricingPage() { return ( - <> - - - Our Pricing - - - Checkout our premium memberships - + + + + Our Pricing + Check out our premium memberships - - - - - - Basic - - - - hot-air-balloon - - - - FREE - - - - - - + + + + + + + Basic - {['20 Employees', 'Free Training', 'Employee Schedule'].map((text, index) => ( - + {['20 Employees', 'Free Training', 'Employee Schedule', 'Limited Support'].map((text, index) => ( + - check + ))} - - - - - - - - - - Small Businesses - - - - hot-air-balloon - - - - $49.99 - - - /month - - - - + Free + + + + + + + + + + Silver - {['All Basic Futures', '100 Employees', 'Payroll / Payout'].map((text, index) => ( - + {['Unlimited Employees', 'Pro Training', 'Employee Schedule', 'Daily Support'].map((text, index) => ( + - check + ))} - - - - - - - - - - Enterprise - - - - hot-air-balloon - - - - $199.99 - - - - - - - + $29.99 + + + + + + + + + + Gold - {['All Basic Features', 'Unlimited Employees', '24*7 Customer Support'].map((text, index) => ( - + {['Unlimited Employees', 'Pro Training', 'Employee Schedule', 'Advanced Support'].map((text, index) => ( + - check + ))} - - - - - - - - - + $49.99 + + + + + + ); }; - -export default PricingPage; diff --git a/kaya-landing/src/shared/RootLayout.jsx b/kaya-landing/src/shared/RootLayout.jsx index a92732f..509bce8 100644 --- a/kaya-landing/src/shared/RootLayout.jsx +++ b/kaya-landing/src/shared/RootLayout.jsx @@ -1,76 +1,162 @@ -import React from 'react'; -import CssBaseline from '@mui/material/CssBaseline'; +import MenuIcon from '@mui/icons-material/Menu'; import AppBar from '@mui/material/AppBar'; import Box from '@mui/material/Box'; -import Toolbar from '@mui/material/Toolbar'; +import Button from '@mui/material/Button'; +import Container from '@mui/material/Container'; +import CssBaseline from '@mui/material/CssBaseline'; +import Divider from '@mui/material/Divider'; +import IconButton from '@mui/material/IconButton'; +import List from '@mui/material/List'; +import ListItemButton from '@mui/material/ListItemButton'; +import ListSubheader from '@mui/material/ListSubheader'; import Menu from '@mui/material/Menu'; import MenuItem from '@mui/material/MenuItem'; -import MenuIcon from '@mui/icons-material/Menu'; -import Button from '@mui/material/Button'; +import Stack from '@mui/material/Stack'; +import Toolbar from '@mui/material/Toolbar'; +import Typography from '@mui/material/Typography'; +import Grid2 from '@mui/material/Unstable_Grid2/Grid2'; import { ThemeProvider } from '@mui/material/styles'; +import { PayPalButtons } from '@paypal/react-paypal-js'; +import React, { useState } from 'react'; import { Outlet } from "react-router"; -import { useMaterialTheme } from "../lib/material-theme"; -import { IconButton } from '@mui/material'; import { useNavigate } from 'react-router-dom'; import logo from '../assets/logo-full.svg'; +import { useMaterialTheme } from "../lib/material-theme"; export default function Layout() { const materialTheme = useMaterialTheme(); const navigate = useNavigate(); - const [anchorEl, setAnchorEl] = React.useState(null); - const open = Boolean(anchorEl); + const [menuAnchorEl, setMenuAnchorEl] = useState(null); + const open = Boolean(menuAnchorEl); + const handleClick = (event) => { - setAnchorEl(event.currentTarget); + setMenuAnchorEl(event.currentTarget); }; const redirectAndClose = (path) => { navigate(path); - setAnchorEl(null); + setMenuAnchorEl(null); }; return ( - - logo - + + logo + - - + + + - - - Home - About - Pricing - Features - Contact us - + + + {process.env.REACT_APP_PORTAL_HR_DOMAIN && + HR Panel + } + {process.env.REACT_APP_PORTAL_EMPLOYEE_DOMAIN && + Employee Client + } + {process.env.REACT_APP_PORTAL_ADMIN_DOMAIN && + Admin Panel + } + + + Home + About + Pricing + Features + Contact us + + + + + + + logo + + + Pages}> + Home + About + Pricing + Features + Contact us + + + + Console}> + + HR Panel + + + Admin Panel + + + Employee Client + + + + + + + © 2022 Kaya. All rights reserved. + + + ); }