diff --git a/client/src/App/App.styles.scss b/client/src/App/App.styles.scss index 30257838c..79abc2ba1 100644 --- a/client/src/App/App.styles.scss +++ b/client/src/App/App.styles.scss @@ -47,3 +47,20 @@ line-height: 1rem; } } + +::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + border-radius: 0.2rem; + background-color: #f5f5f5; +} + +::-webkit-scrollbar { + width: .25rem; + background-color: #f5f5f5; +} + +::-webkit-scrollbar-thumb { + border-radius: 0.2rem; + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + background-color: #188fff; +} diff --git a/client/src/components/chat-messages-list/chat-message-list.component.jsx b/client/src/components/chat-messages-list/chat-message-list.component.jsx index 24f954539..2f08657fa 100644 --- a/client/src/components/chat-messages-list/chat-message-list.component.jsx +++ b/client/src/components/chat-messages-list/chat-message-list.component.jsx @@ -1,6 +1,6 @@ import Icon from "@ant-design/icons"; -import { FaCheck, FaCheckDouble } from "react-icons/fa"; import React, { useEffect, useRef } from "react"; +import { FaCheck, FaCheckDouble } from "react-icons/fa"; import { AutoSizer, CellMeasurer, @@ -8,7 +8,6 @@ import { List, } from "react-virtualized"; import "./chat-message-list.styles.scss"; -import { urlencoded } from "body-parser"; export default function ChatMessageListComponent({ messages }) { const virtualizedListRef = useRef(null); @@ -23,7 +22,7 @@ export default function ChatMessageListComponent({ messages }) { //console.log("Scrolling to", messages.length); // !!virtualizedListRef.current && // virtualizedListRef.current.scrollToRow(messages.length); - //TODO Outstanding isue on virtualization: https://github.com/bvaughn/react-virtualized/issues/1179 + // Outstanding isue on virtualization: https://github.com/bvaughn/react-virtualized/issues/1179 //Scrolling does not work on this version of React. }; @@ -75,7 +74,11 @@ const MessageRender = (message) => { if (message.image) { return ( - + Received ); } else { diff --git a/client/src/components/jobs-create-owner-info/jobs-create-owner-info.new.component.jsx b/client/src/components/jobs-create-owner-info/jobs-create-owner-info.new.component.jsx index 92eb2b03c..2dfc4d4e4 100644 --- a/client/src/components/jobs-create-owner-info/jobs-create-owner-info.new.component.jsx +++ b/client/src/components/jobs-create-owner-info/jobs-create-owner-info.new.component.jsx @@ -101,11 +101,16 @@ export default function JobsCreateOwnerInfoNewComponent() { message: "This is not a valid email address.", }, ]} - name={["owner", "data", "ownr_ea"]}> - + name={["owner", "data", "ownr_ea"]} + shouldUpdate> + {() => { + return ( + + ); + }} item.id === values.id)[0] || null, diff --git a/client/src/components/schedule-job-modal/schedule-job-modal.container.jsx b/client/src/components/schedule-job-modal/schedule-job-modal.container.jsx index 98ccdce97..18b9eb5fc 100644 --- a/client/src/components/schedule-job-modal/schedule-job-modal.container.jsx +++ b/client/src/components/schedule-job-modal/schedule-job-modal.container.jsx @@ -63,7 +63,6 @@ export function ScheduleJobModalContainer({ skip: !visible || !!!jobId, }); - //TODO Customize the amount of minutes it will add. const handleOk = async () => { setLoading(true); if (!!previousEvent) { diff --git a/client/src/components/shop-employees/shop-employees-form.component.jsx b/client/src/components/shop-employees/shop-employees-form.component.jsx index cab0980ca..58178ccac 100644 --- a/client/src/components/shop-employees/shop-employees-form.component.jsx +++ b/client/src/components/shop-employees/shop-employees-form.component.jsx @@ -1,9 +1,28 @@ -import { Button, DatePicker, Form, Input, InputNumber, Switch } from "antd"; +import { + Button, + DatePicker, + Form, + Input, + InputNumber, + Select, + Switch, +} from "antd"; import moment from "moment"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; +import { connect } from "react-redux"; +import { createStructuredSelector } from "reselect"; +import { selectBodyshop } from "../../redux/user/user.selectors"; -export default function ShopEmployeesFormComponent({ +const mapStateToProps = createStructuredSelector({ + bodyshop: selectBodyshop, +}); +const mapDispatchToProps = (dispatch) => ({ + //setUserLanguage: language => dispatch(setUserLanguage(language)) +}); + +export function ShopEmployeesFormComponent({ + bodyshop, form, selectedEmployee, handleFinish, @@ -117,7 +136,13 @@ export default function ShopEmployeesFormComponent({ message: t("general.validation.required"), }, ]}> - + ); } +export default connect( + mapStateToProps, + mapDispatchToProps +)(ShopEmployeesFormComponent); diff --git a/client/src/pages/manage/manage.page.component.jsx b/client/src/pages/manage/manage.page.component.jsx index 4c9ac14ae..35d9abc51 100644 --- a/client/src/pages/manage/manage.page.component.jsx +++ b/client/src/pages/manage/manage.page.component.jsx @@ -145,11 +145,10 @@ export function Manage({ match, conflict }) { }, [t]); return ( - + - - + {conflict ? ( @@ -158,8 +157,7 @@ export function Manage({ match, conflict }) { - } - > + }> @@ -331,13 +329,8 @@ export function Manage({ match, conflict }) { + Some footer - - { - // - } ); } diff --git a/ecosystem.config.js b/ecosystem.config.js index 672cc8b67..a15cfbb49 100644 --- a/ecosystem.config.js +++ b/ecosystem.config.js @@ -4,9 +4,16 @@ module.exports = { name: "ImEX Online API", script: "./server.js", watch: true, + watch_delay: 1000, + ignore_watch: ["node_modules", "client/img"], + watch_options: { + followSymlinks: false, + }, env: { NODE_ENV: "production", }, + instances: "max", + exec_mode: "cluster", }, ], };