diff --git a/package.json b/package.json index 9dc8e07..18812a0 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,8 @@ "@mui/icons-material": "^5.11.16", "@mui/lab": "^5.0.0-alpha.152", "@mui/material": "^5.12.0", + "@witel/webapp-builder": "^1.2.3", "@mui/x-date-pickers": "^6.18.5", - "@witel/webapp-builder": "^1.1.0", "axios": "^1.4.0", "colord": "^2.9.3", "date-fns-jalali": "^2.13.0-0", diff --git a/public/config.json.example b/public/config.json.example index 59e8e23..abeeda5 100644 --- a/public/config.json.example +++ b/public/config.json.example @@ -1,4 +1,5 @@ { + "middlewares": {}, "time_lines": { "navgan_first_page": [ { diff --git a/public/images/bg-firstpage-bus.png b/public/images/bg-firstpage-bus.png new file mode 100644 index 0000000..276d67b Binary files /dev/null and b/public/images/bg-firstpage-bus.png differ diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index fef9ea8..c6999fb 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -12,6 +12,7 @@ "first_page": "خوش آمدید", "powered_by_witel": "توسعه یافته توسط وایتل", "login": "ورود", + "today": "امروز", "pending": "درحال اجرا...", "login_user_panel": "ورود به پنل کاربران", "register_navy": "ثبت نام اعضای ناوگان", @@ -52,7 +53,7 @@ "button_back_dashboard": "بازگشت به صفحه اصلی" }, "Titles": { - "title_login_page": "صفحه ورود", + "title_login_page": "ورود به سامانه", "title_register_page": "صفحه ثبت نام", "title_login_navy_page": "ورود اعضای ناوگان", "title_login_welfare_services_page": "ورود اعضای خدمات رفاهی", @@ -131,7 +132,12 @@ "loan_request_correction": "اصلاح درخواست", "loan_request_detail": "مشاهده جزئیات", "request_number": "درخواست شماره", - "no_request_found": "درخواستی یافت نشد" + "no_request_found": "درخواستی یافت نشد", + "loan_unique_code": "کد یکتا", + "loan_date": "تاریخ درخواست", + "loan_status": "وضعیت", + "loan_bank_branch": "اطلاعات شعبه", + "loan_details": "نمایش" }, "LoanRequest": { "finish_loan_request": "درخواست شما با موفقیت ثبت شد", diff --git a/src/components/dashboard/navgan/followUp-loan/index.jsx b/src/components/dashboard/navgan/followUp-loan/index.jsx index de3176c..558babb 100644 --- a/src/components/dashboard/navgan/followUp-loan/index.jsx +++ b/src/components/dashboard/navgan/followUp-loan/index.jsx @@ -1,14 +1,12 @@ -import DashboardLayouts from "@/layouts/dashboardLayouts"; import { Grid, Stack, } from "@mui/material"; import {useEffect, useState} from "react"; import {SHOW_LOAN_REQUEST_NAVGAN} from "@/core/data/apiRoutes"; -import useLoading from "@/lib/app/hooks/useLoading"; -import useRequest from "@/lib/app/hooks/useRequest"; import moment from "jalali-moment"; import RequestCard from "@/components/dashboard/navgan/followUp-loan/RequestCard"; +import {useLoading, useRequest} from "@witel/webapp-builder"; const LoanFollowUpComponent = () => { const requestServer = useRequest(); @@ -34,7 +32,6 @@ const LoanFollowUpComponent = () => { }, []); return ( - { ))} - ); }; diff --git a/src/components/first/LoanDescription/TimeLineDetails.jsx b/src/components/first/LoanDescription/TimeLineDetails.jsx index f4470e9..feae261 100644 --- a/src/components/first/LoanDescription/TimeLineDetails.jsx +++ b/src/components/first/LoanDescription/TimeLineDetails.jsx @@ -1,64 +1,48 @@ -import {useTranslations} from "next-intl"; import {useEffect, useState} from "react"; -import {useRequest} from "@witel/webapp-builder"; import TimelineManager from "@/core/components/timelines/timelineManager"; import moment from "jalali-moment"; import {Timeline} from "@mui/lab"; -import {LinearProgress} from "@mui/material"; +import {useConfig} from "@witel/webapp-builder"; const TimeLineDetails = () => { - const t = useTranslations(); - const request = useRequest({notification: false, auth: false}) + const {config} = useConfig() const [timeLineList, setTimeLineList] = useState([]) - const [loading, setLoading] = useState(true) useEffect(() => { - setLoading(true) - request(process.env.NEXT_PUBLIC_CONFIG_APP_URL, 'get').then(res => { - let tempArr = [] - for (const timeLine of res.data.time_lines.navgan_first_page) { - let temp = {} - temp['label'] = timeLine.label - temp['date'] = moment(timeLine.date.from, 'jYYYY/jMM/jDD').locale('fa').format('jD jMMMM') - const fromDate = moment(timeLine.date.from, 'jYYYY/jMM/jDD') - const toDate = moment(timeLine.date.to, 'jYYYY/jMM/jDD') - const today = moment() - if (today.isBetween(fromDate, toDate, null, '[]')) { - temp['status'] = 'in progress' - } else if (today.isAfter(toDate, null)) { - temp['status'] = 'done' - } else if (today.isBefore(fromDate, null)) { - temp['status'] = 'open' - } - tempArr.push(temp) + let tempArr = [] + for (const timeLine of config.time_lines.navgan_first_page) { + let temp = {} + temp['label'] = timeLine.label + temp['date'] = moment(timeLine.date.from, 'jYYYY/jMM/jDD').locale('fa').format('jD jMMMM') + const fromDate = moment(timeLine.date.from, 'jYYYY/jMM/jDD') + const toDate = moment(timeLine.date.to, 'jYYYY/jMM/jDD') + const today = moment() + if (today.isBetween(fromDate, toDate, null, '[]')) { + temp['status'] = 'in progress' + } else if (today.isAfter(toDate, null)) { + temp['status'] = 'done' + } else if (today.isBefore(fromDate, null)) { + temp['status'] = 'open' } - setTimeLineList(tempArr) - setLoading(false) - }).catch(() => { - setLoading(false) - }) + tempArr.push(temp) + } + setTimeLineList(tempArr) }, []); return ( - <> - {loading ? ( - - ) : ( - - {timeLineList.map((timeLine, index) => ( - - )) - } - - )} - + + {timeLineList.map((timeLine, index) => ( + + )) + } + ) } export default TimeLineDetails \ No newline at end of file diff --git a/src/components/first/LoanRegister.jsx b/src/components/first/LoanRegister.jsx index c665eb2..810c5da 100644 --- a/src/components/first/LoanRegister.jsx +++ b/src/components/first/LoanRegister.jsx @@ -5,16 +5,16 @@ import {LinkRouting} from "@witel/webapp-builder"; const LoanRegister = () => { const t = useTranslations(); return ( - + - + {t("app_name")} - + وام نوسازی ناوگان به هدف رشد و پیشرفت استان های کشور از طریق ارتقای بهره وری و توسعه اعطا میشود. برای استفاده از تسهیلات این سامانه و درخواست وام می بایست ابتدا وارد سامانه شوید. @@ -30,18 +30,6 @@ const LoanRegister = () => { padding: 1 }}> - - {t("firstPage.login_button")} - - - - - {t("firstPage.register_button")} diff --git a/src/components/login/SendUserData.jsx b/src/components/login/SendUserData.jsx index a4c598a..cc64ba3 100644 --- a/src/components/login/SendUserData.jsx +++ b/src/components/login/SendUserData.jsx @@ -10,6 +10,7 @@ import * as Yup from "yup"; import SvgLogin from "@/core/components/svgs/SvgLogin"; import {CenterLayout, FullPageLayout, LinkRouting, useRequest} from "@witel/webapp-builder"; + const SendUserDataComponent = ({ setOtpToken, setPhoneNumber, diff --git a/src/components/register/RequestOtp.jsx b/src/components/register/RequestOtp.jsx index 4729226..e69de29 100644 --- a/src/components/register/RequestOtp.jsx +++ b/src/components/register/RequestOtp.jsx @@ -1,128 +0,0 @@ -import StyledForm from "@/core/components/StyledForm"; -import {SEND_OTP_TOKEN} from "@/core/data/apiRoutes"; -import FingerprintIcon from "@mui/icons-material/Fingerprint"; -import {Button, Container, Paper, Stack, TextField, Typography,} from "@mui/material"; -import {Field, Formik} from "formik"; -import {useTranslations} from "next-intl"; -import {useSearchParams} from "next/navigation"; -import * as Yup from "yup"; -import SvgLogin from "@/core/components/svgs/SvgLogin"; -import {CenterLayout, FullPageLayout, LinkRouting, useRequest} from "@witel/webapp-builder"; - -const RequestOtpComponent = ({ - setOtpToken, - setPhoneNumber, - PhoneNumber, - setTimer, - initialTimerValue, - }) => { - const t = useTranslations(); - const requestServer = useRequest(); - - const searchParams = useSearchParams(); - const backUrlDecodedPath = searchParams.get("back_url"); - - const initialValues = { - phone_number: PhoneNumber, - }; - const validationSchema = Yup.object().shape({ - phone_number: Yup.string().required( - t("RegisterPage.error_message_phone_number") - ), - }); - - const handleSubmit = (values, props) => { - requestServer(SEND_OTP_TOKEN, "post", { - auth: false, data: { - phone_number: values.phone_number, - } - }) - .then(function (response) { - setPhoneNumber(values.phone_number); - setOtpToken(true); - setTimer(initialTimerValue); - }).catch(function (error) { - props.setSubmitting(false); - }); - }; - - return ( - - - - - - {(props) => ( - - - - - - {t("Titles.title_register_page")} - - - - - - - - - )} - - - - - - - {t("RegisterPage.link_routing_back_to")}{" "} - {backUrlDecodedPath - ? t("RegisterPage.link_routing_previuos_page") - : t("RegisterPage.link_routing_register")} - - - - ); -}; - -export default RequestOtpComponent; diff --git a/src/components/register/index.jsx b/src/components/register/index.jsx index 9036878..e69de29 100644 --- a/src/components/register/index.jsx +++ b/src/components/register/index.jsx @@ -1,87 +0,0 @@ -import {Box, Button, Grid, Stack} from "@mui/material"; -import {useTranslations} from "next-intl"; -import {useSearchParams} from "next/navigation"; -import SvgDashboard from "@/core/components/svgs/SvgDashboard"; -import {CenterLayout, FullPageLayout, LinkRouting, NextLinkComposed, useUser} from "@witel/webapp-builder"; - -const RegisterComponent = () => { - const t = useTranslations(); - const {isAuth} = useUser(); - - const searchParams = useSearchParams(); - const backUrlDecodedPath = searchParams.get("back_url"); - - return ( - - - - {isAuth ? ( - - ) : ( - - - - - - {/**/} - {/* */} - {/* {t("register_welfare_services")}*/} - {/* */} - {/**/} - - - )} - - - - {t("RegisterPage.link_routing_back_to")}{" "} - {backUrlDecodedPath - ? t("RegisterPage.link_routing_previuos_page") - : t("LoginPage.link_routing_main_page")} - - - - ); -}; - -export default RegisterComponent; diff --git a/src/components/register/navy/UserRegister.jsx b/src/components/register/navy/UserRegister.jsx index 81a3f45..e69de29 100644 --- a/src/components/register/navy/UserRegister.jsx +++ b/src/components/register/navy/UserRegister.jsx @@ -1,173 +0,0 @@ -import StyledForm from "@/core/components/StyledForm"; -import {REGISTER} from "@/core/data/apiRoutes"; -import LoginIcon from "@mui/icons-material/Login"; -import ChangeCircleIcon from "@mui/icons-material/ChangeCircle"; -import {Box, Button, Chip, Container, Divider, Paper, Stack, TextField, Typography,} from "@mui/material"; -import {Field, Formik} from "formik"; -import {useTranslations} from "next-intl"; -import * as Yup from "yup"; -import ResendToken from "@/core/components/ResendToken"; -import SvgRegister from "@/core/components/svgs/SvgRegister"; -import AutoSubmit from "@/core/components/AutoSubmit"; -import {CenterLayout, FullPageLayout, useRequest, useUser} from "@witel/webapp-builder"; - -const UserRegisterComponent = ({ - PhoneNumber, - setOtpToken, - initialTimerValue, - timer, - setTimer, - }) => { - const t = useTranslations(); - const {setToken} = useUser(); - const requestServer = useRequest(); - - const initialValues = { - type_id: "1", - verification_code: "", - phone_number: PhoneNumber, - national_id: "", - }; - - const validationSchema = Yup.object().shape({ - verification_code: Yup.string().required( - t("RegisterPage.error_message_verification_code") - ), - national_id: Yup.string().required( - t("RegisterPage.error_message_national_id") - ), - }); - - const handleSubmit = (values, props) => { - requestServer(REGISTER, "post", { - auth: false, data: { - type_id: values.type_id, - national_id: values.national_id, - phone_number: values.phone_number, - verification_code: values.verification_code, - } - }) - .then(function (response) { - setOtpToken(true); - setToken(response.data.token); - }).catch(function (error) { - props.setSubmitting(false); - }); - }; - - return ( - - - - - - {(props) => ( - - - - - - {t("register_navy")} - - - - - - {t("LoginPage.sent_token_to")}: {PhoneNumber} - - - - e.target.value.length <= 6 ? props.setFieldValue("verification_code", e.target.value) : ""} - /> - - - - - - - - - - - )} - - - - - - ); -}; - -export default UserRegisterComponent; diff --git a/src/components/register/navy/index.jsx b/src/components/register/navy/index.jsx deleted file mode 100644 index 9296f78..0000000 --- a/src/components/register/navy/index.jsx +++ /dev/null @@ -1,37 +0,0 @@ -import {useState} from "react"; -import RequestOtpComponent from "../RequestOtp"; -import UserRegisterComponent from "./UserRegister"; - -const NavyComponent = () => { - const [otpToken, setOtpToken] = useState(false); - const [PhoneNumber, setPhoneNumber] = useState(""); - - // For Resend Token (read ResendToken Component Doc) - const initialTimerValue = 30; - const [timer, setTimer] = useState(initialTimerValue); - // End For Resend Token - - if (!otpToken) { - return ( - - ); - } else { - return ( - - ); - } -}; - -export default NavyComponent; diff --git a/src/components/register/welfare-services/UserRegister.jsx b/src/components/register/welfare-services/UserRegister.jsx deleted file mode 100644 index a043a53..0000000 --- a/src/components/register/welfare-services/UserRegister.jsx +++ /dev/null @@ -1,174 +0,0 @@ -import StyledForm from "@/core/components/StyledForm"; -import {REGISTER} from "@/core/data/apiRoutes"; -import CenterLayout from "@/layouts/CenterLayout"; -import FullPageLayout from "@/layouts/FullPageLayout"; -import LoginIcon from "@mui/icons-material/Login"; -import ChangeCircleIcon from "@mui/icons-material/ChangeCircle"; -import {Box, Button, Chip, Container, Divider, Paper, Stack, TextField, Typography,} from "@mui/material"; -import {Field, Formik} from "formik"; -import {useTranslations} from "next-intl"; -import * as Yup from "yup"; -import ResendToken from "@/core/components/ResendToken"; -import useUser from "@/lib/app/hooks/useUser"; -import SvgRegister from "@/core/components/svgs/SvgRegister"; -import useRequest from "@/lib/app/hooks/useRequest"; - -const UserRegisterComponent = ({ - PhoneNumber, - setOtpToken, - initialTimerValue, - timer, - setTimer, - }) => { - const t = useTranslations(); - const {setToken} = useUser(); - const requestServer = useRequest(); - - const initialValues = { - type_id: "2", - verification_code: "", - phone_number: PhoneNumber, - national_id: "", - }; - - const validationSchema = Yup.object().shape({ - verification_code: Yup.string().required( - t("RegisterPage.error_message_verification_code") - ), - national_id: Yup.string().required( - t("RegisterPage.error_message_national_id") - ), - }); - - const handleSubmit = (values, props) => { - requestServer(REGISTER, "post", { - auth: false, data: { - type_id: values.type_id, - national_id: values.national_id, - phone_number: values.phone_number, - verification_code: values.verification_code, - } - }) - .then(function (response) { - setOtpToken(true); - setToken(response.data.token); - }).catch(function (error) { - props.setSubmitting(false); - }); - }; - - return ( - - - - - - {(props) => ( - - - - - - {t("register_welfare_services")} - - - - - - {t("LoginPage.sent_token_to")}: {PhoneNumber} - - - - - - - - - - - - - - )} - - - - - - ); -}; - -export default UserRegisterComponent; diff --git a/src/components/register/welfare-services/index.jsx b/src/components/register/welfare-services/index.jsx deleted file mode 100644 index 322490f..0000000 --- a/src/components/register/welfare-services/index.jsx +++ /dev/null @@ -1,37 +0,0 @@ -import {useState} from "react"; -import RequestOtpComponent from "../RequestOtp"; -import UserRegisterComponent from "./UserRegister"; - -const WelfareServicesComponent = () => { - const [otpToken, setOtpToken] = useState(false); - const [PhoneNumber, setPhoneNumber] = useState(""); - - // For Resend Token (read ResendToken Component Doc) - const initialTimerValue = 30; - const [timer, setTimer] = useState(initialTimerValue); - // End For Resend Token - - if (!otpToken) { - return ( - - ); - } else { - return ( - - ); - } -}; - -export default WelfareServicesComponent; diff --git a/src/core/components/GlobalHead.jsx b/src/core/components/GlobalHead.jsx index 9036b85..002199d 100644 --- a/src/core/components/GlobalHead.jsx +++ b/src/core/components/GlobalHead.jsx @@ -39,14 +39,6 @@ const GlobalHead = () => { /> - diff --git a/src/core/components/ResendToken.jsx b/src/core/components/ResendToken.jsx index d564397..2216c99 100644 --- a/src/core/components/ResendToken.jsx +++ b/src/core/components/ResendToken.jsx @@ -1,7 +1,7 @@ import {Button} from "@mui/material"; import {useTranslations} from "next-intl"; import {useEffect} from "react"; -import {SEND_OTP_TOKEN} from "../data/apiRoutes"; +import {LOGIN, SEND_OTP_TOKEN} from "../data/apiRoutes"; import {useDirection, useRequest} from "@witel/webapp-builder"; const ResendToken = ({initialTimerValue, timer, setTimer, PhoneNumber, disabled}) => { diff --git a/src/core/components/svgs/SvgMaintenance.jsx b/src/core/components/svgs/SvgMaintenance.jsx new file mode 100644 index 0000000..47fcc0f --- /dev/null +++ b/src/core/components/svgs/SvgMaintenance.jsx @@ -0,0 +1,91 @@ +import {useTheme} from "@mui/material"; + +const SvgMaintenance = ({width, height}) => { + const theme = useTheme() + const fillColor = theme.palette.primary.main + + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) + +} + +export default SvgMaintenance \ No newline at end of file diff --git a/src/core/data/sidebarMenu.js b/src/core/data/sidebarMenu.js index 5f24a93..ef2c7d8 100644 --- a/src/core/data/sidebarMenu.js +++ b/src/core/data/sidebarMenu.js @@ -20,7 +20,7 @@ const sidebarMenu = [ route: "/dashboard/navgan/add-request-loan", icon: , selected: false, - permission: "can_request_a_new_loan" + permission: "can_request_navgan_loan" }, { key: "sidebar.followUp-loan", diff --git a/src/core/utils/globalServerProps.js b/src/core/utils/globalServerProps.js new file mode 100644 index 0000000..ef8e1b8 --- /dev/null +++ b/src/core/utils/globalServerProps.js @@ -0,0 +1,12 @@ +import {parse} from "next-useragent"; + +export const globalServerProps = async ({req, locale}) => { + const {isBot} = parse(req.headers["user-agent"]); + + return { + config: (await import(`&/config.json`)).default, + messages: (await import(`&/locales/${locale}/app.json`)).default, + isBot, + locale, + } +} \ No newline at end of file diff --git a/src/layouts/dashboard.jsx b/src/layouts/dashboard.jsx index a9abba5..a814c9a 100644 --- a/src/layouts/dashboard.jsx +++ b/src/layouts/dashboard.jsx @@ -2,20 +2,24 @@ import {DashboardLayout as DashboardLayoutPure, useUser} from "@witel/webapp-bui import headerProfileItems from "@/core/data/headerProfileItems"; import sidebarMenu from "@/core/data/sidebarMenu"; import {GET_SIDEBAR_NOTIFICATION} from "@/core/data/apiRoutes"; +import UserInfo from "@/middlewares/UserInfo"; +import {useTranslations} from "next-intl"; +import moment from "jalali-moment"; const DashboardLayout = (props) => { const {user} = useUser() const middlewaresProps = props.middlewaresProps || {} + const t = useTranslations() return ( <> diff --git a/src/middlewares/UserInfo.jsx b/src/middlewares/UserInfo.jsx new file mode 100644 index 0000000..3f594c4 --- /dev/null +++ b/src/middlewares/UserInfo.jsx @@ -0,0 +1,9 @@ +import {useUser} from "@witel/webapp-builder"; + +const UserInfo = ({children}) => { + const {user} = useUser(); + const userAccess = user.profile_completed; + return userAccess ? <>{children} : ''; +}; + +export default UserInfo; diff --git a/src/pages/_app.jsx b/src/pages/_app.jsx index a3be1c7..848a35c 100644 --- a/src/pages/_app.jsx +++ b/src/pages/_app.jsx @@ -2,10 +2,12 @@ import "&/global.scss"; import "moment/locale/fa"; import { AppLayout, + ConfigProvider, LanguageProvider, LoadingProvider, MuiLayout, NetworkProvider, + PageMiddleware, ToastProvider, UserProvider } from "@witel/webapp-builder"; @@ -18,8 +20,8 @@ import GlobalHead from "@/core/components/GlobalHead"; import Layout from "@/layouts"; const App = ({Component, pageProps}) => { - return ( - <> + return (<> + data}> @@ -31,7 +33,9 @@ const App = ({Component, pageProps}) => { - + + + @@ -41,8 +45,8 @@ const App = ({Component, pageProps}) => { - - ); + + ); }; export default App; diff --git a/src/pages/dashboard/index.jsx b/src/pages/dashboard/index.jsx index 265c8ac..b946dbd 100644 --- a/src/pages/dashboard/index.jsx +++ b/src/pages/dashboard/index.jsx @@ -1,5 +1,5 @@ import FirstComponent from "@/components/dashboard/first"; -import {parse} from "next-useragent"; +import {globalServerProps} from "@/core/utils/globalServerProps"; export default function Dashboard() { return ( @@ -8,13 +8,10 @@ export default function Dashboard() { } export async function getServerSideProps({req, locale}) { - const {isBot} = parse(req.headers["user-agent"]); return { props: { - messages: (await import(`&/locales/${locale}/app.json`)).default, + ...await globalServerProps({req, locale}), title: "Dashboard.dashboard_page", - isBot, - locale, layout: {name: 'DashboardLayout'} }, }; diff --git a/src/pages/dashboard/navgan/add-request-loan/index.jsx b/src/pages/dashboard/navgan/add-request-loan/index.jsx index 5af141c..7706783 100644 --- a/src/pages/dashboard/navgan/add-request-loan/index.jsx +++ b/src/pages/dashboard/navgan/add-request-loan/index.jsx @@ -1,5 +1,5 @@ -import {parse} from "next-useragent"; import LoanRequestComponent from "@/components/dashboard/navgan/add-request-loan"; +import {globalServerProps} from "@/core/utils/globalServerProps"; export default function AddLoanRequest() { return ( @@ -8,14 +8,11 @@ export default function AddLoanRequest() { } export async function getServerSideProps({req, locale}) { - const {isBot} = parse(req.headers["user-agent"]); return { props: { - messages: (await import(`&/locales/${locale}/app.json`)).default, + ...await globalServerProps({req, locale}), title: "LoanRequest.loan_request_page", - isBot, - locale, - layout: {name: 'DashboardLayout'} + layout: {name: 'DashboardLayout', permissions: ["can_request_navgan_loan"]} }, }; } diff --git a/src/pages/dashboard/navgan/followUp-loan/index.jsx b/src/pages/dashboard/navgan/followUp-loan/index.jsx index 1476d5a..68f4f73 100644 --- a/src/pages/dashboard/navgan/followUp-loan/index.jsx +++ b/src/pages/dashboard/navgan/followUp-loan/index.jsx @@ -1,5 +1,5 @@ -import {parse} from "next-useragent"; import LoanFollowUpComponent from "@/components/dashboard/navgan/followUp-loan"; +import {globalServerProps} from "@/core/utils/globalServerProps"; export default function FollowUpLoan() { return ( @@ -8,13 +8,10 @@ export default function FollowUpLoan() { } export async function getServerSideProps({req, locale}) { - const {isBot} = parse(req.headers["user-agent"]); return { props: { - messages: (await import(`&/locales/${locale}/app.json`)).default, + ...await globalServerProps({req, locale}), title: "LoanRequest.loan_request_page", - isBot, - locale, layout: {name: 'DashboardLayout'} }, }; diff --git a/src/pages/index.jsx b/src/pages/index.jsx index 2e146c6..6e47ba2 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -1,5 +1,5 @@ import FirstComponent from "@/components/first"; -import {parse} from "next-useragent"; +import {globalServerProps} from "@/core/utils/globalServerProps"; export default function Home() { return ( @@ -10,12 +10,10 @@ export default function Home() { } export async function getServerSideProps({req, locale}) { - const {isBot} = parse(req.headers["user-agent"]); return { props: { - messages: (await import(`&/locales/${locale}/app.json`)).default, + ...await globalServerProps({req, locale}), title: "first_page", - isBot, }, }; } diff --git a/src/pages/login.jsx b/src/pages/login.jsx index 63e88c7..6f7b288 100644 --- a/src/pages/login.jsx +++ b/src/pages/login.jsx @@ -1,22 +1,20 @@ import LoginComponent from "@/components/login"; -import {parse} from "next-useragent"; import {WithoutAuthMiddleware} from "@witel/webapp-builder"; +import {globalServerProps} from "@/core/utils/globalServerProps"; export default function Login() { return ( - + ); } export async function getServerSideProps({req, locale}) { - const {isBot} = parse(req.headers["user-agent"]); return { props: { - messages: (await import(`&/locales/${locale}/app.json`)).default, + ...await globalServerProps({req, locale}), title: "Titles.title_login_page", - isBot, }, }; } diff --git a/src/pages/register/index.jsx b/src/pages/register/index.jsx deleted file mode 100644 index 3f078d7..0000000 --- a/src/pages/register/index.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import RegisterComponent from "@/components/register"; -import {parse} from "next-useragent"; -import {WithoutAuthMiddleware} from "@witel/webapp-builder"; - -export default function Register() { - return ( - - - - ); -} - -export async function getServerSideProps({req, locale}) { - const {isBot} = parse(req.headers["user-agent"]); - return { - props: { - messages: (await import(`&/locales/${locale}/app.json`)).default, - title: "Titles.title_register_page", - isBot, - }, - }; -} diff --git a/src/pages/register/navy/index.jsx b/src/pages/register/navy/index.jsx index 8c0f278..e69de29 100644 --- a/src/pages/register/navy/index.jsx +++ b/src/pages/register/navy/index.jsx @@ -1,22 +0,0 @@ -import NavyComponent from "@/components/register/navy"; -import {parse} from "next-useragent"; -import {WithoutAuthMiddleware} from "@witel/webapp-builder"; - -export default function Register() { - return ( - - - - ); -} - -export async function getServerSideProps({req, locale}) { - const {isBot} = parse(req.headers["user-agent"]); - return { - props: { - messages: (await import(`&/locales/${locale}/app.json`)).default, - title: "Titles.title_register_navy_page", - isBot, - }, - }; -} diff --git a/src/pages/register/welfare-services/index.jsx b/src/pages/register/welfare-services/index.jsx deleted file mode 100644 index ce05a4f..0000000 --- a/src/pages/register/welfare-services/index.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import WithoutAuthMiddleware from "@/middlewares/WithoutAuth"; -import {parse} from "next-useragent"; - -export default function Register() { - return ( - - {/**/} - - ); -} - -export async function getServerSideProps({req, locale}) { - const {isBot} = parse(req.headers["user-agent"]); - return { - props: { - messages: (await import(`&/locales/${locale}/app.json`)).default, - title: "Titles.title_register_welfare_services_page", - isBot, - }, - }; -}