From 2a7707152e3d461b74c23bc5abda79985185b104 Mon Sep 17 00:00:00 2001 From: AmirHossein Mahmoodi Date: Mon, 13 Nov 2023 13:46:20 +0330 Subject: [PATCH] LFFE-25 Implementation of print layout and Printable Page --- public/fontiran.scss | 7 ++ public/fonts/ttf/BNazanin.ttf | Bin 0 -> 60852 bytes public/images/logo.png | Bin 0 -> 13143 bytes public/locales/fa/app.json | 7 +- public/print.scss | 9 ++ .../layouts/Print/Header/ProfileData.jsx | 18 ++++ .../layouts/Print/Header/ProfileMenu.jsx | 62 +++++++++++++ .../Print/Header/ProfileOptionLogOut.jsx | 49 +++++++++++ .../layouts/Print/Header/ProfileOptions.jsx | 49 +++++++++++ src/core/components/PrintablePage.jsx | 82 ++++++++++++++++++ src/layouts/PrintLayout.jsx | 12 +++ src/layouts/index.jsx | 4 +- 12 files changed, 297 insertions(+), 2 deletions(-) create mode 100644 public/fonts/ttf/BNazanin.ttf create mode 100644 public/images/logo.png create mode 100644 public/print.scss create mode 100644 src/components/layouts/Print/Header/ProfileData.jsx create mode 100644 src/components/layouts/Print/Header/ProfileMenu.jsx create mode 100644 src/components/layouts/Print/Header/ProfileOptionLogOut.jsx create mode 100644 src/components/layouts/Print/Header/ProfileOptions.jsx create mode 100644 src/core/components/PrintablePage.jsx create mode 100644 src/layouts/PrintLayout.jsx diff --git a/public/fontiran.scss b/public/fontiran.scss index 86d585d..5ee0036 100644 --- a/public/fontiran.scss +++ b/public/fontiran.scss @@ -167,3 +167,10 @@ This set of fonts are used in this project under the license: (.....) url('./fonts/woff/Parastoo-Bold.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url('./fonts/ttf/Parastoo-Bold.ttf') format('truetype'); } + +@font-face { + font-family: Bnazanin; + font-style: normal; + font-weight: normal; + src: url('./fonts/ttf/BNazanin.ttf') format('truetype'); +} diff --git a/public/fonts/ttf/BNazanin.ttf b/public/fonts/ttf/BNazanin.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4e59251727ccee3c2c680fcbda2a3185d45d7e2b GIT binary patch literal 60852 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 z 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 + + + {user.username} + + + ); +} diff --git a/src/components/layouts/Print/Header/ProfileMenu.jsx b/src/components/layouts/Print/Header/ProfileMenu.jsx new file mode 100644 index 0000000..415d501 --- /dev/null +++ b/src/components/layouts/Print/Header/ProfileMenu.jsx @@ -0,0 +1,62 @@ +import {Avatar, IconButton, Menu, Tooltip} from "@mui/material"; +import {useState} from "react"; +import ProfileData from "./ProfileData"; +import ProfileOptions from "./ProfileOptions"; +import {useTranslations} from "next-intl"; +import useUser from "@/lib/app/hooks/useUser"; + +function ProfileMenu() { + const t = useTranslations(); + const [anchorElUser, setAnchorElUser] = useState(null); + const {user} = useUser(); + + const handleOpenUserMenu = (event) => { + setAnchorElUser(event.currentTarget); + }; + const handleCloseUserMenu = () => { + setAnchorElUser(null); + }; + + return ( + <> + + + + + + + + + + + ); +} + +export default ProfileMenu; diff --git a/src/components/layouts/Print/Header/ProfileOptionLogOut.jsx b/src/components/layouts/Print/Header/ProfileOptionLogOut.jsx new file mode 100644 index 0000000..2a6cf85 --- /dev/null +++ b/src/components/layouts/Print/Header/ProfileOptionLogOut.jsx @@ -0,0 +1,49 @@ +import {Box, Button, MenuItem, Typography} from "@mui/material"; +import MeetingRoomIcon from "@mui/icons-material/MeetingRoom"; +import useUser from "@/lib/app/hooks/useUser"; +import {useTranslations} from "next-intl"; + +export default function ProfileOptionLogOut({handleCloseUserMenu}) { + const t = useTranslations(); + const {clearToken} = useUser(); + const handleClickLogOut = () => { + handleCloseUserMenu(); + clearToken(); + }; + return ( + <> + + + + + + + {t("header.logout")} + + + + + ); +} diff --git a/src/components/layouts/Print/Header/ProfileOptions.jsx b/src/components/layouts/Print/Header/ProfileOptions.jsx new file mode 100644 index 0000000..6e7bdba --- /dev/null +++ b/src/components/layouts/Print/Header/ProfileOptions.jsx @@ -0,0 +1,49 @@ +import {Box, MenuItem, Typography} from "@mui/material"; +import {NextLinkComposed} from "@/core/components/LinkRouting"; +import {useTranslations} from "next-intl"; +import headerProfileItems from "@/core/data/headerProfileItems"; +import ProfileOptionLogOut from "./ProfileOptionLogOut"; + +export default function ProfileOptions({handleCloseUserMenu}) { + const t = useTranslations(); + + return ( + <> + {headerProfileItems.map((profile_item) => ( + + + + {profile_item.icon} + + + {t(profile_item.name)} + + + + ))} + + + ); +} diff --git a/src/core/components/PrintablePage.jsx b/src/core/components/PrintablePage.jsx new file mode 100644 index 0000000..70a264b --- /dev/null +++ b/src/core/components/PrintablePage.jsx @@ -0,0 +1,82 @@ +import {Box, Container, Divider, Grid, Paper, Stack, Typography} from '@mui/material'; + +const PrintablePage = ({children, header, footer}) => ( + <> + + + + + + + + + + باسمه تعالی + جمهوری اسلامی ایران + وزارت راه و + شهرسازی + سازمان + راهداری و حمل و نقل جاده + ای + + + + شماره: + تاریخ: + پیوست: + + + + + {children} + + + + + + آدرس: تهران-بلوار + کشاورز-خیابان فلسطین جنوبی-خیابان + دمشق-پلاک17 + تلفن: 88-88804379 + تلفن گویا: 88804400 + کدپستی: 1416753941 + + + صندوق پستی: 3773-14155 + پست الکترونیک: info@rmto.ir + سایت الکترونیک: www.rmto.ir + + + + + + +); + +export default PrintablePage; \ No newline at end of file diff --git a/src/layouts/PrintLayout.jsx b/src/layouts/PrintLayout.jsx new file mode 100644 index 0000000..301a161 --- /dev/null +++ b/src/layouts/PrintLayout.jsx @@ -0,0 +1,12 @@ +import WithAuthMiddleware from "@/middlewares/WithAuth"; +import Print from "@/components/layouts/Print"; + +const PrintLayout = (props) => { + return ( + + + + ) +} + +export default PrintLayout \ No newline at end of file diff --git a/src/layouts/index.jsx b/src/layouts/index.jsx index 4d4ed7f..a69d886 100644 --- a/src/layouts/index.jsx +++ b/src/layouts/index.jsx @@ -1,8 +1,10 @@ import DashboardLayout from "@/layouts/DashboardLayout"; import {Fragment} from "react"; +import PrintLayout from "@/layouts/PrintLayout"; const layoutList = { - DashboardLayout + DashboardLayout, + PrintLayout } const Layout = ({layout = {}, children}) => {