diff --git a/backend/package.json b/backend/package.json index b9dd70b..bacb9d8 100644 --- a/backend/package.json +++ b/backend/package.json @@ -22,6 +22,7 @@ "@types/pino": "^6.3.4", "axios": "^1.2.3", "bcryptjs": "^2.4.3", + "compression": "^1.7.4", "cookie-parser": "^1.4.5", "cors": "^2.8.5", "date-fns": "^2.30.0", @@ -55,9 +56,9 @@ "yup": "^0.32.8" }, "devDependencies": { - "@types/lodash": "4.14", "@types/bcryptjs": "^2.4.2", "@types/bluebird": "^3.5.32", + "@types/compression": "^1.7.5", "@types/cookie-parser": "^1.4.2", "@types/cors": "^2.8.7", "@types/express": "^4.17.13", @@ -65,6 +66,7 @@ "@types/faker": "^5.1.3", "@types/jest": "^26.0.15", "@types/jsonwebtoken": "^8.5.0", + "@types/lodash": "4.14", "@types/multer": "^1.4.4", "@types/node": "^14.11.8", "@types/supertest": "^2.0.10", diff --git a/backend/src/app.ts b/backend/src/app.ts index fea4c81..7fe1d45 100644 --- a/backend/src/app.ts +++ b/backend/src/app.ts @@ -11,6 +11,7 @@ import uploadConfig from "./config/upload"; import AppError from "./errors/AppError"; import routes from "./routes"; import { logger } from "./utils/logger"; +import compression from 'compression'; Sentry.init({ dsn: process.env.SENTRY_DSN }); @@ -23,6 +24,7 @@ app.use( }) ); +app.use(compression()); app.use(cookieParser()); app.use(express.json()); app.use(Sentry.Handlers.requestHandler()); diff --git a/frontend/src/routes/Route.js b/frontend/src/routes/Route.js index fab61b3..91ce315 100644 --- a/frontend/src/routes/Route.js +++ b/frontend/src/routes/Route.js @@ -1,9 +1,14 @@ -import React, { useContext } from "react"; +import React, { useContext, Suspense, lazy } from "react"; import { Route as RouterRoute, Redirect } from "react-router-dom"; import { AuthContext } from "../context/Auth/AuthContext"; import BackdropLoading from "../components/BackdropLoading"; +// Exemplo de como vocĂȘ carregaria componentes de forma lazy +const Dashboard = lazy(() => import("../pages/Dashboard")); +const Login = lazy(() => import("../pages/Login")); +const Signup = lazy(() => import("../pages/Signup")); + const Route = ({ component: Component, isPrivate = false, ...rest }) => { const { isAuth, loading } = useContext(AuthContext); @@ -20,7 +25,7 @@ const Route = ({ component: Component, isPrivate = false, ...rest }) => { return ( <> {loading && } - ; + ); } @@ -28,9 +33,11 @@ const Route = ({ component: Component, isPrivate = false, ...rest }) => { return ( <> {loading && } - + }> + + ); }; -export default Route; +export default Route; \ No newline at end of file diff --git a/frontend/src/routes/index.js b/frontend/src/routes/index.js index 3400c44..8f053a4 100644 --- a/frontend/src/routes/index.js +++ b/frontend/src/routes/index.js @@ -1,94 +1,85 @@ -import React from 'react' +import React, { Suspense, lazy } from 'react'; import { BrowserRouter, Switch } from 'react-router-dom' import { ToastContainer } from 'react-toastify' -import LoggedInLayout from '../layout' -import Dashboard from '../pages/Dashboard/' - -import Report from '../pages/Report/' -import SchedulesReminder from '../pages/SchedulesReminder/' - -import Tickets from '../pages/Tickets/' -import Signup from '../pages/Signup/' -import Login from '../pages/Login/' -import Connections from '../pages/Connections/' -import Campaign from '../pages/Campaign' -import Settings from '../pages/Settings/' -import Users from '../pages/Users' -import Contacts from '../pages/Contacts/' -import QuickAnswers from '../pages/QuickAnswers/' -import StatusChatEnd from '../pages/StatusChatEnd/' -import Position from '../pages/Position/' - -import Queues from '../pages/Queues/' import { AuthProvider } from '../context/Auth/AuthContext' import { WhatsAppsProvider } from '../context/WhatsApp/WhatsAppsContext' +import LoggedInLayout from '../layout' import Route from './Route' +import BackdropLoading from "../components/BackdropLoading"; + +const Dashboard = lazy(() => import('../pages/Dashboard/')); +const Report = lazy(() => import('../pages/Report/')); +const SchedulesReminder = lazy(() => import('../pages/SchedulesReminder/')); +const Tickets = lazy(() => import('../pages/Tickets/')); +const Signup = lazy(() => import('../pages/Signup/')); +const Login = lazy(() => import('../pages/Login/')); +const Connections = lazy(() => import('../pages/Connections/')); +const Campaign = lazy(() => import('../pages/Campaign/')); +const Settings = lazy(() => import('../pages/Settings/')); +const Users = lazy(() => import('../pages/Users/')); +const Contacts = lazy(() => import('../pages/Contacts/')); +const QuickAnswers = lazy(() => import('../pages/QuickAnswers/')); +const StatusChatEnd = lazy(() => import('../pages/StatusChatEnd/')); +const Position = lazy(() => import('../pages/Position/')); +const Queues = lazy(() => import('../pages/Queues/')); const Routes = () => { return ( - - - - - - - - - - - - - - - - - - - - - - - - - - + }> + + + + + + + + + + + + + + + + + + + + + + - ) + ); } export default Routes diff --git a/package-lock.json b/package-lock.json index f1ff13b..e17b739 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "whaticket", + "name": "projeto-hit", "lockfileVersion": 2, "requires": true, "packages": {