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("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,
- },
- };
-}