}
- {...props}
- />);
+ borderLeft: "1px solid #e1e1e1",
+ "&:first-of-type": {
+ borderLeft: "unset",
+ },
+ "& .Mui-TableHeadCell-Content": { justifyContent: "space-between" },
+ },
+ }}
+ muiTableBodyCellProps={{
+ sx: {
+ borderLeft: "1px solid #e1e1e1",
+ "&:first-of-type": {
+ borderLeft: "unset",
+ },
+ },
+ }}
+ enableColumnFilterModes
+ muiTablePaperProps={{ elevation: 0 }}
+ rowCount={data?.meta?.totalRowCount ?? 0}
+ onColumnFilterFnsChange={setColumnFilterFns}
+ onColumnFiltersChange={setColumnFilters}
+ onPaginationChange={setPagination}
+ onSortingChange={setSorting}
+ positionToolbarAlertBanner="bottom"
+ renderTopToolbarCustomActions={({ table }) => (
+ <>
+ {props.enableCustomToolbar /* send condition */ ? (
+ /* send component */
+ ) : (
+
+ )}
+
+ mutate()}>
+
+
+
+ >
+ )}
+ renderBottomToolbarCustomActions={({ table }) => (
+ <>
+ {props.enableLastUpdate /* send condition */ ? (
+
+ {t("last_updated_at")}: {updateTime}
+
+ ) : (
+ ""
+ )}
+ >
+ )}
+ state={{
+ showProgressBars: isValidating,
+ columnFilters,
+ columnFilterFns,
+ pagination,
+ sorting,
+ }}
+ positionActionsColumn={"last"}
+ enableRowActions={props.enableRowActions}
+ renderRowActions={({ row }) => }
+ {...props}
+ />
+ );
}
-export default DataTable;
\ No newline at end of file
+export default DataTable;
diff --git a/src/core/components/DownloadSection.jsx b/src/core/components/DownloadSection.jsx
index fc20d9c..2344798 100644
--- a/src/core/components/DownloadSection.jsx
+++ b/src/core/components/DownloadSection.jsx
@@ -1,34 +1,34 @@
-import FileDownloadOutlinedIcon from '@mui/icons-material/FileDownloadOutlined';
-import Check from '@mui/icons-material/Check';
-import {CircularProgress} from "@mui/material"
+import FileDownloadOutlinedIcon from "@mui/icons-material/FileDownloadOutlined";
+import Check from "@mui/icons-material/Check";
+import { CircularProgress } from "@mui/material";
const DownloadSection = ({ downloadStatus, onDownloadClick }) => {
return (
- {downloadStatus === 'completed' ? (
+ {downloadStatus === "completed" ? (
<>
-
+
>
- ) : downloadStatus === 'downloading' ? (
+ ) : downloadStatus === "downloading" ? (
) : (
<>
-
+
>
)}
diff --git a/src/core/components/GlobalHead.jsx b/src/core/components/GlobalHead.jsx
index 5d6186d..d16539c 100644
--- a/src/core/components/GlobalHead.jsx
+++ b/src/core/components/GlobalHead.jsx
@@ -3,56 +3,29 @@ import Head from "next/head";
const GlobalHead = () => {
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
- )
-}
+ );
+};
-export default GlobalHead
\ No newline at end of file
+export default GlobalHead;
diff --git a/src/core/components/ImageContent.jsx b/src/core/components/ImageContent.jsx
index bf96a4b..8e325b5 100644
--- a/src/core/components/ImageContent.jsx
+++ b/src/core/components/ImageContent.jsx
@@ -1,52 +1,66 @@
-import {Box, Skeleton, Stack} from "@mui/material";
-import {useEffect} from "react";
+import { Box, Skeleton, Stack } from "@mui/material";
+import { useEffect } from "react";
const ImageContent = (prop) => {
-
useEffect(() => {
const timer = setTimeout(() => {
prop.setIsSkeleton(false);
}, 1500);
return () => clearTimeout(timer);
}, [prop.isSkeleton]);
- const isPDF = prop.imageLink && prop.imageLink.file && prop.imageLink.file.endsWith('.pdf');
+ const isPDF = prop.imageLink && prop.imageLink.file && prop.imageLink.file.endsWith(".pdf");
return (
<>
-
+
{prop.isSkeleton && (
-
-
+
+
)}
{isPDF ? (
-
+
) : (
- prop.imageLink && prop.imageLink.file && (
-
-
+ prop.imageLink &&
+ prop.imageLink.file && (
+
+
)
)}
>
- )
-
-}
-export default ImageContent;
\ No newline at end of file
+ );
+};
+export default ImageContent;
diff --git a/src/core/components/ImageConvertor.jsx b/src/core/components/ImageConvertor.jsx
index 9f99bc1..42b38a8 100644
--- a/src/core/components/ImageConvertor.jsx
+++ b/src/core/components/ImageConvertor.jsx
@@ -12,9 +12,7 @@ const ImageResizer = async (image) => {
const resize = await imageResize.resize(get).then();
const output = await imageResize.output(resize).then();
- const avatar = await (await import("image-to-file-converter"))
- .base64ToFile(output)
- .then();
+ const avatar = await (await import("image-to-file-converter")).base64ToFile(output).then();
return avatar;
};
diff --git a/src/core/components/LinkRouting.jsx b/src/core/components/LinkRouting.jsx
index f8fac0a..e72ea7b 100644
--- a/src/core/components/LinkRouting.jsx
+++ b/src/core/components/LinkRouting.jsx
@@ -1,28 +1,15 @@
import MuiLink from "@mui/material/Link";
-import {styled} from "@mui/material/styles";
+import { styled } from "@mui/material/styles";
import clsx from "clsx";
import NextLink from "next/link";
-import {useRouter} from "next/router";
+import { useRouter } from "next/router";
import * as React from "react";
// Add support for the sx prop for consistency with the other branches.
const Anchor = styled("a")({});
-export const NextLinkComposed = React.forwardRef(function NextLinkComposed(
- props,
- ref
-) {
- const {
- to,
- linkAs,
- replace,
- scroll,
- shallow,
- prefetch,
- legacyBehavior = true,
- locale,
- ...other
- } = props;
+export const NextLinkComposed = React.forwardRef(function NextLinkComposed(props, ref) {
+ const { to, linkAs, replace, scroll, shallow, prefetch, legacyBehavior = true, locale, ...other } = props;
return (
- );
+ return ;
}
- return (
-
- );
+ return ;
});
export default LinkRouting;
diff --git a/src/core/components/LoadingHardPage.jsx b/src/core/components/LoadingHardPage.jsx
index 59e4a02..6f4a1ed 100644
--- a/src/core/components/LoadingHardPage.jsx
+++ b/src/core/components/LoadingHardPage.jsx
@@ -1,4 +1,4 @@
-import {Backdrop, Box, Stack, styled, Typography} from "@mui/material";
+import { Backdrop, Box, Stack, styled, Typography } from "@mui/material";
import SvgLoading from "@/core/components/svgs/SvgLoading";
const LoadingImage = styled(Box)({
@@ -19,28 +19,21 @@ const LoadingImage = styled(Box)({
animation: "load 2s infinite",
});
-const LoadingHardPage = ({children, loading, sx = {}, icon = null, width = 200, height = 200, label = ''}) => {
+const LoadingHardPage = ({ children, loading, sx = {}, icon = null, width = 200, height = 200, label = "" }) => {
return (
<>
- theme.zIndex.drawer + 1, ...sx}}
- open={loading}
- >
-
-
+ theme.zIndex.drawer + 1, ...sx }} open={loading}>
+
+
{icon ? (
-
- {icon}
-
+ {icon}
) : (
-
+
)}
- {label}
+
+ {label}
+
{children}
diff --git a/src/core/components/LtrTextField.jsx b/src/core/components/LtrTextField.jsx
index aa9efcb..4c32c62 100644
--- a/src/core/components/LtrTextField.jsx
+++ b/src/core/components/LtrTextField.jsx
@@ -1,4 +1,4 @@
-import {styled, TextField} from "@mui/material";
+import { styled, TextField } from "@mui/material";
const LtrTextField = styled(TextField)`
.MuiInputBase-input {
@@ -8,4 +8,4 @@ const LtrTextField = styled(TextField)`
}
`;
-export default LtrTextField
\ No newline at end of file
+export default LtrTextField;
diff --git a/src/core/components/Messages.jsx b/src/core/components/Messages.jsx
index 8a5cfc9..1877846 100644
--- a/src/core/components/Messages.jsx
+++ b/src/core/components/Messages.jsx
@@ -2,12 +2,11 @@ import CenterLayout from "@/layouts/CenterLayout";
import FullPageLayout from "@/layouts/FullPageLayout";
import SvgLoading from "@/core/components/svgs/SvgLoading";
-const Message = ({text, actions}) => {
+const Message = ({ text, actions }) => {
return (
-
+
-
+
{text}
{actions}
diff --git a/src/core/components/Middleware/RolePermissionComponent.jsx b/src/core/components/Middleware/RolePermissionComponent.jsx
index a445008..99f97ef 100644
--- a/src/core/components/Middleware/RolePermissionComponent.jsx
+++ b/src/core/components/Middleware/RolePermissionComponent.jsx
@@ -1,6 +1,6 @@
import { Button, Typography } from "@mui/material";
-import {useTranslations} from "next-intl";
-import {NextLinkComposed} from "@/core/components/LinkRouting";
+import { useTranslations } from "next-intl";
+import { NextLinkComposed } from "@/core/components/LinkRouting";
import Message from "@/core/components/Messages";
const RolePermissionComponent = () => {
@@ -9,9 +9,7 @@ const RolePermissionComponent = () => {
return (
- {t("Permission.typography_you_dont_have_access")}
-
+ {t("Permission.typography_you_dont_have_access")}
}
actions={
<>
diff --git a/src/core/components/Middleware/WithAuthComponent.jsx b/src/core/components/Middleware/WithAuthComponent.jsx
index 9a6ff5d..83ea4ed 100644
--- a/src/core/components/Middleware/WithAuthComponent.jsx
+++ b/src/core/components/Middleware/WithAuthComponent.jsx
@@ -2,7 +2,7 @@ import { Button, Typography } from "@mui/material";
import { useRouter } from "next/router";
import Message from "@/core/components/Messages";
import { NextLinkComposed } from "@/core/components/LinkRouting";
-import {useTranslations} from "next-intl";
+import { useTranslations } from "next-intl";
const WithAuthComponent = () => {
const router = useRouter();
@@ -22,7 +22,7 @@ const WithAuthComponent = () => {
component={NextLinkComposed}
to={{
pathname: "/login-expert",
- query: {back_url: encodeURIComponent(router.asPath)},
+ query: { back_url: encodeURIComponent(router.asPath) },
}}
>
{t("login")}
diff --git a/src/core/components/Middleware/WithoutAuthComponent.jsx b/src/core/components/Middleware/WithoutAuthComponent.jsx
index 59b7cbf..a10b7e2 100644
--- a/src/core/components/Middleware/WithoutAuthComponent.jsx
+++ b/src/core/components/Middleware/WithoutAuthComponent.jsx
@@ -1,6 +1,6 @@
-import {Stack, Typography} from "@mui/material";
+import { Stack, Typography } from "@mui/material";
import Message from "@/core/components/Messages";
-import {useTranslations} from "next-intl";
+import { useTranslations } from "next-intl";
const WithoutAuthComponent = ({ backUrlDecodedPath }) => {
const t = useTranslations();
diff --git a/src/core/components/MuiDatePicker.jsx b/src/core/components/MuiDatePicker.jsx
index 18be3cc..5825a7f 100644
--- a/src/core/components/MuiDatePicker.jsx
+++ b/src/core/components/MuiDatePicker.jsx
@@ -1,46 +1,37 @@
-import {LocalizationProvider, MobileDateTimePicker} from "@mui/x-date-pickers";
-import {AdapterDateFnsJalali} from "@mui/x-date-pickers/AdapterDateFnsJalali";
+import { LocalizationProvider, MobileDateTimePicker } from "@mui/x-date-pickers";
+import { AdapterDateFnsJalali } from "@mui/x-date-pickers/AdapterDateFnsJalali";
import moment from "jalali-moment";
-import {faIR} from "@mui/x-date-pickers/locales";
-import {Box, IconButton} from "@mui/material";
+import { faIR } from "@mui/x-date-pickers/locales";
+import { Box, IconButton } from "@mui/material";
import ClearIcon from "@mui/icons-material/Clear";
-import {useTranslations} from "next-intl";
+import { useTranslations } from "next-intl";
-export default function MuiDatePicker({column}) {
+export default function MuiDatePicker({ column }) {
const t = useTranslations();
const filterFnValue = column.columnDef._filterFn;
return (
-
+
{
const date = new Date(newValue);
- const formattedDate = moment(date)
- .locale("en")
- .format("YYYY-MM-DD HH:mm");
+ const formattedDate = moment(date).locale("en").format("YYYY-MM-DD HH:mm");
column.setFilterValue(formattedDate);
}}
slotProps={{
textField: {
placeholder: "تاریخ خود را وارد کنید",
helperText: `${t("filter_mode")}: ${t(filterFnValue)}`,
- sx: {minWidth: "120px"},
+ sx: { minWidth: "120px" },
variant: "standard",
},
}}
- value={
- column.getFilterValue()
- ? new Date(column.getFilterValue())
- : null
- }
+ value={column.getFilterValue() ? new Date(column.getFilterValue()) : null}
/>
-
+
);
diff --git a/src/core/components/NetworkComponent.jsx b/src/core/components/NetworkComponent.jsx
index 9610b1c..2803acc 100644
--- a/src/core/components/NetworkComponent.jsx
+++ b/src/core/components/NetworkComponent.jsx
@@ -1,35 +1,38 @@
import useNetwork from "@/lib/app/hooks/useNetwork";
-import {useEffect, useRef} from "react";
-import {toast} from "react-toastify";
-import WifiIcon from '@mui/icons-material/Wifi';
-import WifiOffIcon from '@mui/icons-material/WifiOff';
-import {useTranslations} from "next-intl";
+import { useEffect, useRef } from "react";
+import { toast } from "react-toastify";
+import WifiIcon from "@mui/icons-material/Wifi";
+import WifiOffIcon from "@mui/icons-material/WifiOff";
+import { useTranslations } from "next-intl";
const NetworkComponent = () => {
const networkToastId = useRef(null);
- const network = useNetwork()
- const t = useTranslations()
+ const network = useNetwork();
+ const t = useTranslations();
useEffect(() => {
if (network.online) {
toast.update(networkToastId.current, {
type: toast.TYPE.SUCCESS,
- render: t('online_message'),
+ render: t("online_message"),
autoClose: 2000,
closeButton: true,
closeOnClick: true,
- icon:
+ icon: ,
});
- return
+ return;
}
- networkToastId.current = toast.warn(t('offline_message'), {
- containerId: 'connection',
+ networkToastId.current = toast.warn(t("offline_message"), {
+ containerId: "connection",
draggable: false,
- autoClose: false, closeButton: false, closeOnClick: false, icon:
- })
+ autoClose: false,
+ closeButton: false,
+ closeOnClick: false,
+ icon: ,
+ });
}, [network.online]);
- return ''
-}
+ return "";
+};
-export default NetworkComponent
\ No newline at end of file
+export default NetworkComponent;
diff --git a/src/core/components/NoSsrHandler.jsx b/src/core/components/NoSsrHandler.jsx
index 5a4c4e1..88fee1e 100644
--- a/src/core/components/NoSsrHandler.jsx
+++ b/src/core/components/NoSsrHandler.jsx
@@ -1,6 +1,6 @@
-import {NoSsr} from "@mui/material";
+import { NoSsr } from "@mui/material";
-const NoSsrHandler = ({isBot, children}) => {
+const NoSsrHandler = ({ isBot, children }) => {
if (isBot) return children;
return {children};
};
diff --git a/src/core/components/NumberShowBox.jsx b/src/core/components/NumberShowBox.jsx
index 264a7f4..db30b44 100644
--- a/src/core/components/NumberShowBox.jsx
+++ b/src/core/components/NumberShowBox.jsx
@@ -1,19 +1,15 @@
-import {Box, Typography} from "@mui/material";
+import { Box, Typography } from "@mui/material";
-const NumberShowBox = ({showNumber, headerTitle, unitTitle}) => {
+const NumberShowBox = ({ showNumber, headerTitle, unitTitle }) => {
return (
<>
-
- {headerTitle}
+
+ {headerTitle}
- {isNaN(showNumber) || showNumber === null
- ? "0"
- : (showNumber).toLocaleString()}{" "}
- {unitTitle}
+ {isNaN(showNumber) || showNumber === null ? "0" : showNumber.toLocaleString()} {unitTitle}
>
);
};
-export default NumberShowBox
\ No newline at end of file
+export default NumberShowBox;
diff --git a/src/core/components/PasswordField/index.jsx b/src/core/components/PasswordField/index.jsx
index d109b73..9aa4197 100644
--- a/src/core/components/PasswordField/index.jsx
+++ b/src/core/components/PasswordField/index.jsx
@@ -1,7 +1,7 @@
-import {useState} from "react";
-import {IconButton, InputAdornment, TextField} from "@mui/material";
-import {Visibility, VisibilityOff} from "@mui/icons-material";
-import {Field} from "formik";
+import { useState } from "react";
+import { IconButton, InputAdornment, TextField } from "@mui/material";
+import { Visibility, VisibilityOff } from "@mui/icons-material";
+import { Field } from "formik";
const PasswordField = (props) => {
const [showPassword, setShowPassword] = useState(false);
@@ -21,7 +21,7 @@ const PasswordField = (props) => {
endAdornment: (
- {showPassword ? : }
+ {showPassword ? : }
),
diff --git a/src/core/components/PriceField.jsx b/src/core/components/PriceField.jsx
index 1df1ba2..75c5bb0 100644
--- a/src/core/components/PriceField.jsx
+++ b/src/core/components/PriceField.jsx
@@ -1,5 +1,5 @@
-import {Stack, Typography} from "@mui/material";
-import {useTranslations} from "next-intl";
+import { Stack, Typography } from "@mui/material";
+import { useTranslations } from "next-intl";
import LtrTextField from "@/core/components/LtrTextField";
const PriceField = (props) => {
@@ -7,18 +7,17 @@ const PriceField = (props) => {
return (
-
+
-
- {((props.value) / 10).toLocaleString()}
+
+ {props.value > 9999 ? (props.value / 10000).toLocaleString() :(props.value / 10).toLocaleString()}
- {t("ConfirmDialog.toman")}
+ {props.value > 9999 ? t("ConfirmDialog.milyard_toman"): t("ConfirmDialog.toman")}
- )
-}
-export default PriceField
\ No newline at end of file
+
+ );
+};
+export default PriceField;
diff --git a/src/core/components/PrintablePage.jsx b/src/core/components/PrintablePage.jsx
index 362cc4e..4788083 100644
--- a/src/core/components/PrintablePage.jsx
+++ b/src/core/components/PrintablePage.jsx
@@ -1,74 +1,132 @@
-import {Box, Container, Divider, Grid, Paper, Stack, Typography} from '@mui/material';
+import { Box, Container, Divider, Grid, Paper, Stack, Typography } from "@mui/material";
-const PrintablePage = ({children, header, footer, paperSx = {}, landscape = false}) => (<>
-
+const PrintablePage = ({ children, header, footer, paperSx = {}, landscape = false }) => (
+ <>
+
-
+ component="article"
+ maxWidth="false"
+ >
+
-
-
+
+
-
- باسمه تعالی
- جمهوری اسلامی ایران
- وزارت راه و
- شهرسازی
- سازمان
- راهداری و حمل و نقل جاده
- ای
+
+ باسمه تعالی
+ جمهوری اسلامی ایران
+ وزارت راه و شهرسازی
+
+ سازمان راهداری و حمل و نقل جاده ای
+
- شماره:
- تاریخ:
- پیوست:
+ شماره:
+ تاریخ:
+ پیوست:
-
+
{children}
-
-
-
-
- آدرس: تهران-بلوار
- کشاورز-خیابان فلسطین جنوبی-خیابان
- دمشق-پلاک17
- تلفن: 88-88804379
- تلفن گویا: 88804400
- کدپستی: 1416753941
+
+
+
+
+
+ {" "}
+ آدرس: تهران-بلوار کشاورز-خیابان فلسطین جنوبی-خیابان دمشق-پلاک17{" "}
+
+
+ {" "}
+ تلفن: 88-88804379{" "}
+
+
+ {" "}
+ تلفن گویا: 88804400{" "}
+
+
+ {" "}
+ کدپستی: 1416753941{" "}
+
-
- صندوق پستی: 3773-14155
- پست الکترونیک: info@rmto.ir
- سایت الکترونیک: www.rmto.ir
+
+
+ صندوق پستی: 3773-14155
+
+
+ پست الکترونیک: info@rmto.ir
+
+
+ سایت الکترونیک: www.rmto.ir
+
-
- >);
+
+ >
+);
-export default PrintablePage;
\ No newline at end of file
+export default PrintablePage;
diff --git a/src/core/components/SelectBox.jsx b/src/core/components/SelectBox.jsx
index 6fc787c..7e84e0d 100644
--- a/src/core/components/SelectBox.jsx
+++ b/src/core/components/SelectBox.jsx
@@ -1,31 +1,25 @@
-import {FormControl, FormHelperText, InputLabel, MenuItem, Select,} from "@mui/material";
-import {useTranslations} from "next-intl";
+import { FormControl, FormHelperText, InputLabel, MenuItem, Select } from "@mui/material";
+import { useTranslations } from "next-intl";
function SelectBox({
- select,
- name,
- selectors,
- label,
- handleChange,
- error,
- onBlur,
- schema,
- disabled,
- helperText,
- isLoading,
- errorEcured,
- variant = "outlined"
- }) {
+ select,
+ name,
+ selectors,
+ label,
+ handleChange,
+ error,
+ onBlur,
+ schema,
+ disabled,
+ helperText,
+ isLoading,
+ errorEcured,
+ variant = "outlined",
+}) {
const t = useTranslations();
return (
-
+
{label}
diff --git a/src/layouts/DashboardLayout.jsx b/src/layouts/DashboardLayout.jsx
index 149f4f4..0d4a0d0 100644
--- a/src/layouts/DashboardLayout.jsx
+++ b/src/layouts/DashboardLayout.jsx
@@ -4,9 +4,9 @@ import Dashboard from "@/components/layouts/Dashboard";
const DashboardLayout = (props) => {
return (
-
+
);
};
-export default DashboardLayout;
\ No newline at end of file
+export default DashboardLayout;
diff --git a/src/layouts/FullPageLayout.jsx b/src/layouts/FullPageLayout.jsx
index d6ed61e..c47af5d 100644
--- a/src/layouts/FullPageLayout.jsx
+++ b/src/layouts/FullPageLayout.jsx
@@ -1,4 +1,4 @@
-import {Stack} from "@mui/material";
+import { Stack } from "@mui/material";
const FullPageLayout = (props) => {
return (
diff --git a/src/layouts/MuiLayout.jsx b/src/layouts/MuiLayout.jsx
index 6bfe9c0..34739fd 100644
--- a/src/layouts/MuiLayout.jsx
+++ b/src/layouts/MuiLayout.jsx
@@ -49,10 +49,11 @@ const MuiLayout = ({ children, isBot }) => {
height: "4px",
},
},
- " input[type='number']::-webkit-inner-spin-button,input[type='number']::-webkit-outer-spin-button ": {
- "-webkit-appearance": "none",
- margin: 0
- },
+ " input[type='number']::-webkit-inner-spin-button,input[type='number']::-webkit-outer-spin-button ":
+ {
+ "-webkit-appearance": "none",
+ margin: 0,
+ },
" input[type='number']": {
"-moz-appearance": "textfield",
},
diff --git a/src/layouts/PrintLayout.jsx b/src/layouts/PrintLayout.jsx
index 301a161..a63a96c 100644
--- a/src/layouts/PrintLayout.jsx
+++ b/src/layouts/PrintLayout.jsx
@@ -4,9 +4,9 @@ import Print from "@/components/layouts/Print";
const PrintLayout = (props) => {
return (
-
+
- )
-}
+ );
+};
-export default PrintLayout
\ No newline at end of file
+export default PrintLayout;
diff --git a/src/layouts/ScrollableLayout.jsx b/src/layouts/ScrollableLayout.jsx
index 583edd7..bc34591 100644
--- a/src/layouts/ScrollableLayout.jsx
+++ b/src/layouts/ScrollableLayout.jsx
@@ -1,4 +1,4 @@
-import {Box, Fade} from "@mui/material";
+import { Box, Fade } from "@mui/material";
const ScrollableLayout = (props) => {
const overflowY = props?.y || "hidden";
diff --git a/src/layouts/index.jsx b/src/layouts/index.jsx
index a69d886..8006984 100644
--- a/src/layouts/index.jsx
+++ b/src/layouts/index.jsx
@@ -1,22 +1,17 @@
import DashboardLayout from "@/layouts/DashboardLayout";
-import {Fragment} from "react";
+import { Fragment } from "react";
import PrintLayout from "@/layouts/PrintLayout";
const layoutList = {
DashboardLayout,
- PrintLayout
-}
+ PrintLayout,
+};
-const Layout = ({layout = {}, children}) => {
+const Layout = ({ layout = {}, children }) => {
+ const Component = layoutList[layout?.name] || Fragment;
+ const props = layout?.props || {};
- const Component = layoutList[layout?.name] || Fragment
- const props = layout?.props || {}
+ return {children};
+};
- return (
-
- {children}
-
- )
-}
-
-export default Layout
\ No newline at end of file
+export default Layout;
diff --git a/src/lib/app/contexts/config.jsx b/src/lib/app/contexts/config.jsx
index 9505b5f..5af23ca 100644
--- a/src/lib/app/contexts/config.jsx
+++ b/src/lib/app/contexts/config.jsx
@@ -1,7 +1,7 @@
-import {createContext} from "react";
+import { createContext } from "react";
-export const ConfigContext = createContext()
+export const ConfigContext = createContext();
-export const ConfigProvider = ({children, config}) => {
- return {children}
-}
\ No newline at end of file
+export const ConfigProvider = ({ children, config }) => {
+ return {children};
+};
diff --git a/src/lib/app/contexts/language.jsx b/src/lib/app/contexts/language.jsx
index 243d7e8..7a7c269 100644
--- a/src/lib/app/contexts/language.jsx
+++ b/src/lib/app/contexts/language.jsx
@@ -1,12 +1,12 @@
-import {FA_DATATABLE_LOCALIZATION} from "&/locales/fa/datatable";
-import {useRouter} from "next/router";
-import {createContext, useEffect, useState} from "react";
+import { FA_DATATABLE_LOCALIZATION } from "&/locales/fa/datatable";
+import { useRouter } from "next/router";
+import { createContext, useEffect, useState } from "react";
import useUser from "../hooks/useUser";
-import {FA_CHART_LOCALIZATION} from "&/locales/fa/chart";
+import { FA_CHART_LOCALIZATION } from "&/locales/fa/chart";
export const LanguageContext = createContext();
-export const LanguageProvider = ({children}) => {
+export const LanguageProvider = ({ children }) => {
const router = useRouter();
const languageList = [
{
@@ -15,15 +15,13 @@ export const LanguageProvider = ({children}) => {
name: "فارسی",
fontFamily: `IRANSansFaNum, sans-serif`,
tableLocalization: FA_DATATABLE_LOCALIZATION,
- chartLocalization: FA_CHART_LOCALIZATION
- }
+ chartLocalization: FA_CHART_LOCALIZATION,
+ },
];
- const {user, userChangedLanguage, changeLanguageState} = useUser();
+ const { user, userChangedLanguage, changeLanguageState } = useUser();
const [languageIsReady, setLanguageIsReady] = useState(false);
const [languageApp, setLanguageApp] = useState(process.env.NEXT_PUBLIC_DEFAULT_LANGUAGE);
- const [directionApp, setDirectionApp] = useState(
- process.env.NEXT_PUBLIC_DEFAULT_DIRECTION
- );
+ const [directionApp, setDirectionApp] = useState(process.env.NEXT_PUBLIC_DEFAULT_DIRECTION);
useEffect(() => {
const lang = localStorage.getItem("_language");
@@ -57,13 +55,9 @@ export const LanguageProvider = ({children}) => {
}
if (languageApp != router.locale) {
- router.replace(
- {pathname: router.pathname, query: router.query},
- router.asPath,
- {
- locale: languageApp,
- }
- );
+ router.replace({ pathname: router.pathname, query: router.query }, router.asPath, {
+ locale: languageApp,
+ });
return;
}
for (const lang of languageList) {
diff --git a/src/lib/app/contexts/loading.jsx b/src/lib/app/contexts/loading.jsx
index f5b8a47..f5bec10 100644
--- a/src/lib/app/contexts/loading.jsx
+++ b/src/lib/app/contexts/loading.jsx
@@ -1,13 +1,13 @@
import LoadingHardPage from "@/core/components/LoadingHardPage";
-import {createContext, useState} from "react";
+import { createContext, useState } from "react";
export const LoadingContext = createContext();
-export const LoadingProvider = ({children}) => {
+export const LoadingProvider = ({ children }) => {
const [loadingPage, setLoadingPage] = useState(false);
return (
-
-
+
+
{children}
);
diff --git a/src/lib/app/contexts/print.jsx b/src/lib/app/contexts/print.jsx
index 20fd1dc..9845107 100644
--- a/src/lib/app/contexts/print.jsx
+++ b/src/lib/app/contexts/print.jsx
@@ -1,4 +1,4 @@
-import {createContext, useReducer} from "react";
+import { createContext, useReducer } from "react";
export const PrintContext = createContext();
@@ -6,19 +6,17 @@ const reducer = (state, action) => {
switch (action.type) {
case "SET_PRINT_PAGE":
return {
- ...state, count: action.count
+ ...state,
+ count: action.count,
};
case "SET_PRINT_TITLE":
return {
- ...state, title: action.title
+ ...state,
+ title: action.title,
};
}
};
-export const PrintProvider = ({children}) => {
- const [printDetails, printDispatch] = useReducer(reducer, {title: '', count: 0});
- return (
-
- {children}
-
- );
-};
\ No newline at end of file
+export const PrintProvider = ({ children }) => {
+ const [printDetails, printDispatch] = useReducer(reducer, { title: "", count: 0 });
+ return {children};
+};
diff --git a/src/lib/app/contexts/toast.jsx b/src/lib/app/contexts/toast.jsx
index b9d4cbc..dcd4f11 100644
--- a/src/lib/app/contexts/toast.jsx
+++ b/src/lib/app/contexts/toast.jsx
@@ -1,37 +1,33 @@
-import {createContext, useReducer} from "react";
-import {toast} from "react-toastify";
+import { createContext, useReducer } from "react";
+import { toast } from "react-toastify";
-export const ToastContext = createContext()
+export const ToastContext = createContext();
const reducer = (state, action) => {
switch (action.type) {
case "PUSH":
return {
...state,
- [action.toast_type]: [...state[action.toast_type], action.toast_id]
+ [action.toast_type]: [...state[action.toast_type], action.toast_id],
};
case "DISMISS":
action.toast_type.map((item) => {
state[item].map((id) => {
toast.dismiss(id);
- })
- state[item] = []
+ });
+ state[item] = [];
});
return state;
}
};
-export const ToastProvider = ({children}) => {
+export const ToastProvider = ({ children }) => {
const [state, dispatch] = useReducer(reducer, {
pending: [],
error: [],
warning: [],
- success: []
+ success: [],
});
- return (
-
- {children}
-
- );
+ return {children};
};
diff --git a/src/lib/app/contexts/user.jsx b/src/lib/app/contexts/user.jsx
index 7f5c97c..5dc88b5 100644
--- a/src/lib/app/contexts/user.jsx
+++ b/src/lib/app/contexts/user.jsx
@@ -1,6 +1,6 @@
-import {GET_USER_ROUTE} from "@/core/data/apiRoutes";
+import { GET_USER_ROUTE } from "@/core/data/apiRoutes";
import axios from "axios";
-import {createContext, useCallback, useEffect, useReducer} from "react";
+import { createContext, useCallback, useEffect, useReducer } from "react";
const initialUser = {
isAuth: false,
@@ -12,24 +12,24 @@ const initialUser = {
const reducer = (state, action) => {
switch (action.type) {
case "CLEAR_USER":
- return {...state, user: {}};
+ return { ...state, user: {} };
case "CHANGE_USER":
- return {...state, user: action.user};
+ return { ...state, user: action.user };
case "CHANGE_USER_LANGUAGE":
return {
...state,
- user: {...state.user, user_language: action.language},
+ user: { ...state.user, user_language: action.language },
};
case "CHANGE_AUTH_STATE":
- return {...state, isAuth: action.isAuth};
+ return { ...state, isAuth: action.isAuth };
case "CHANGE_LANGUAGE_STATE":
- return {...state, userChangedLanguage: action.userChangedLanguage};
+ return { ...state, userChangedLanguage: action.userChangedLanguage };
case "CLEAR_TOKEN":
localStorage.removeItem("_token");
- return {...state, token: null};
+ return { ...state, token: null };
case "SET_TOKEN":
localStorage.setItem("_token", action.token);
- return {...state, token: action.token};
+ return { ...state, token: action.token };
default:
return state;
}
@@ -37,55 +37,54 @@ const reducer = (state, action) => {
export const UserContext = createContext();
-export const UserProvider = ({children}) => {
+export const UserProvider = ({ children }) => {
const [state, dispatch] = useReducer(reducer, initialUser);
const clearUser = useCallback(() => {
- dispatch({type: "CLEAR_USER"});
+ dispatch({ type: "CLEAR_USER" });
}, []);
const changeUser = useCallback((user) => {
- dispatch({type: "CHANGE_USER", user});
+ dispatch({ type: "CHANGE_USER", user });
}, []);
const changeUserLanguage = useCallback(/* use in multi language app */);
const changeAuthState = useCallback((isAuth) => {
- dispatch({type: "CHANGE_AUTH_STATE", isAuth});
+ dispatch({ type: "CHANGE_AUTH_STATE", isAuth });
}, []);
const changeLanguageState = useCallback((userChangedLanguage) => {
- dispatch({type: "CHANGE_LANGUAGE_STATE", userChangedLanguage});
+ dispatch({ type: "CHANGE_LANGUAGE_STATE", userChangedLanguage });
}, []);
const clearToken = useCallback(() => {
- dispatch({type: "CLEAR_TOKEN"});
+ dispatch({ type: "CLEAR_TOKEN" });
}, []);
const setToken = useCallback((token) => {
- dispatch({type: "SET_TOKEN", token});
+ dispatch({ type: "SET_TOKEN", token });
}, []);
const getUser = useCallback(
- (callback = () => {
- }) => {
+ (callback = () => {}) => {
axios
.get(GET_USER_ROUTE, {
- headers: {authorization: `Bearer ${state.token}`},
+ headers: { authorization: `Bearer ${state.token}` },
})
- .then(({data}) => {
+ .then(({ data }) => {
if (typeof callback === "function") callback(data);
})
- .catch(error => {
- if (error.response.status === 401) clearToken()
- })
+ .catch((error) => {
+ if (error.response.status === 401) clearToken();
+ });
},
[state.token]
);
useEffect(() => {
const localToken = localStorage.getItem("_token");
- if (localToken) dispatch({type: "SET_TOKEN", token: localToken});
+ if (localToken) dispatch({ type: "SET_TOKEN", token: localToken });
}, []);
useEffect(() => {
diff --git a/src/lib/app/hooks/useChart.jsx b/src/lib/app/hooks/useChart.jsx
index 5aac9e2..3fa0676 100644
--- a/src/lib/app/hooks/useChart.jsx
+++ b/src/lib/app/hooks/useChart.jsx
@@ -1,40 +1,39 @@
import useRequest from "@/lib/app/hooks/useRequest";
import useSWR from "swr";
-import {useState} from "react";
+import { useState } from "react";
const useChart = (chart_url) => {
- const requestServer = useRequest({auth: true, notification: false})
+ const requestServer = useRequest({ auth: true, notification: false });
const [filterOption, setFilterOption] = useState([]);
- const queryString = filterOption.length !== 0
- ? `?${filterOption.map((option) => `${option.key}=${option.value}`).join('&')}`
- : '';
+ const queryString =
+ filterOption.length !== 0 ? `?${filterOption.map((option) => `${option.key}=${option.value}`).join("&")}` : "";
//swr config
const fetcher = (...args) => {
- return requestServer(args, 'get').then(({data}) => {
- return data.data;
- }).catch(() => {
- })
+ return requestServer(args, "get")
+ .then(({ data }) => {
+ return data.data;
+ })
+ .catch(() => {});
};
- const {
- data,
- isValidating,
- mutate
- } = useSWR(filterOption.length !== 0 ? `${chart_url}${queryString}` : chart_url, fetcher, {
- revalidateIfStale: true,
- revalidateOnFocus: false,
- revalidateOnReconnect: false,
- keepPreviousData: true
- });
-
+ const { data, isValidating, mutate } = useSWR(
+ filterOption.length !== 0 ? `${chart_url}${queryString}` : chart_url,
+ fetcher,
+ {
+ revalidateIfStale: true,
+ revalidateOnFocus: false,
+ revalidateOnReconnect: false,
+ keepPreviousData: true,
+ }
+ );
return {
reportList: data,
isLoadingReportList: isValidating,
errorReportList: !data,
setFilterOption: setFilterOption,
- mutate: mutate
- }
+ mutate: mutate,
+ };
};
-export default useChart;
\ No newline at end of file
+export default useChart;
diff --git a/src/lib/app/hooks/useConfig.jsx b/src/lib/app/hooks/useConfig.jsx
index 42d5a78..6737519 100644
--- a/src/lib/app/hooks/useConfig.jsx
+++ b/src/lib/app/hooks/useConfig.jsx
@@ -1,5 +1,5 @@
-import {useContext} from "react";
-import {ConfigContext} from "@/lib/app/contexts/config";
+import { useContext } from "react";
+import { ConfigContext } from "@/lib/app/contexts/config";
export const useConfig = () => {
const context = useContext(ConfigContext);
@@ -8,5 +8,5 @@ export const useConfig = () => {
throw new Error("useConfig must be used within a ConfigProvider");
}
- return {config: context.config};
+ return { config: context.config };
};
diff --git a/src/lib/app/hooks/useDirection.jsx b/src/lib/app/hooks/useDirection.jsx
index b2e01fe..2d92afe 100644
--- a/src/lib/app/hooks/useDirection.jsx
+++ b/src/lib/app/hooks/useDirection.jsx
@@ -1,10 +1,10 @@
-import {useContext} from "react";
-import {LanguageContext} from "../contexts/language";
+import { useContext } from "react";
+import { LanguageContext } from "../contexts/language";
const useDirection = () => {
- const {directionApp} = useContext(LanguageContext);
+ const { directionApp } = useContext(LanguageContext);
- return {directionApp};
+ return { directionApp };
};
export default useDirection;
diff --git a/src/lib/app/hooks/useLanguage.jsx b/src/lib/app/hooks/useLanguage.jsx
index d663835..2d93702 100644
--- a/src/lib/app/hooks/useLanguage.jsx
+++ b/src/lib/app/hooks/useLanguage.jsx
@@ -1,16 +1,11 @@
-import {useContext} from "react";
-import {LanguageContext} from "../contexts/language";
+import { useContext } from "react";
+import { LanguageContext } from "../contexts/language";
import useUser from "./useUser";
const useLanguage = () => {
- const {isAuth, changeUserLanguage} = useUser();
- const {
- languageApp,
- setLanguageApp,
- languageIsReady,
- setLanguageIsReady,
- languageList,
- } = useContext(LanguageContext);
+ const { isAuth, changeUserLanguage } = useUser();
+ const { languageApp, setLanguageApp, languageIsReady, setLanguageIsReady, languageList } =
+ useContext(LanguageContext);
const changeLanguage = (lang) => {
if (lang == languageApp) return;
@@ -22,7 +17,7 @@ const useLanguage = () => {
}
};
- return {languageApp, changeLanguage, languageIsReady, languageList};
+ return { languageApp, changeLanguage, languageIsReady, languageList };
};
export default useLanguage;
diff --git a/src/lib/app/hooks/useLoading.jsx b/src/lib/app/hooks/useLoading.jsx
index a691bd7..7193cf3 100644
--- a/src/lib/app/hooks/useLoading.jsx
+++ b/src/lib/app/hooks/useLoading.jsx
@@ -1,10 +1,10 @@
-import {useContext} from "react";
-import {LoadingContext} from "../contexts/loading";
+import { useContext } from "react";
+import { LoadingContext } from "../contexts/loading";
const useLoading = () => {
- const {setLoadingPage} = useContext(LoadingContext);
+ const { setLoadingPage } = useContext(LoadingContext);
- return {setLoadingPage};
+ return { setLoadingPage };
};
export default useLoading;
diff --git a/src/lib/app/hooks/useNetwork.jsx b/src/lib/app/hooks/useNetwork.jsx
index 9c436a5..184f238 100644
--- a/src/lib/app/hooks/useNetwork.jsx
+++ b/src/lib/app/hooks/useNetwork.jsx
@@ -1,4 +1,4 @@
-import {useEffect, useState} from "react";
+import { useEffect, useState } from "react";
function useNetwork() {
const [state, setState] = useState(() => {
@@ -31,4 +31,4 @@ function useNetwork() {
return state;
}
-export default useNetwork;
\ No newline at end of file
+export default useNetwork;
diff --git a/src/lib/app/hooks/useNotification.jsx b/src/lib/app/hooks/useNotification.jsx
index 8685227..db552ad 100644
--- a/src/lib/app/hooks/useNotification.jsx
+++ b/src/lib/app/hooks/useNotification.jsx
@@ -1,27 +1,29 @@
-import useSWR from 'swr'
-import {GET_SIDEBAR_NOTIFICATION} from "@/core/data/apiRoutes";
+import useSWR from "swr";
+import { GET_SIDEBAR_NOTIFICATION } from "@/core/data/apiRoutes";
import useRequest from "@/lib/app/hooks/useRequest";
const GLOBAL_HAS_VALUE = process.env.NEXT_PUBLIC_HAS_VALUE;
const hasPermissionsValue = GLOBAL_HAS_VALUE ? JSON.parse(GLOBAL_HAS_VALUE) : [];
const isNotificationEnabled = hasPermissionsValue.includes("NEXT_PUBLIC_HAS_NOTIFICATION");
const useNotification = () => {
-
- const requestServer = useRequest({auth: true, notification: false})
+ const requestServer = useRequest({ auth: true, notification: false });
//swr config
const fetcher = (...args) => {
- return requestServer(args, 'get').then((response) => {
- return response.data.data;
- }).catch(() => {
- })
+ return requestServer(args, "get")
+ .then((response) => {
+ return response.data.data;
+ })
+ .catch(() => {});
};
- const {data, mutate} = useSWR( isNotificationEnabled ? GET_SIDEBAR_NOTIFICATION : '', fetcher , {keepPreviousData:true})
- const notification_count = data
+ const { data, mutate } = useSWR(isNotificationEnabled ? GET_SIDEBAR_NOTIFICATION : "", fetcher, {
+ keepPreviousData: true,
+ });
+ const notification_count = data;
//swr config
// render data
- return {notification_count, update_notification: mutate}
-}
-export default useNotification
\ No newline at end of file
+ return { notification_count, update_notification: mutate };
+};
+export default useNotification;
diff --git a/src/lib/app/hooks/usePermissions.jsx b/src/lib/app/hooks/usePermissions.jsx
index 2e6fff5..8cdbac9 100644
--- a/src/lib/app/hooks/usePermissions.jsx
+++ b/src/lib/app/hooks/usePermissions.jsx
@@ -1,26 +1,27 @@
import useRequest from "@/lib/app/hooks/useRequest";
import useSWR from "swr";
-import {GET_PERMISSIONS_LIST} from "@/core/data/apiRoutes";
+import { GET_PERMISSIONS_LIST } from "@/core/data/apiRoutes";
const usePermissions = () => {
- const requestServer = useRequest({auth: true, notification: false})
+ const requestServer = useRequest({ auth: true, notification: false });
const fetcher = (...args) => {
- return requestServer(args, 'get').then((response) => {
- return response.data.data;
- }).catch(() => {
- })
+ return requestServer(args, "get")
+ .then((response) => {
+ return response.data.data;
+ })
+ .catch(() => {});
};
- const {data, isLoading} = useSWR(GET_PERMISSIONS_LIST, fetcher, {
+ const { data, isLoading } = useSWR(GET_PERMISSIONS_LIST, fetcher, {
revalidateIfStale: false,
revalidateOnFocus: false,
revalidateOnReconnect: false,
- keepPreviousData : true
- })
- const permissions_list = data
+ keepPreviousData: true,
+ });
+ const permissions_list = data;
//swr config
// render data
- return {permissions_list, isLoading}
-}
-export default usePermissions;
\ No newline at end of file
+ return { permissions_list, isLoading };
+};
+export default usePermissions;
diff --git a/src/lib/app/hooks/usePrint.jsx b/src/lib/app/hooks/usePrint.jsx
index 35a1017..cbe0237 100644
--- a/src/lib/app/hooks/usePrint.jsx
+++ b/src/lib/app/hooks/usePrint.jsx
@@ -1,18 +1,18 @@
-import {useContext} from "react";
-import {PrintContext} from "@/lib/app/contexts/print";
+import { useContext } from "react";
+import { PrintContext } from "@/lib/app/contexts/print";
const usePrint = () => {
- const {printDetails, printDispatch} = useContext(PrintContext);
+ const { printDetails, printDispatch } = useContext(PrintContext);
const setPrintPage = (count) => {
- printDispatch({type: 'SET_PRINT_PAGE', count})
- }
+ printDispatch({ type: "SET_PRINT_PAGE", count });
+ };
const setPrintTitle = (title) => {
- printDispatch({type: 'SET_PRINT_TITLE', title})
- }
+ printDispatch({ type: "SET_PRINT_TITLE", title });
+ };
- return {printDetails, setPrintPage, setPrintTitle}
+ return { printDetails, setPrintPage, setPrintTitle };
};
-export default usePrint;
\ No newline at end of file
+export default usePrint;
diff --git a/src/lib/app/hooks/useProvince.jsx b/src/lib/app/hooks/useProvince.jsx
index 2bc8c6b..f4bf426 100644
--- a/src/lib/app/hooks/useProvince.jsx
+++ b/src/lib/app/hooks/useProvince.jsx
@@ -1,30 +1,31 @@
-import {GET_PROVINCE_LIST} from "@/core/data/apiRoutes";
+import { GET_PROVINCE_LIST } from "@/core/data/apiRoutes";
import useRequest from "@/lib/app/hooks/useRequest";
import useSWR from "swr";
const useProvince = () => {
- const requestServer = useRequest({auth: true, notification: false})
+ const requestServer = useRequest({ auth: true, notification: false });
//swr config
const fetcher = (...args) => {
- return requestServer(args, 'get').then(({data}) => {
- return data.data;
- }).catch(() => {
- })
+ return requestServer(args, "get")
+ .then(({ data }) => {
+ return data.data;
+ })
+ .catch(() => {});
};
- const {data, isLoading} = useSWR(GET_PROVINCE_LIST, fetcher, {
+ const { data, isLoading } = useSWR(GET_PROVINCE_LIST, fetcher, {
revalidateIfStale: false,
revalidateOnFocus: false,
revalidateOnReconnect: false,
- keepPreviousData: true
+ keepPreviousData: true,
});
return {
provinceList: data,
isLoadingProvinceList: isLoading,
- errorProvinceList: !data
- }
+ errorProvinceList: !data,
+ };
};
-export default useProvince;
\ No newline at end of file
+export default useProvince;
diff --git a/src/lib/app/hooks/useRequest.jsx b/src/lib/app/hooks/useRequest.jsx
index 9421c61..78ac63e 100644
--- a/src/lib/app/hooks/useRequest.jsx
+++ b/src/lib/app/hooks/useRequest.jsx
@@ -1,8 +1,8 @@
import axios from "axios";
-import {successRequest} from "@/core/utils/succesHandler";
-import {useTranslations} from "next-intl";
+import { successRequest } from "@/core/utils/succesHandler";
+import { useTranslations } from "next-intl";
import useUser from "@/lib/app/hooks/useUser";
-import {errorRequest, errorResponse, errorSetting} from "@/core/utils/errorHandler";
+import { errorRequest, errorResponse, errorSetting } from "@/core/utils/errorHandler";
import useNetwork from "@/lib/app/hooks/useNetwork";
import Notifications from "@/core/components/notifications";
import useToast from "@/lib/app/hooks/useToast";
@@ -11,7 +11,7 @@ const defaultOptions = {
auth: false,
data: {},
requestOptions: {
- headers: {}
+ headers: {},
},
notification: true,
pending: true,
@@ -25,26 +25,28 @@ const defaultOptions = {
show: true,
},
},
-}
+};
const useRequest = (initOptions) => {
- const network = useNetwork()
- const t = useTranslations()
- const {token, clearToken} = useUser()
- const {pushToastList, dismissToastList} = useToast();
- let _options = {...defaultOptions, ...initOptions}
+ const network = useNetwork();
+ const t = useTranslations();
+ const { token, clearToken } = useUser();
+ const { pushToastList, dismissToastList } = useToast();
+ let _options = { ...defaultOptions, ...initOptions };
- function requestServer(url = '', method = 'get', options) {
- _options = {..._options, ...options}
- if (_options.auth) _options = {
- ..._options, requestOptions: {
- ..._options.requestOptions,
- headers: {..._options.requestOptions.headers, authorization: `Bearer ${token}`}
- }
- }
+ function requestServer(url = "", method = "get", options) {
+ _options = { ..._options, ...options };
+ if (_options.auth)
+ _options = {
+ ..._options,
+ requestOptions: {
+ ..._options.requestOptions,
+ headers: { ..._options.requestOptions.headers, authorization: `Bearer ${token}` },
+ },
+ };
return new Promise((resolve, reject) => {
if (!network.online) {
- reject()
- return
+ reject();
+ return;
}
if (_options.notification && _options.failed.notification.show && _options.pending) {
dismissToastList(["pending", "warning", "error", "success"]);
@@ -52,26 +54,36 @@ const useRequest = (initOptions) => {
}
axios({
- url: url, method: method, data: _options.data, ..._options.requestOptions
+ url: url,
+ method: method,
+ data: _options.data,
+ ..._options.requestOptions,
})
- .then(response => {
- successRequest(pushToastList, dismissToastList, response, t, _options)
- resolve(response)
+ .then((response) => {
+ successRequest(pushToastList, dismissToastList, response, t, _options);
+ resolve(response);
})
- .catch(error => {
+ .catch((error) => {
if (error.response) {
- errorResponse(pushToastList, dismissToastList, error.response, clearToken, t, _options.notification && _options.failed.notification.show)
+ errorResponse(
+ pushToastList,
+ dismissToastList,
+ error.response,
+ clearToken,
+ t,
+ _options.notification && _options.failed.notification.show
+ );
} else if (error.request) {
- errorRequest(dismissToastList, t, _options.notification && _options.failed.notification.show)
+ errorRequest(dismissToastList, t, _options.notification && _options.failed.notification.show);
} else {
- errorSetting(dismissToastList, t, _options.notification && _options.failed.notification.show)
+ errorSetting(dismissToastList, t, _options.notification && _options.failed.notification.show);
}
- reject(error)
- })
+ reject(error);
+ });
});
}
- return requestServer
-}
+ return requestServer;
+};
-export default useRequest
\ No newline at end of file
+export default useRequest;
diff --git a/src/lib/app/hooks/useRole.jsx b/src/lib/app/hooks/useRole.jsx
index b4c231c..4fdd3af 100644
--- a/src/lib/app/hooks/useRole.jsx
+++ b/src/lib/app/hooks/useRole.jsx
@@ -1,30 +1,31 @@
-import {GET_ROLE_LIST} from "@/core/data/apiRoutes";
+import { GET_ROLE_LIST } from "@/core/data/apiRoutes";
import useRequest from "@/lib/app/hooks/useRequest";
import useSWR from "swr";
const useRole = () => {
- const requestServer = useRequest({auth: true, notification: false})
+ const requestServer = useRequest({ auth: true, notification: false });
//swr config
const fetcher = (...args) => {
- return requestServer(args, 'get').then(({data}) => {
- return data.data;
- }).catch(() => {
- })
+ return requestServer(args, "get")
+ .then(({ data }) => {
+ return data.data;
+ })
+ .catch(() => {});
};
- const {data, isLoading} = useSWR(GET_ROLE_LIST, fetcher, {
+ const { data, isLoading } = useSWR(GET_ROLE_LIST, fetcher, {
revalidateIfStale: false,
revalidateOnFocus: false,
revalidateOnReconnect: false,
- keepPreviousData: true
+ keepPreviousData: true,
});
return {
roleList: data,
isLoadingRoleList: isLoading,
- errorRoleList: !data
- }
+ errorRoleList: !data,
+ };
};
-export default useRole;
\ No newline at end of file
+export default useRole;
diff --git a/src/lib/app/hooks/useToast.jsx b/src/lib/app/hooks/useToast.jsx
index 5e1d5b4..daa0493 100644
--- a/src/lib/app/hooks/useToast.jsx
+++ b/src/lib/app/hooks/useToast.jsx
@@ -1,21 +1,21 @@
-import {useContext} from "react";
-import {ToastContext} from "@/lib/app/contexts/toast";
+import { useContext } from "react";
+import { ToastContext } from "@/lib/app/contexts/toast";
const useToast = () => {
- const {dispatch} = useContext(ToastContext);
+ const { dispatch } = useContext(ToastContext);
const pushToastList = (toast_type, toast_id) => {
- dispatch({type: "PUSH", toast_type, toast_id});
+ dispatch({ type: "PUSH", toast_type, toast_id });
};
const dismissToastList = (toast_type) => {
- dispatch({type: "DISMISS", toast_type});
+ dispatch({ type: "DISMISS", toast_type });
};
return {
pushToastList,
- dismissToastList
- }
+ dismissToastList,
+ };
};
-export default useToast;
\ No newline at end of file
+export default useToast;
diff --git a/src/lib/app/hooks/useUser.jsx b/src/lib/app/hooks/useUser.jsx
index b0bbc1a..94b8041 100644
--- a/src/lib/app/hooks/useUser.jsx
+++ b/src/lib/app/hooks/useUser.jsx
@@ -1,5 +1,5 @@
-import {useContext} from "react";
-import {UserContext} from "../contexts/user";
+import { useContext } from "react";
+import { UserContext } from "../contexts/user";
const useUser = () => {
const {
diff --git a/src/lib/prefetchDataTable/hooks/useLoanStateNavgan.jsx b/src/lib/prefetchDataTable/hooks/useLoanStateNavgan.jsx
index cf3453b..c6d4dec 100644
--- a/src/lib/prefetchDataTable/hooks/useLoanStateNavgan.jsx
+++ b/src/lib/prefetchDataTable/hooks/useLoanStateNavgan.jsx
@@ -1,27 +1,28 @@
-import useSWR from 'swr'
-import {GET_LOAN_STATE_NAVGAN} from "@/core/data/apiRoutes";
+import useSWR from "swr";
+import { GET_LOAN_STATE_NAVGAN } from "@/core/data/apiRoutes";
import useRequest from "@/lib/app/hooks/useRequest";
const useLoanStateNavgan = () => {
- const requestServer = useRequest({auth: true, notification: false})
+ const requestServer = useRequest({ auth: true, notification: false });
//swr config
const fetcher = (...args) => {
- return requestServer(args, 'get').then((response) => {
- return response.data.data;
- }).catch(() => {
- })
+ return requestServer(args, "get")
+ .then((response) => {
+ return response.data.data;
+ })
+ .catch(() => {});
};
- const {data} = useSWR(GET_LOAN_STATE_NAVGAN, fetcher, {
+ const { data } = useSWR(GET_LOAN_STATE_NAVGAN, fetcher, {
revalidateIfStale: false,
revalidateOnFocus: false,
- revalidateOnReconnect: false
- })
- const loan_state_navgan = data
+ revalidateOnReconnect: false,
+ });
+ const loan_state_navgan = data;
//swr config
// render data
- return {loan_state_navgan}
-}
-export default useLoanStateNavgan
\ No newline at end of file
+ return { loan_state_navgan };
+};
+export default useLoanStateNavgan;
diff --git a/src/lib/prefetchDataTable/hooks/useLoanStateRefahi.jsx b/src/lib/prefetchDataTable/hooks/useLoanStateRefahi.jsx
index 598ac72..5cb199d 100644
--- a/src/lib/prefetchDataTable/hooks/useLoanStateRefahi.jsx
+++ b/src/lib/prefetchDataTable/hooks/useLoanStateRefahi.jsx
@@ -1,27 +1,28 @@
-import useSWR from 'swr'
-import {GET_LOAN_STATE_REFAHI} from "@/core/data/apiRoutes";
+import useSWR from "swr";
+import { GET_LOAN_STATE_REFAHI } from "@/core/data/apiRoutes";
import useRequest from "@/lib/app/hooks/useRequest";
const useLoanStateRefahi = () => {
- const requestServer = useRequest({auth: true, notification: false})
+ const requestServer = useRequest({ auth: true, notification: false });
//swr config
const fetcher = (...args) => {
- return requestServer(args, 'get').then((response) => {
- return response.data.data;
- }).catch(() => {
- })
+ return requestServer(args, "get")
+ .then((response) => {
+ return response.data.data;
+ })
+ .catch(() => {});
};
- const {data} = useSWR(GET_LOAN_STATE_REFAHI, fetcher, {
+ const { data } = useSWR(GET_LOAN_STATE_REFAHI, fetcher, {
revalidateIfStale: false,
revalidateOnFocus: false,
- revalidateOnReconnect: false
- })
- const loan_state_refahi = data
+ revalidateOnReconnect: false,
+ });
+ const loan_state_refahi = data;
//swr config
// render data
- return {loan_state_refahi}
-}
-export default useLoanStateRefahi
\ No newline at end of file
+ return { loan_state_refahi };
+};
+export default useLoanStateRefahi;
diff --git a/src/middlewares/RolePermission.jsx b/src/middlewares/RolePermission.jsx
index c546220..81a46f9 100644
--- a/src/middlewares/RolePermission.jsx
+++ b/src/middlewares/RolePermission.jsx
@@ -1,14 +1,15 @@
import useUser from "@/lib/app/hooks/useUser";
import RolePermissionComponent from "@/core/components/Middleware/RolePermissionComponent";
-const RolePermissionMiddleware = ({children, requiredPermissions = []}) => {
- const {user} = useUser();
+const RolePermissionMiddleware = ({ children, requiredPermissions = [] }) => {
+ const { user } = useUser();
- const hasPermission = requiredPermissions.length === 0 ? true : requiredPermissions.some((permission) =>
- user?.permissions?.includes(permission)
- );
+ const hasPermission =
+ requiredPermissions.length === 0
+ ? true
+ : requiredPermissions.some((permission) => user?.permissions?.includes(permission));
- return !hasPermission ? : <>{children}>;
+ return !hasPermission ? : <>{children}>;
};
export default RolePermissionMiddleware;
diff --git a/src/middlewares/WithAuth.jsx b/src/middlewares/WithAuth.jsx
index 4f55660..beb4bad 100644
--- a/src/middlewares/WithAuth.jsx
+++ b/src/middlewares/WithAuth.jsx
@@ -1,8 +1,8 @@
import useUser from "@/lib/app/hooks/useUser";
import WithAuthComponent from "@/core/components/Middleware/WithAuthComponent";
-const WithAuthMiddleware = ({children}) => {
- const {isAuth} = useUser();
+const WithAuthMiddleware = ({ children }) => {
+ const { isAuth } = useUser();
return isAuth ? <>{children}> : ;
};
diff --git a/src/middlewares/WithoutAuth.jsx b/src/middlewares/WithoutAuth.jsx
index 80169c8..c8fb014 100644
--- a/src/middlewares/WithoutAuth.jsx
+++ b/src/middlewares/WithoutAuth.jsx
@@ -1,11 +1,10 @@
import useUser from "@/lib/app/hooks/useUser";
-import {useRouter} from "next/router";
-import {useEffect} from "react";
+import { useRouter } from "next/router";
+import { useEffect } from "react";
import WithoutAuthComponent from "@/core/components/Middleware/WithoutAuthComponent";
-const WithoutAuthMiddleware = ({children}) => {
-
- const {isAuth} = useUser();
+const WithoutAuthMiddleware = ({ children }) => {
+ const { isAuth } = useUser();
const router = useRouter();
const backUrlDecodedPath = router.query?.back_url;
@@ -13,11 +12,7 @@ const WithoutAuthMiddleware = ({children}) => {
useEffect(() => {
if (!isAuth) return;
const timer = setTimeout(() => {
- router.replace(
- backUrlDecodedPath
- ? decodeURIComponent(backUrlDecodedPath)
- : "/dashboard"
- );
+ router.replace(backUrlDecodedPath ? decodeURIComponent(backUrlDecodedPath) : "/dashboard");
}, 2000);
return () => {
@@ -25,11 +20,7 @@ const WithoutAuthMiddleware = ({children}) => {
};
}, [isAuth]);
- return isAuth ? (
-
- ) : (
- <>{children}>
- );
+ return isAuth ? : <>{children}>;
};
export default WithoutAuthMiddleware;
diff --git a/src/pages/403.jsx b/src/pages/403.jsx
index 15ba915..cb203d9 100644
--- a/src/pages/403.jsx
+++ b/src/pages/403.jsx
@@ -1,24 +1,24 @@
-import {useEffect, useState} from "react";
-import {useRouter} from "next/router";
-import {NextIntlProvider} from "next-intl";
+import { useEffect, useState } from "react";
+import { useRouter } from "next/router";
+import { NextIntlProvider } from "next-intl";
import UnAuthorizedComponent from "@/components/errors/403";
export default function Custom404() {
- const router = useRouter()
- const [messages, setMessages] = useState(null)
+ const router = useRouter();
+ const [messages, setMessages] = useState(null);
useEffect(() => {
const fetch = async () => {
- const tempMessages = (await import(`&/locales/${router.locale}/app.json`)).default
- setMessages(tempMessages)
- }
- fetch()
+ const tempMessages = (await import(`&/locales/${router.locale}/app.json`)).default;
+ setMessages(tempMessages);
+ };
+ fetch();
}, []);
- if (!messages) return
+ if (!messages) return;
return (
-
+
);
}
diff --git a/src/pages/404.jsx b/src/pages/404.jsx
index 26de038..b12bff3 100644
--- a/src/pages/404.jsx
+++ b/src/pages/404.jsx
@@ -1,25 +1,24 @@
-import {useEffect, useState} from "react";
-import {useRouter} from "next/router";
-import {NextIntlProvider} from "next-intl";
+import { useEffect, useState } from "react";
+import { useRouter } from "next/router";
+import { NextIntlProvider } from "next-intl";
import NotFoundComponent from "@/components/errors/404";
export default function Custom404() {
- const router = useRouter()
- const [messages, setMessages] = useState(null)
+ const router = useRouter();
+ const [messages, setMessages] = useState(null);
useEffect(() => {
-
const fetch = async () => {
- const tempMessages = (await import(`&/locales/${router.locale}/app.json`)).default
- setMessages(tempMessages)
- }
- fetch()
+ const tempMessages = (await import(`&/locales/${router.locale}/app.json`)).default;
+ setMessages(tempMessages);
+ };
+ fetch();
}, []);
- if (!messages) return
+ if (!messages) return;
return (
-
+
);
}
diff --git a/src/pages/500.jsx b/src/pages/500.jsx
index 4b85bc2..defd0cb 100644
--- a/src/pages/500.jsx
+++ b/src/pages/500.jsx
@@ -1,24 +1,24 @@
-import {useEffect, useState} from "react";
-import {useRouter} from "next/router";
-import {NextIntlProvider} from "next-intl";
+import { useEffect, useState } from "react";
+import { useRouter } from "next/router";
+import { NextIntlProvider } from "next-intl";
import ServerErrorComponent from "@/components/errors/500";
export default function Custom500() {
- const router = useRouter()
- const [messages, setMessages] = useState(null)
+ const router = useRouter();
+ const [messages, setMessages] = useState(null);
useEffect(() => {
const fetch = async () => {
- const tempMessages = (await import(`&/locales/${router.locale}/app.json`)).default
- setMessages(tempMessages)
- }
- fetch()
+ const tempMessages = (await import(`&/locales/${router.locale}/app.json`)).default;
+ setMessages(tempMessages);
+ };
+ fetch();
}, []);
- if (!messages) return
+ if (!messages) return;
return (
-
+
);
}
diff --git a/src/pages/_app.jsx b/src/pages/_app.jsx
index e572fe6..36b2dda 100644
--- a/src/pages/_app.jsx
+++ b/src/pages/_app.jsx
@@ -1,25 +1,25 @@
import "&/fontiran.scss";
import AppLayout from "@/layouts/AppLayout";
import MuiLayout from "@/layouts/MuiLayout";
-import {LanguageProvider} from "@/lib/app/contexts/language";
-import {LoadingProvider} from "@/lib/app/contexts/loading";
-import {UserProvider} from "@/lib/app/contexts/user";
+import { LanguageProvider } from "@/lib/app/contexts/language";
+import { LoadingProvider } from "@/lib/app/contexts/loading";
+import { UserProvider } from "@/lib/app/contexts/user";
import "moment/locale/fa";
-import {NextIntlProvider} from "next-intl";
+import { NextIntlProvider } from "next-intl";
import TitlePage from "@/core/components/TitlePage";
import Layout from "@/layouts";
-import {ToastProvider} from "@/lib/app/contexts/toast";
-import {PrintProvider} from "@/lib/app/contexts/print";
+import { ToastProvider } from "@/lib/app/contexts/toast";
+import { PrintProvider } from "@/lib/app/contexts/print";
import ConfigApp from "@/core/components/Config";
-const App = ({Component, pageProps}) => {
-
- return (
+const App = ({ Component, pageProps }) => {
+ return (
+
- {pageProps.messages ? : ''}
+ {pageProps.messages ? : ""}
@@ -35,7 +35,8 @@ const App = ({Component, pageProps}) => {
- );
+
+ );
};
export default App;
diff --git a/src/pages/_document.jsx b/src/pages/_document.jsx
index 474e29b..bd0c9f4 100644
--- a/src/pages/_document.jsx
+++ b/src/pages/_document.jsx
@@ -1,23 +1,23 @@
-import {createEmotionCacheRtl} from "@/core/utils/createEmotionCache";
+import { createEmotionCacheRtl } from "@/core/utils/createEmotionCache";
import theme from "@/core/utils/theme";
import createEmotionServer from "@emotion/server/create-instance";
-import Document, {Head, Html, Main, NextScript} from "next/document";
+import Document, { Head, Html, Main, NextScript } from "next/document";
export default function MyDocument(props) {
- const {emotionStyleTags} = props;
+ const { emotionStyleTags } = props;
return (
-
-
-
-
+
+
+
+
{emotionStyleTags}
-
-
+
+
);
@@ -32,7 +32,7 @@ MyDocument.getInitialProps = async (ctx) => {
break;
}
- const {extractCriticalToChunks} = createEmotionServer(cache);
+ const { extractCriticalToChunks } = createEmotionServer(cache);
ctx.renderPage = () =>
originalRenderPage({
@@ -50,7 +50,7 @@ MyDocument.getInitialProps = async (ctx) => {
data-emotion={`${style.key} ${style.ids.join(" ")}`}
key={style.key}
// eslint-disable-next-line react/no-danger
- dangerouslySetInnerHTML={{__html: style.css}}
+ dangerouslySetInnerHTML={{ __html: style.css }}
/>
));
diff --git a/src/pages/dashboard/admin-setting/index.jsx b/src/pages/dashboard/admin-setting/index.jsx
index 70dc722..d778c6e 100644
--- a/src/pages/dashboard/admin-setting/index.jsx
+++ b/src/pages/dashboard/admin-setting/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardAdminSettingComponent from "@/components/dashboard/admin-setting";
export default function AdminSetting() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.admin_setting",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["view_settings"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["view_settings"] } },
},
};
}
diff --git a/src/pages/dashboard/bank-management/index.jsx b/src/pages/dashboard/bank-management/index.jsx
index 08ed24e..429f265 100644
--- a/src/pages/dashboard/bank-management/index.jsx
+++ b/src/pages/dashboard/bank-management/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardBankManagementComponent from "@/components/dashboard/bank-management";
export default function BankManagement() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.bank_management_page",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["tracking_bank_loans"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["tracking_bank_loans"] } },
},
};
}
diff --git a/src/pages/dashboard/change-password/index.jsx b/src/pages/dashboard/change-password/index.jsx
index ef75fb7..7b83837 100644
--- a/src/pages/dashboard/change-password/index.jsx
+++ b/src/pages/dashboard/change-password/index.jsx
@@ -1,21 +1,19 @@
import DashboardChangePasswordComponent from "@/components/dashboard/change-password";
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
export default function LoanFollowUp() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.change_password",
isBot,
locale,
- layout: {name: 'DashboardLayout'}
+ layout: { name: "DashboardLayout" },
},
};
}
diff --git a/src/pages/dashboard/commercial-chief/index.jsx b/src/pages/dashboard/commercial-chief/index.jsx
index 1ec5fbf..5d5eec7 100644
--- a/src/pages/dashboard/commercial-chief/index.jsx
+++ b/src/pages/dashboard/commercial-chief/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardCommercialChiefComponent from "@/components/dashboard/commercial-chief";
export default function CommercialChief() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.commercial_chief_page",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_commercial_refahi"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_commercial_refahi"] } },
},
};
}
diff --git a/src/pages/dashboard/development-assistant/index.jsx b/src/pages/dashboard/development-assistant/index.jsx
index 346a340..6c8aa33 100644
--- a/src/pages/dashboard/development-assistant/index.jsx
+++ b/src/pages/dashboard/development-assistant/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardDevelopmentAssistantComponent from "@/components/dashboard/development-assistant";
export default function DevelopmentAssistant() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.development_assistant_page",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_development_refahi"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_development_refahi"] } },
},
};
}
diff --git a/src/pages/dashboard/edit-profile/index.jsx b/src/pages/dashboard/edit-profile/index.jsx
index 032a607..5fb010e 100644
--- a/src/pages/dashboard/edit-profile/index.jsx
+++ b/src/pages/dashboard/edit-profile/index.jsx
@@ -1,21 +1,19 @@
import DashboardEditProfile from "@/components/dashboard/edit-profile";
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
export default function LoanFollowUp() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.edit_profile",
isBot,
locale,
- layout: {name: 'DashboardLayout'}
+ layout: { name: "DashboardLayout" },
},
};
}
diff --git a/src/pages/dashboard/expert-management/index.jsx b/src/pages/dashboard/expert-management/index.jsx
index 5f1c29a..916e1ca 100644
--- a/src/pages/dashboard/expert-management/index.jsx
+++ b/src/pages/dashboard/expert-management/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardExpertManagementComponent from "@/components/dashboard/expert-management";
export default function ExpertManagement() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.expert_management",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_experts"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_experts"] } },
},
};
}
diff --git a/src/pages/dashboard/index.jsx b/src/pages/dashboard/index.jsx
index a736442..40294a1 100644
--- a/src/pages/dashboard/index.jsx
+++ b/src/pages/dashboard/index.jsx
@@ -1,28 +1,26 @@
import DashboardFirstComponent from "@/components/dashboard/first";
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import useUser from "@/lib/app/hooks/useUser";
export default function Dashboard() {
- const {user} = useUser();
+ const { user } = useUser();
- const hasPermission = user?.permissions?.includes("view_dashboard_stats")
+ const hasPermission = user?.permissions?.includes("view_dashboard_stats");
- if (!hasPermission) return null
+ if (!hasPermission) return null;
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.dashboard_page",
isBot,
locale,
- layout: {name: 'DashboardLayout'}
+ layout: { name: "DashboardLayout" },
},
};
}
diff --git a/src/pages/dashboard/inspector-expert/index.jsx b/src/pages/dashboard/inspector-expert/index.jsx
index c2d14f8..24994aa 100644
--- a/src/pages/dashboard/inspector-expert/index.jsx
+++ b/src/pages/dashboard/inspector-expert/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardInspectorExpertComponent from "@/components/dashboard/inspector-expert";
export default function InspectorExpert() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.inspector_expert_page",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_inspector_refahi"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_inspector_refahi"] } },
},
};
}
diff --git a/src/pages/dashboard/loan-followup/index.jsx b/src/pages/dashboard/loan-followup/index.jsx
index 7494676..fc3d7a6 100644
--- a/src/pages/dashboard/loan-followup/index.jsx
+++ b/src/pages/dashboard/loan-followup/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardLoanFollowUpComponent from "@/components/dashboard/loan-followup";
export default function LoanFollowUp() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.loan_followup",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_vezarat_eghtesad_loans"]}} //permission should change
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_vezarat_eghtesad_loans"] } }, //permission should change
},
};
}
diff --git a/src/pages/dashboard/loan-history/index.jsx b/src/pages/dashboard/loan-history/index.jsx
index b451589..4e61957 100644
--- a/src/pages/dashboard/loan-history/index.jsx
+++ b/src/pages/dashboard/loan-history/index.jsx
@@ -1,21 +1,22 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardLoanHistoryComponent from "@/components/dashboard/loan-history";
export default function LoanHistory() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.loan_history",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["view_navgan_loans", "view_navgan_loans_province"]}}
+ layout: {
+ name: "DashboardLayout",
+ props: { permissions: ["view_navgan_loans", "view_navgan_loans_province"] },
+ },
},
};
}
diff --git a/src/pages/dashboard/navgan-loan-management/index.jsx b/src/pages/dashboard/navgan-loan-management/index.jsx
index 792ea3e..6bf8d46 100644
--- a/src/pages/dashboard/navgan-loan-management/index.jsx
+++ b/src/pages/dashboard/navgan-loan-management/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardNavganLoanManagementComponent from "@/components/dashboard/navgan-loan-management";
export default function NavganLoanManagement() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.loan_management_page",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_navgan_loan"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_navgan_loan"] } },
},
};
}
diff --git a/src/pages/dashboard/navgan-province-manager/index.jsx b/src/pages/dashboard/navgan-province-manager/index.jsx
index 39102cb..ff370ef 100644
--- a/src/pages/dashboard/navgan-province-manager/index.jsx
+++ b/src/pages/dashboard/navgan-province-manager/index.jsx
@@ -1,21 +1,19 @@
import DashboardNavganProvinceManagerComponent from "src/components/dashboard/navgan-province-manager";
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
export default function PassengerOffice() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.province_manager_page",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_province_affairs_navgan"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_province_affairs_navgan"] } },
},
};
}
diff --git a/src/pages/dashboard/old-reports/index.jsx b/src/pages/dashboard/old-reports/index.jsx
index 31e36cd..a9021ca 100644
--- a/src/pages/dashboard/old-reports/index.jsx
+++ b/src/pages/dashboard/old-reports/index.jsx
@@ -1,20 +1,18 @@
import DashboardReportsComponent from "@/components/dashboard/old-reports";
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
export default function Reports() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.reports",
isBot,
- layout: {name: 'DashboardLayout', props: {permissions: ["view_reports_navgan"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["view_reports_navgan"] } },
},
};
}
diff --git a/src/pages/dashboard/passenger-boss/index.jsx b/src/pages/dashboard/passenger-boss/index.jsx
index c38b95f..440eddc 100644
--- a/src/pages/dashboard/passenger-boss/index.jsx
+++ b/src/pages/dashboard/passenger-boss/index.jsx
@@ -1,21 +1,19 @@
import DashboardPassengerBossComponent from "@/components/dashboard/passenger-boss";
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
export default function PassengerBoss() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.passenger_boss_page",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_province_working_group_navgan"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_province_working_group_navgan"] } },
},
};
}
diff --git a/src/pages/dashboard/province-head-expert/index.jsx b/src/pages/dashboard/province-head-expert/index.jsx
index b556d20..7863976 100644
--- a/src/pages/dashboard/province-head-expert/index.jsx
+++ b/src/pages/dashboard/province-head-expert/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardProvinceHeadExpertComponent from "@/components/dashboard/province-head-expert";
export default function ProvinceHeadExpertOffice() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.province_head_expert",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_province_headquarter_refahi"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_province_headquarter_refahi"] } },
},
};
}
diff --git a/src/pages/dashboard/refahi-loan-management/index.jsx b/src/pages/dashboard/refahi-loan-management/index.jsx
index 4aab9a0..bf49b03 100644
--- a/src/pages/dashboard/refahi-loan-management/index.jsx
+++ b/src/pages/dashboard/refahi-loan-management/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardRefahiLoanManagementComponent from "@/components/dashboard/refahi-loan-management";
export default function RefahiLoanManagement() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.loan_management_page",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_refahi_loan"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_refahi_loan"] } },
},
};
}
diff --git a/src/pages/dashboard/refahi-province-manager/index.jsx b/src/pages/dashboard/refahi-province-manager/index.jsx
index cc5c1eb..3653beb 100644
--- a/src/pages/dashboard/refahi-province-manager/index.jsx
+++ b/src/pages/dashboard/refahi-province-manager/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardRefahiProvinceManagerComponent from "@/components/dashboard/refahi-province-manager";
export default function RefahiProvinceManager() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.province_manager_page",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_province_affairs_refahi"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_province_affairs_refahi"] } },
},
};
}
diff --git a/src/pages/dashboard/reports/index.jsx b/src/pages/dashboard/reports/index.jsx
index 7a7de52..088dc33 100644
--- a/src/pages/dashboard/reports/index.jsx
+++ b/src/pages/dashboard/reports/index.jsx
@@ -1,20 +1,18 @@
import DashboardReportsComponent from "@/components/dashboard/reports";
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
export default function Reports() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.reports",
isBot,
- layout: {name: 'DashboardLayout', props: {permissions: ["view_reports_navgan"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["view_reports_navgan"] } },
},
};
}
diff --git a/src/pages/dashboard/reserve-loan/index.jsx b/src/pages/dashboard/reserve-loan/index.jsx
index b849203..6b6739c 100644
--- a/src/pages/dashboard/reserve-loan/index.jsx
+++ b/src/pages/dashboard/reserve-loan/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardReserveLoan from "@/components/dashboard/reserve-loan";
export default function PassengerOffice() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.reserve_loans",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_reserved_loans"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_reserved_loans"] } },
},
};
}
diff --git a/src/pages/dashboard/role-management/index.jsx b/src/pages/dashboard/role-management/index.jsx
index 7ae6d45..f127505 100644
--- a/src/pages/dashboard/role-management/index.jsx
+++ b/src/pages/dashboard/role-management/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardRoleManagementComponent from "@/components/dashboard/role-management";
export default function RoleManagement() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.role_management_page",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_roles"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_roles"] } },
},
};
}
diff --git a/src/pages/dashboard/transportation-assistant/index.jsx b/src/pages/dashboard/transportation-assistant/index.jsx
index 7c0b4b6..c98090e 100644
--- a/src/pages/dashboard/transportation-assistant/index.jsx
+++ b/src/pages/dashboard/transportation-assistant/index.jsx
@@ -1,21 +1,19 @@
import DashboardTransportationAssistanceComponent from "@/components/dashboard/transportation-assistance";
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
export default function TransportationAssistance() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.transportation_assistance",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_transportation_navgan"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_transportation_navgan"] } },
},
};
}
diff --git a/src/pages/dashboard/user-management/index.jsx b/src/pages/dashboard/user-management/index.jsx
index e92c2b2..ae145f6 100644
--- a/src/pages/dashboard/user-management/index.jsx
+++ b/src/pages/dashboard/user-management/index.jsx
@@ -1,21 +1,19 @@
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
import DashboardUserManagementComponent from "@/components/dashboard/user-management";
export default function UserManagement() {
- return (
-
- );
+ return ;
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "Dashboard.user_management_page",
isBot,
locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_users"]}}
+ layout: { name: "DashboardLayout", props: { permissions: ["manage_users"] } },
},
};
}
diff --git a/src/pages/index.jsx b/src/pages/index.jsx
index 996ba03..c7f17e0 100644
--- a/src/pages/index.jsx
+++ b/src/pages/index.jsx
@@ -1,22 +1,22 @@
import FirstComponent from "@/components/first";
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
export default function Home() {
return (
<>
-
+
>
);
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+export async function getServerSideProps({ req, locale }) {
+ const { isBot } = parse(req.headers["user-agent"]);
return {
props: {
messages: (await import(`&/locales/${locale}/app.json`)).default,
title: "first_page",
isBot,
- locale
+ locale,
},
};
}
diff --git a/src/pages/login-expert.jsx b/src/pages/login-expert.jsx
index 393f916..4e7ed00 100644
--- a/src/pages/login-expert.jsx
+++ b/src/pages/login-expert.jsx
@@ -1,23 +1,23 @@
import LoginComponent from "@/components/login-expert";
import WithoutAuthMiddleware from "@/middlewares/WithoutAuth";
-import {parse} from "next-useragent";
+import { parse } from "next-useragent";
export default function Login() {
return (
-
+
);
}
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
+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_login_expert_page",
isBot,
- locale
+ locale,
},
};
}