Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8f091a694 | ||
|
|
e2199dc294 | ||
|
|
4c00296f5c | ||
|
|
877c0e6b33 | ||
|
|
f2d2412d38 | ||
|
|
b5429c57bb | ||
|
|
f3521ff272 | ||
|
|
aec2d72c2b | ||
|
|
3c67d3fb61 | ||
|
|
a401ac8eb1 |
@@ -0,0 +1 @@
|
|||||||
|
pjson.js
|
||||||
@@ -20,3 +20,4 @@ export const AppFile = addr => {
|
|||||||
return `${serve}/${addr}`
|
return `${serve}/${addr}`
|
||||||
}
|
}
|
||||||
export const AppProduction = 'https://mehriranianco.ir/api/'
|
export const AppProduction = 'https://mehriranianco.ir/api/'
|
||||||
|
// export const AppProduction = 'http://127.0.0.1:8000/api/'
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev -p 7000",
|
"dev": "next dev -p 2000",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start -p 7000"
|
"start": "next start -p 2000"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@chakra-ui/icons": "^1.1.1",
|
"@chakra-ui/icons": "^1.1.1",
|
||||||
|
|||||||
@@ -1,176 +1,356 @@
|
|||||||
import React, { useEffect, useState} from 'react';
|
import fs from 'fs'
|
||||||
import axios from "axios";
|
import path from 'path'
|
||||||
import AppContainer from "./appContainer";
|
import React, { useEffect, useState } from 'react'
|
||||||
import {AppFile, AppUrl} from "../lib/api";
|
import Image from 'next/image'
|
||||||
import Image from "next/image";
|
import AppContainer from './appContainer'
|
||||||
import dynamic from "next/dynamic";
|
|
||||||
import { Suspense } from 'react'
|
|
||||||
|
|
||||||
import {
|
const shimmer = (width, height) => `
|
||||||
MDBBtn,
|
<svg width="${width}" height="${height}" viewBox="0 0 ${width} ${height}" xmlns="http://www.w3.org/2000/svg">
|
||||||
MDBCol,
|
|
||||||
MDBContainer,
|
|
||||||
MDBRow,
|
|
||||||
} from "mdb-react-ui-kit";
|
|
||||||
import {LightBox} from "react-lightbox-pack";
|
|
||||||
import {Button, Divider, Tab, TabList, TabPanel, TabPanels, Tabs} from "@chakra-ui/react";
|
|
||||||
|
|
||||||
const APV = dynamic(() => import('./components/Videos'), {
|
|
||||||
ssr: false,
|
|
||||||
})
|
|
||||||
const shimmer = (w, h) => `
|
|
||||||
<svg width="${w}" height="${h}" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<defs>
|
<defs>
|
||||||
<linearGradient id="g">
|
<linearGradient id="gradient">
|
||||||
<stop stop-color="#333" offset="20%" />
|
<stop stop-color="#e5e7eb" offset="20%" />
|
||||||
<stop stop-color="#222" offset="50%" />
|
<stop stop-color="#f9fafb" offset="50%" />
|
||||||
<stop stop-color="#333" offset="70%" />
|
<stop stop-color="#e5e7eb" offset="70%" />
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
<rect width="${w}" height="${h}" fill="#333" />
|
<rect width="${width}" height="${height}" fill="#e5e7eb" />
|
||||||
<rect id="r" width="${w}" height="${h}" fill="url(#g)" />
|
<rect width="${width}" height="${height}" fill="url(#gradient)" />
|
||||||
<animate xlink:href="#r" attributeName="x" from="-${w}" to="${w}" dur="1s" repeatCount="indefinite" />
|
</svg>
|
||||||
</svg>`
|
`
|
||||||
|
|
||||||
const toBase64 = (str) =>
|
const toBase64 = value =>
|
||||||
typeof window === 'undefined'
|
typeof window === 'undefined' ? Buffer.from(value).toString('base64') : window.btoa(value)
|
||||||
? Buffer.from(str).toString('base64')
|
|
||||||
: window.btoa(str)
|
|
||||||
|
|
||||||
const Gallery = (dataImage) => {
|
const galleryBannerLoader = () => '/resource/parallax/Gallery.jpg'
|
||||||
const [Images, SetImages] = useState(dataImage)
|
|
||||||
const [justifyActive, setJustifyActive] = React.useState('tab1');
|
const Gallery = ({ images }) => {
|
||||||
const [toggle, setToggle] = React.useState(false);
|
const [selectedImage, setSelectedImage] = useState(null)
|
||||||
const [sIndex, setSIndex] = React.useState(0);
|
|
||||||
const [filterId, setFilterId] = React.useState(1);
|
const closeLightbox = () => setSelectedImage(null)
|
||||||
const Parallax = ({ quality }) => {
|
|
||||||
return `../resource/parallax/Gallery.jpg`;
|
const showPreviousImage = () => {
|
||||||
}
|
setSelectedImage(current => (current === 0 ? images.length - 1 : current - 1))
|
||||||
const Filter = async (filter) => {
|
|
||||||
const res = await axios.get(AppUrl(`FilterGalleyImages/${filter}`));
|
|
||||||
SetImages({dataImage : res.data})
|
|
||||||
setFilterId(filter)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const AllImage = async () => {
|
const showNextImage = () => {
|
||||||
const res = await axios.get(AppUrl(`GetGalleyImages`));
|
setSelectedImage(current => (current === images.length - 1 ? 0 : current + 1))
|
||||||
SetImages({dataImage: res.data})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handler
|
useEffect(() => {
|
||||||
const lightBoxHandler = (state, sIndex) => {
|
if (selectedImage === null) return undefined
|
||||||
setToggle(state);
|
|
||||||
setSIndex(sIndex);
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleJustifyClick = (value) => {
|
const handleKeyDown = event => {
|
||||||
if (value === justifyActive) {
|
if (event.key === 'Escape') setSelectedImage(null)
|
||||||
return;
|
if (event.key === 'ArrowRight') {
|
||||||
|
setSelectedImage(current => (current === images.length - 1 ? 0 : current + 1))
|
||||||
|
}
|
||||||
|
if (event.key === 'ArrowLeft') {
|
||||||
|
setSelectedImage(current => (current === 0 ? images.length - 1 : current - 1))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setJustifyActive(value);
|
const previousOverflow = document.body.style.overflow
|
||||||
};
|
document.body.style.overflow = 'hidden'
|
||||||
|
window.addEventListener('keydown', handleKeyDown)
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
document.body.style.overflow = previousOverflow
|
||||||
|
window.removeEventListener('keydown', handleKeyDown)
|
||||||
|
}
|
||||||
|
}, [selectedImage, images.length])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<AppContainer title='گالری بیمارستان مهر ایرانیان پرند'>
|
||||||
<style jsx>
|
<style jsx>{`
|
||||||
{`
|
.gallery-page {
|
||||||
.cardImage {
|
direction: rtl;
|
||||||
background-color: #F3F4F6;
|
padding: 3rem 1rem 5rem;
|
||||||
padding: 5px;
|
background: #fff;
|
||||||
border-radius: 1rem;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
margin: 2px;
|
|
||||||
}
|
}
|
||||||
`}
|
|
||||||
</style>
|
.gallery-header {
|
||||||
<AppContainer>
|
max-width: 1200px;
|
||||||
<div className="parallax-container">
|
margin: 0 auto 2rem;
|
||||||
<h1 className={'center-align text-white header_back service-text dana font-weight-bold'}> گالری بیمارستان </h1>
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-header h2 {
|
||||||
|
margin: 0 0 0.5rem;
|
||||||
|
color: #263238;
|
||||||
|
font-size: 1.75rem;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-header p {
|
||||||
|
margin: 0;
|
||||||
|
color: #6b7280;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-header::after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
width: 54px;
|
||||||
|
height: 3px;
|
||||||
|
margin-top: 0.9rem;
|
||||||
|
border-radius: 999px;
|
||||||
|
background: #009688;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
|
gap: 1rem;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-card {
|
||||||
|
position: relative;
|
||||||
|
aspect-ratio: 16 / 9;
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
border: 1px solid #e5e7eb;
|
||||||
|
border-radius: 0.85rem;
|
||||||
|
background: #f3f4f6;
|
||||||
|
cursor: zoom-in;
|
||||||
|
box-shadow: 0 4px 14px rgba(15, 23, 42, 0.07);
|
||||||
|
transition: transform 180ms ease, box-shadow 180ms ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-card:hover,
|
||||||
|
.gallery-card:focus-visible {
|
||||||
|
transform: translateY(-3px);
|
||||||
|
box-shadow: 0 10px 24px rgba(15, 23, 42, 0.15);
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-card :global(img) {
|
||||||
|
transition: transform 250ms ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-card:hover :global(img) {
|
||||||
|
transform: scale(1.035);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox {
|
||||||
|
position: fixed;
|
||||||
|
z-index: 1500;
|
||||||
|
inset: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 4.5rem 5rem 3rem;
|
||||||
|
background: rgba(0, 0, 0, 0.92);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox-image {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: calc(100vh - 7.5rem);
|
||||||
|
object-fit: contain;
|
||||||
|
border-radius: 0.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox-close,
|
||||||
|
.lightbox-navigation {
|
||||||
|
position: absolute;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border: 0;
|
||||||
|
color: #fff;
|
||||||
|
background: rgba(255, 255, 255, 0.13);
|
||||||
|
cursor: pointer;
|
||||||
|
transition: background 150ms ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox-close:hover,
|
||||||
|
.lightbox-navigation:hover {
|
||||||
|
background: rgba(255, 255, 255, 0.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox-close {
|
||||||
|
top: 1.25rem;
|
||||||
|
right: 1.25rem;
|
||||||
|
width: 44px;
|
||||||
|
height: 44px;
|
||||||
|
border-radius: 50%;
|
||||||
|
font-size: 1.9rem;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox-navigation {
|
||||||
|
top: 50%;
|
||||||
|
width: 46px;
|
||||||
|
height: 58px;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
font-size: 2rem;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox-previous {
|
||||||
|
left: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox-next {
|
||||||
|
right: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox-counter {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 1rem;
|
||||||
|
left: 50%;
|
||||||
|
margin: 0;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 992px) {
|
||||||
|
.gallery-grid {
|
||||||
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.gallery-page {
|
||||||
|
padding: 2rem 1rem 4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-grid {
|
||||||
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
|
gap: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox {
|
||||||
|
padding: 4rem 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox-navigation {
|
||||||
|
top: auto;
|
||||||
|
bottom: 0.8rem;
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox-previous {
|
||||||
|
left: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox-next {
|
||||||
|
right: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 480px) {
|
||||||
|
.gallery-header h2 {
|
||||||
|
font-size: 1.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-grid {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`}</style>
|
||||||
|
|
||||||
|
<div className='parallax-container'>
|
||||||
|
<h1 className='center-align text-white header_back service-text dana font-weight-bold'>گالری بیمارستان</h1>
|
||||||
<Image
|
<Image
|
||||||
loader={Parallax}
|
loader={galleryBannerLoader}
|
||||||
src="Parallax.png"
|
src='gallery-banner.jpg'
|
||||||
className={'responsive-img shadow-5'}
|
className='responsive-img shadow-5'
|
||||||
placeholder="blur"
|
alt='گالری بیمارستان مهر ایرانیان پرند'
|
||||||
blurDataURL={`data:image/svg+xml;base64,${toBase64(shimmer(3000, 1300))}`}
|
|
||||||
alt="درباره بیارستان مهر ایرانیان پرند "
|
|
||||||
width={3000}
|
width={3000}
|
||||||
height={1300}
|
height={1300}
|
||||||
|
priority
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='lg:mx-20 sm:mx-5'>
|
|
||||||
<Tabs defaultIndex={1} className={'mt-5'} isFitted variant='enclosed'>
|
<main className='gallery-page'>
|
||||||
<TabList mb='1em'>
|
<header className='gallery-header'>
|
||||||
<Tab on className={'bk font-weight-bold'} _selected={{ color: 'white', bg: 'teal.500' }}>ویدئو ها</Tab>
|
<h2>گالری تصاویر</h2>
|
||||||
<Tab className={'bk font-weight-bold'} _selected={{ color: 'white', bg: 'teal.500' }}>تصاویر</Tab>
|
<p>تصاویر بیمارستان مهر ایرانیان پرند</p>
|
||||||
</TabList>
|
</header>
|
||||||
<TabPanels>
|
|
||||||
<TabPanel>
|
<section className='gallery-grid' aria-label='تصاویر گالری بیمارستان'>
|
||||||
<APV />
|
{images.map((image, index) => (
|
||||||
</TabPanel>
|
<button
|
||||||
<TabPanel>
|
type='button'
|
||||||
<div style={{ flexDirection: 'column' }} className={'flex justify-content-end flex-xl-row flex-lg-row flex-md-column flex-sm-column'}>
|
className='gallery-card'
|
||||||
<MDBBtn onClick={() => Filter(2)} color={filterId === 2 ? 'light' : 'light'} className={filterId === 2 ? 'm-2' : 'm-2 text-dark'}>تصاویر در حال ساخت</MDBBtn>
|
|
||||||
<MDBBtn onClick={() => Filter(1)} color={filterId === 1 ? 'light' : 'light'} className={'m-2'}>تصاویر معماری</MDBBtn>
|
|
||||||
<MDBBtn onClick={() => AllImage()} color={filterId !== 1 && 2 ? 'light' : 'light'} className={'m-2'}>همه تصاویر </MDBBtn>
|
|
||||||
</div>
|
|
||||||
<Divider colorScheme={'gray'} />
|
|
||||||
<MDBRow style={{ marginTop: 10 }}>
|
|
||||||
{Images && Images.dataImage.map((image ,index)=> {
|
|
||||||
return (
|
|
||||||
<MDBCol xs={12} sm={12} md={6} lg={3}>
|
|
||||||
<div className={'cardImage'} key={image.id}>
|
|
||||||
<img
|
|
||||||
key={image.id}
|
key={image.id}
|
||||||
|
aria-label={`نمایش تصویر ${index + 1} از گالری`}
|
||||||
|
onClick={() => setSelectedImage(index)}
|
||||||
|
>
|
||||||
|
<Image
|
||||||
|
src={image.image}
|
||||||
alt={image.title}
|
alt={image.title}
|
||||||
width={350}
|
layout='fill'
|
||||||
style={{ cursor: 'zoom-in' }}
|
objectFit='cover'
|
||||||
className={'responsive-img'}
|
placeholder='blur'
|
||||||
src={AppFile(`panel-public/uploads/HospitalGallery/${image.imageAddr}`)}
|
blurDataURL={`data:image/svg+xml;base64,${toBase64(shimmer(640, 360))}`}
|
||||||
onClick={() => {
|
/>
|
||||||
lightBoxHandler(true, index);
|
</button>
|
||||||
|
))}
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
{selectedImage !== null && (
|
||||||
|
<div className='lightbox' role='dialog' aria-modal='true' aria-label='نمایش تصویر گالری' onClick={closeLightbox}>
|
||||||
|
<button type='button' className='lightbox-close' aria-label='بستن تصویر' onClick={closeLightbox}>
|
||||||
|
×
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type='button'
|
||||||
|
className='lightbox-navigation lightbox-previous'
|
||||||
|
aria-label='تصویر قبلی'
|
||||||
|
onClick={event => {
|
||||||
|
event.stopPropagation()
|
||||||
|
showPreviousImage()
|
||||||
}}
|
}}
|
||||||
|
>
|
||||||
|
‹
|
||||||
|
</button>
|
||||||
|
<img
|
||||||
|
className='lightbox-image'
|
||||||
|
src={images[selectedImage].image}
|
||||||
|
alt={images[selectedImage].title}
|
||||||
|
onClick={event => event.stopPropagation()}
|
||||||
/>
|
/>
|
||||||
<br />
|
<button
|
||||||
<span>{ image.title }</span>
|
type='button'
|
||||||
</div>
|
className='lightbox-navigation lightbox-next'
|
||||||
</MDBCol>
|
aria-label='تصویر بعدی'
|
||||||
)
|
onClick={event => {
|
||||||
})}
|
event.stopPropagation()
|
||||||
</MDBRow>
|
showNextImage()
|
||||||
</TabPanel>
|
}}
|
||||||
</TabPanels>
|
>
|
||||||
</Tabs>
|
›
|
||||||
|
</button>
|
||||||
<LightBox
|
<p className='lightbox-counter'>
|
||||||
state={toggle}
|
{selectedImage + 1} از {images.length}
|
||||||
event={lightBoxHandler}
|
</p>
|
||||||
data={Images.dataImage}
|
|
||||||
imageWidth="60vw"
|
|
||||||
imageHeight="70vh"
|
|
||||||
thumbnailHeight={50}
|
|
||||||
thumbnailWidth={50}
|
|
||||||
setImageIndex={setSIndex}
|
|
||||||
imageIndex={sIndex}
|
|
||||||
/>
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
</AppContainer>
|
</AppContainer>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getStaticProps() {
|
||||||
|
const galleryDirectory = path.join(process.cwd(), 'public', 'resource', 'images', 'gallery')
|
||||||
|
const fileNames = fs
|
||||||
|
.readdirSync(galleryDirectory)
|
||||||
|
.filter(fileName => /\.(jpe?g|png|webp)$/i.test(fileName))
|
||||||
|
.sort((first, second) => first.localeCompare(second, undefined, { numeric: true }))
|
||||||
|
|
||||||
|
const images = fileNames.map((fileName, index) => ({
|
||||||
|
id: fileName,
|
||||||
|
image: `/resource/images/gallery/${encodeURIComponent(fileName)}`,
|
||||||
|
title: `تصویر ${index + 1} از بیمارستان مهر ایرانیان پرند`
|
||||||
|
}))
|
||||||
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
export async function getServerSideProps(context) {
|
|
||||||
const res = await axios.get(AppUrl('GetGalleyImages'));
|
|
||||||
return {
|
return {
|
||||||
props: {
|
props: { images }
|
||||||
dataImage : res.data
|
|
||||||
}, // will be passed to the page component as props
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default Gallery;
|
|
||||||
|
export default Gallery
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import React from 'react';
|
import React from 'react'
|
||||||
import {
|
import {
|
||||||
MDBCard,
|
MDBCard,
|
||||||
MDBCardImage,
|
MDBCardImage,
|
||||||
@@ -7,35 +7,64 @@ import {
|
|||||||
MDBCardText,
|
MDBCardText,
|
||||||
MDBRow,
|
MDBRow,
|
||||||
MDBCol,
|
MDBCol,
|
||||||
MDBContainer, MDBCardHeader, MDBBtn, MDBIcon, MDBInputGroupText, MDBTypography
|
MDBContainer,
|
||||||
} from 'mdb-react-ui-kit';
|
MDBCardHeader,
|
||||||
import axios from "axios";
|
MDBBtn,
|
||||||
import Link from "next/link";
|
MDBIcon,
|
||||||
import AppContainer from "./appContainer";
|
MDBInputGroupText,
|
||||||
|
MDBTypography
|
||||||
|
} from 'mdb-react-ui-kit'
|
||||||
|
import axios from 'axios'
|
||||||
|
import Link from 'next/link'
|
||||||
|
import AppContainer from './appContainer'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import {AppUrl} from "../lib/api";
|
import { AppUrl } from '../lib/api'
|
||||||
import {DownloadIcon} from "@chakra-ui/icons";
|
import { DownloadIcon } from '@chakra-ui/icons'
|
||||||
|
|
||||||
const News = ({data, children}) => {
|
const News = ({ data, children }) => {
|
||||||
const router = useRouter();
|
const router = useRouter()
|
||||||
const query = router.query.list;
|
const query = router.query.list
|
||||||
|
|
||||||
const dataPage = (
|
const dataPage = (
|
||||||
<div className='lg:mx-20 sm:mx-5'>
|
<div className='lg:mx-20 sm:mx-5'>
|
||||||
<h5 style={{ marginTop: '2rem' }} className={'right-align font-weight-bold'}>اطلاعیه ها </h5>
|
<h5 style={{ marginTop: '2rem' }} className={'right-align font-weight-bold'}>
|
||||||
|
اطلاعیه ها{' '}
|
||||||
|
</h5>
|
||||||
<hr />
|
<hr />
|
||||||
<div>
|
<div>
|
||||||
<MDBTypography style={{direction: 'rtl',borderRadius: '6px solid',borderRight: '6px solid #1266f1',borderLeft: 'none'}} note noteColor='primary'>
|
<MDBTypography
|
||||||
|
style={{ direction: 'rtl', borderRadius: '6px solid', borderRight: '6px solid #1266f1', borderLeft: 'none' }}
|
||||||
|
note
|
||||||
|
noteColor='primary'
|
||||||
|
>
|
||||||
<DownloadIcon className={'ml-2'} />
|
<DownloadIcon className={'ml-2'} />
|
||||||
<a title={'دانلود دفترچه معرفی و فروش سهام عمومی بیمارستان تخصصی مهر ایرانیان پرند'} download href={'./take-stock.pdf'}> دانلود دفترچه معرفی و فروش سهام عمومی بیمارستان تخصصی مهر پرند</a>
|
<a
|
||||||
|
title={'دانلود دفترچه معرفی و فروش سهام عمومی بیمارستان تخصصی مهر ایرانیان پرند'}
|
||||||
|
download
|
||||||
|
href={'./take-stock.pdf'}
|
||||||
|
>
|
||||||
|
{' '}
|
||||||
|
دانلود دفترچه معرفی و فروش سهام عمومی بیمارستان تخصصی مهر پرند
|
||||||
|
</a>
|
||||||
</MDBTypography>
|
</MDBTypography>
|
||||||
<MDBTypography style={{direction: 'rtl',borderRadius: '6px solid',borderRight: '6px solid #1266f1',borderLeft: 'none'}} note noteColor='primary'>
|
<MDBTypography
|
||||||
|
style={{ direction: 'rtl', borderRadius: '6px solid', borderRight: '6px solid #1266f1', borderLeft: 'none' }}
|
||||||
|
note
|
||||||
|
noteColor='primary'
|
||||||
|
>
|
||||||
<DownloadIcon className={'ml-2'} />
|
<DownloadIcon className={'ml-2'} />
|
||||||
<a title={'دانلود طرح توجیهی بیمارستان تخصصی مهر ایرانیان پرند'} download href={'./Explanatory_plan_of_Mehr_ranian_Parand_Hospital.pdf'}> دانلود طرح توجیهی بیمارستان تخصصی مهر ایرانیان پرند</a>
|
<a
|
||||||
|
title={'دانلود طرح توجیهی بیمارستان تخصصی مهر ایرانیان پرند'}
|
||||||
|
download
|
||||||
|
href={'./Explanatory_plan_of_Mehr_ranian_Parand_Hospital.pdf'}
|
||||||
|
>
|
||||||
|
{' '}
|
||||||
|
دانلود طرح توجیهی بیمارستان تخصصی مهر ایرانیان پرند
|
||||||
|
</a>
|
||||||
</MDBTypography>
|
</MDBTypography>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
<MDBRow dir={'rtl'} className='row-cols-1 row-cols-md-3 g-4'>
|
{/* <MDBRow dir={'rtl'} className='row-cols-1 row-cols-md-3 g-4'>
|
||||||
{data && data.map(({ id, slug, title }) => (
|
{data && data.map(({ id, slug, title }) => (
|
||||||
<MDBCol key={id}>
|
<MDBCol key={id}>
|
||||||
<Link href={`page/news/${id}`} >
|
<Link href={`page/news/${id}`} >
|
||||||
@@ -55,27 +84,22 @@ const News = ({data, children}) => {
|
|||||||
</Link>
|
</Link>
|
||||||
</MDBCol>
|
</MDBCol>
|
||||||
))}
|
))}
|
||||||
</MDBRow>
|
</MDBRow> */}
|
||||||
{children}
|
{children}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
return (
|
return <div>{/* {query ? <AppContainer children={dataPage} title={'اطلاعیه ها '} /> : dataPage} */}</div>
|
||||||
<div>
|
}
|
||||||
{query ? <AppContainer children={dataPage} title={'اطلاعیه ها '} /> : dataPage}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default News;
|
export default News
|
||||||
|
|
||||||
|
export const getServerSideProps = async context => {
|
||||||
export const getServerSideProps = async (context) => {
|
// const allPostsData = await axios.get(AppUrl('news'))
|
||||||
const allPostsData = await axios.get(AppUrl('news'));
|
// const data = await allPostsData.data
|
||||||
const data = await allPostsData.data;
|
|
||||||
return {
|
return {
|
||||||
props: {
|
props: {
|
||||||
data,
|
data: null,
|
||||||
fallback:false
|
fallback: false
|
||||||
}, // will be passed to the page component as props
|
} // will be passed to the page component as props
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -37,7 +37,7 @@ export default function App({ Component, pageProps }) {
|
|||||||
<Provider store={CoreStore}>
|
<Provider store={CoreStore}>
|
||||||
{Loading && <Loader />}
|
{Loading && <Loader />}
|
||||||
<ChakraProvider resetCSS={false} theme={theme}>
|
<ChakraProvider resetCSS={false} theme={theme}>
|
||||||
<link href="https://use.fontawesome.com/releases/v5.15.1/css/all.css" rel="stylesheet" />
|
{/* <link href="https://use.fontawesome.com/releases/v5.15.1/css/all.css" rel="stylesheet" /> */}
|
||||||
<Component {...pageProps } />
|
<Component {...pageProps } />
|
||||||
</ChakraProvider>
|
</ChakraProvider>
|
||||||
</Provider>
|
</Provider>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ const AppContainer = ({ children, title }) => {
|
|||||||
name='keywords'
|
name='keywords'
|
||||||
content=' درمانگاه مهرپرند,بیمارستان مهرایرانیان پرند ,بیمارستان, بیمارستان مهر, سهام,پرند'
|
content=' درمانگاه مهرپرند,بیمارستان مهرایرانیان پرند ,بیمارستان, بیمارستان مهر, سهام,پرند'
|
||||||
/>
|
/>
|
||||||
<meta name='google-site-verification' content='1mcxI6a_QSwpZ-0W65WqgKOzenynNF4PXE8IBq1vEmc' />
|
<meta name="google-site-verification" content="hygRCp6fRa9qi8RXCaAosXK4mBcnCJVRH1ayHtAQy8o" />
|
||||||
<link rel='icon' href='../public/resource/logo/favlogo.png' />
|
<link rel='icon' href='../public/resource/logo/favlogo.png' />
|
||||||
<script
|
<script
|
||||||
type='text/javascript'
|
type='text/javascript'
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ function brands() {
|
|||||||
return (
|
return (
|
||||||
<div className='lg:mx-20 sm:mx-5 mt-5'>
|
<div className='lg:mx-20 sm:mx-5 mt-5'>
|
||||||
<div className="flex justify-center">
|
<div className="flex justify-center">
|
||||||
<h3 className="bk-med font-bold">سهامداران پروژه</h3>
|
<h3 className="bk-med font-bold">همکاران پروژه</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className="">
|
<div className="">
|
||||||
<Swiper
|
<Swiper
|
||||||
|
|||||||
@@ -31,13 +31,13 @@ const Footer = () => {
|
|||||||
<li>
|
<li>
|
||||||
<a href='https://club.mehriranianco.ir/' target='_blank' style={{ color: 'white' }}> باشگاه سهامداران </a>
|
<a href='https://club.mehriranianco.ir/' target='_blank' style={{ color: 'white' }}> باشگاه سهامداران </a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
{/* <li>
|
||||||
<Link href={{ pathname: '/News', query: { list: 'list' } }}>
|
<Link href={{ pathname: '/News', query: { list: 'list' } }}>
|
||||||
<a href='#!' className='text-white'>
|
<a href='#!' className='text-white'>
|
||||||
اطلاعیه ها
|
اطلاعیه ها
|
||||||
</a>
|
</a>
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li> */}
|
||||||
<li>
|
<li>
|
||||||
<Link href='/page/about' className='text-white'>
|
<Link href='/page/about' className='text-white'>
|
||||||
<a style={{ color: 'white' }}> درباره </a>
|
<a style={{ color: 'white' }}> درباره </a>
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ export default function App() {
|
|||||||
<FaInstagram />
|
<FaInstagram />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div className=' w-10 h-10 md:w-12 md:h-12 flex items-center justify-center'>
|
{/* <div className=' w-10 h-10 md:w-12 md:h-12 flex items-center justify-center'>
|
||||||
<a
|
<a
|
||||||
href={'https://www.aparat.com/miphospital'}
|
href={'https://www.aparat.com/miphospital'}
|
||||||
target={'_blank'}
|
target={'_blank'}
|
||||||
@@ -82,7 +82,7 @@ export default function App() {
|
|||||||
>
|
>
|
||||||
<SiAparat />
|
<SiAparat />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div> */}
|
||||||
<div className='flex items-center justify-center'>
|
<div className='flex items-center justify-center'>
|
||||||
<a
|
<a
|
||||||
href={'tel:02153457000'}
|
href={'tel:02153457000'}
|
||||||
@@ -145,14 +145,14 @@ export default function App() {
|
|||||||
درباره ما
|
درباره ما
|
||||||
</MDBDropdownLink>
|
</MDBDropdownLink>
|
||||||
</Link>
|
</Link>
|
||||||
<MDBDropdownItem></MDBDropdownItem>
|
{/* <MDBDropdownItem></MDBDropdownItem> */}
|
||||||
<MDBDropdownItem>
|
{/* <MDBDropdownItem>
|
||||||
<Link href={'/page/docs'}>
|
<Link href={'/page/docs'}>
|
||||||
<MDBDropdownLink style={{ cursor: 'pointer' }} className={'d-flex justify-content-end'}>
|
<MDBDropdownLink style={{ cursor: 'pointer' }} className={'d-flex justify-content-end'}>
|
||||||
اسناد رسمی شرکت{' '}
|
اسناد رسمی شرکت{' '}
|
||||||
</MDBDropdownLink>
|
</MDBDropdownLink>
|
||||||
</Link>
|
</Link>
|
||||||
</MDBDropdownItem>
|
</MDBDropdownItem> */}
|
||||||
<MDBDropdownItem>
|
<MDBDropdownItem>
|
||||||
<MDBDropdownLink
|
<MDBDropdownLink
|
||||||
target={'__blanck'}
|
target={'__blanck'}
|
||||||
@@ -206,7 +206,7 @@ export default function App() {
|
|||||||
</div>
|
</div>
|
||||||
</Link>
|
</Link>
|
||||||
</MDBNavbarLink>
|
</MDBNavbarLink>
|
||||||
<MDBNavbarLink
|
{/* <MDBNavbarLink
|
||||||
className={router.pathname === '/page/news/34' ? 'active-item text-white' : '' + 'text-white nav_item '}
|
className={router.pathname === '/page/news/34' ? 'active-item text-white' : '' + 'text-white nav_item '}
|
||||||
>
|
>
|
||||||
<Link prefetch={false} className={'text-white nav_item d-flex flex-row-reverse '} href='/page/news/34'>
|
<Link prefetch={false} className={'text-white nav_item d-flex flex-row-reverse '} href='/page/news/34'>
|
||||||
@@ -214,8 +214,8 @@ export default function App() {
|
|||||||
<span style={{ cursor: 'pointer', fontSize: '15px' }}> شرایط انتقال سهام</span>
|
<span style={{ cursor: 'pointer', fontSize: '15px' }}> شرایط انتقال سهام</span>
|
||||||
</div>
|
</div>
|
||||||
</Link>
|
</Link>
|
||||||
</MDBNavbarLink>
|
</MDBNavbarLink> */}
|
||||||
<MDBNavbarLink
|
{/* <MDBNavbarLink
|
||||||
className={
|
className={
|
||||||
router.pathname === '/medical-equipment' ? 'active-item text-white' : '' + 'text-white nav_item '
|
router.pathname === '/medical-equipment' ? 'active-item text-white' : '' + 'text-white nav_item '
|
||||||
}
|
}
|
||||||
@@ -225,8 +225,8 @@ export default function App() {
|
|||||||
<span style={{ cursor: 'pointer', fontSize: '15px' }}>واحد تجهیزات پزشکی </span>
|
<span style={{ cursor: 'pointer', fontSize: '15px' }}>واحد تجهیزات پزشکی </span>
|
||||||
</div>
|
</div>
|
||||||
</Link>
|
</Link>
|
||||||
</MDBNavbarLink>
|
</MDBNavbarLink> */}
|
||||||
<MDBNavbarLink
|
{/* <MDBNavbarLink
|
||||||
className={router.pathname === '/stock-unit' ? 'active-item text-white' : '' + 'text-white nav_item '}
|
className={router.pathname === '/stock-unit' ? 'active-item text-white' : '' + 'text-white nav_item '}
|
||||||
>
|
>
|
||||||
<Link className={'text-white nav_item d-flex flex-row-reverse '} href='/stock-unit'>
|
<Link className={'text-white nav_item d-flex flex-row-reverse '} href='/stock-unit'>
|
||||||
@@ -234,7 +234,7 @@ export default function App() {
|
|||||||
<span style={{ cursor: 'pointer', fontSize: '15px' }}>امور سهام </span>
|
<span style={{ cursor: 'pointer', fontSize: '15px' }}>امور سهام </span>
|
||||||
</div>
|
</div>
|
||||||
</Link>
|
</Link>
|
||||||
</MDBNavbarLink>
|
</MDBNavbarLink> */}
|
||||||
|
|
||||||
{/* <MDBNavbarLink
|
{/* <MDBNavbarLink
|
||||||
className={router.pathname === '/page/news/52' ? 'active-item text-white' : '' + 'text-white nav_item '}
|
className={router.pathname === '/page/news/52' ? 'active-item text-white' : '' + 'text-white nav_item '}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ const Paralax = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='bg-image mt-5 d-flex flex-md-column flex-sm-column ' style={{ maxWidth: '1080rem' }}>
|
<div className='bg-image mt-5 d-flex flex-md-column flex-sm-column ' style={{ maxWidth: '1080rem' }}>
|
||||||
<img style={{ width: '100%' }} src={'https://mehrara-api.iran.liara.run/panel-public/uploads/1653317481HLqP4.jpg'} alt="Picture of the author" />
|
<img style={{ width: '100%' }} src={''} alt="Picture of the author" />
|
||||||
<div className='mask' style={{ backgroundColor: 'rgba(0, 0, 0, 0.6)' }}>
|
<div className='mask' style={{ backgroundColor: 'rgba(0, 0, 0, 0.6)' }}>
|
||||||
<div className='d-flex flex-md-column flex-sm-column justify-content-center align-items-center h-100 dana'>
|
<div className='d-flex flex-md-column flex-sm-column justify-content-center align-items-center h-100 dana'>
|
||||||
<h2 className='text-white p-5 mb-0'>
|
<h2 className='text-white p-5 mb-0'>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import {useState} from "react";
|
import { useState } from "react";
|
||||||
import {useFormik ,Form} from "formik";
|
import { useFormik, Form } from "formik";
|
||||||
import { Formik } from "formik";
|
import { Formik } from "formik";
|
||||||
|
|
||||||
import * as Yup from 'yup'
|
import * as Yup from 'yup'
|
||||||
@@ -10,21 +10,21 @@ import {
|
|||||||
MDBInputGroupElement, MDBContainer, MDBRow, MDBIcon, MDBInput, MDBBtn, MDBSpinner, MDBTypography
|
MDBInputGroupElement, MDBContainer, MDBRow, MDBIcon, MDBInput, MDBBtn, MDBSpinner, MDBTypography
|
||||||
} from 'mdb-react-ui-kit'
|
} from 'mdb-react-ui-kit'
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import {AppUrl} from "../../lib/api";
|
import { AppUrl } from "../../lib/api";
|
||||||
import {AiOutlinePhone, AiOutlineUser} from "react-icons/ai";
|
import { AiOutlinePhone, AiOutlineUser } from "react-icons/ai";
|
||||||
|
|
||||||
const Connect = () => {
|
const Connect = () => {
|
||||||
const [Loading,setLoading] = useState(false);
|
const [Loading, setLoading] = useState(false);
|
||||||
const [Success,setSuccess] = useState(false);
|
const [Success, setSuccess] = useState(false);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Formik
|
<Formik
|
||||||
initialValues={{ name: "" ,PhoneNumber: "",text: ""}}
|
initialValues={{ name: "", PhoneNumber: "", text: "" }}
|
||||||
onSubmit={async (values,{resetForm}) => {
|
onSubmit={async (values, { resetForm }) => {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
const dataForm = values;
|
const dataForm = values;
|
||||||
const SubmitForm = axios.post(AppUrl('contact-us'),dataForm).then((res) => {
|
const SubmitForm = axios.post(AppUrl('contact-us'), dataForm).then((res) => {
|
||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
setSuccess(true);
|
setSuccess(true);
|
||||||
@@ -39,8 +39,8 @@ const Connect = () => {
|
|||||||
validateOnBlur={false}
|
validateOnBlur={false}
|
||||||
validationSchema={Yup.object().shape({
|
validationSchema={Yup.object().shape({
|
||||||
name: Yup.string().required("وارد کردن نام الزامی است."),
|
name: Yup.string().required("وارد کردن نام الزامی است."),
|
||||||
PhoneNumber : Yup.string().required('شماره تلفن الزامی است .'),
|
PhoneNumber: Yup.string().required('شماره تلفن الزامی است .'),
|
||||||
text : Yup.string().required('متن پیام وارد نشده است. '),
|
text: Yup.string().required('متن پیام وارد نشده است. '),
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
{props => {
|
{props => {
|
||||||
@@ -55,12 +55,12 @@ const Connect = () => {
|
|||||||
handleReset
|
handleReset
|
||||||
} = props;
|
} = props;
|
||||||
return (
|
return (
|
||||||
<form id={'contactUsform'} style={{marginTop: '25px'}} onSubmit={handleSubmit}>
|
<form id={'contactUsform'} style={{ marginTop: '25px' }} onSubmit={handleSubmit}>
|
||||||
<div className='lg:mx-20 sm:mx-5'>
|
<div className='lg:mx-20 sm:mx-5'>
|
||||||
<h5 className={'right-align font-weight-bold'}> تماس با ما و مشاوره خرید سهام </h5>
|
<h5 className={'right-align font-weight-bold'}> تماس با ما </h5>
|
||||||
<br />
|
<br />
|
||||||
<MDBRow>
|
<MDBRow>
|
||||||
<MDBInputGroup className='mb-3' style={{width: '50%'}}>
|
<MDBInputGroup className='mb-3' style={{ width: '50%' }}>
|
||||||
<MDBInputGroupElement
|
<MDBInputGroupElement
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
onBlur={handleBlur}
|
onBlur={handleBlur}
|
||||||
@@ -77,7 +77,7 @@ const Connect = () => {
|
|||||||
|
|
||||||
</MDBInputGroup>
|
</MDBInputGroup>
|
||||||
|
|
||||||
<MDBInputGroup className='mb-3' style={{width: '50%'}}>
|
<MDBInputGroup className='mb-3' style={{ width: '50%' }}>
|
||||||
<MDBInputGroupElement
|
<MDBInputGroupElement
|
||||||
value={values.name}
|
value={values.name}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
@@ -90,7 +90,7 @@ const Connect = () => {
|
|||||||
<AiOutlineUser />
|
<AiOutlineUser />
|
||||||
</MDBInputGroupText>
|
</MDBInputGroupText>
|
||||||
</MDBInputGroup>
|
</MDBInputGroup>
|
||||||
<MDBInputGroup className='mb-3' style={{width: '100%'}}>
|
<MDBInputGroup className='mb-3' style={{ width: '100%' }}>
|
||||||
<MDBInputGroupElement
|
<MDBInputGroupElement
|
||||||
name={'text'}
|
name={'text'}
|
||||||
id={'text'}
|
id={'text'}
|
||||||
@@ -98,7 +98,7 @@ const Connect = () => {
|
|||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
dir={'rtl'}
|
dir={'rtl'}
|
||||||
className={'right-align RTL'}
|
className={'right-align RTL'}
|
||||||
style={{height: '100%'}}
|
style={{ height: '100%' }}
|
||||||
placeholder='متن پیام خود را وارد کنید'
|
placeholder='متن پیام خود را وارد کنید'
|
||||||
textarea
|
textarea
|
||||||
type='text' />
|
type='text' />
|
||||||
@@ -110,7 +110,7 @@ const Connect = () => {
|
|||||||
<MDBSpinner grow size='sm' role='status' tag='span' />
|
<MDBSpinner grow size='sm' role='status' tag='span' />
|
||||||
<span className='visually-hidden'>Loading...</span>
|
<span className='visually-hidden'>Loading...</span>
|
||||||
</>
|
</>
|
||||||
):
|
) :
|
||||||
<>
|
<>
|
||||||
ارسال
|
ارسال
|
||||||
</>
|
</>
|
||||||
@@ -120,23 +120,23 @@ const Connect = () => {
|
|||||||
<div className={'d-flex justify-content-end text-danger '}>
|
<div className={'d-flex justify-content-end text-danger '}>
|
||||||
{errors.PhoneNumber}
|
{errors.PhoneNumber}
|
||||||
</div>
|
</div>
|
||||||
): null}
|
) : null}
|
||||||
{touched.name && errors.name ? (
|
{touched.name && errors.name ? (
|
||||||
<div className={'d-flex justify-content-end text-danger '}>
|
<div className={'d-flex justify-content-end text-danger '}>
|
||||||
{errors.name}
|
{errors.name}
|
||||||
</div>
|
</div>
|
||||||
): null}
|
) : null}
|
||||||
{touched.text && errors.text ? (
|
{touched.text && errors.text ? (
|
||||||
<div className={'d-flex justify-content-end text-danger '}>
|
<div className={'d-flex justify-content-end text-danger '}>
|
||||||
{errors.text}
|
{errors.text}
|
||||||
</div>
|
</div>
|
||||||
): null}
|
) : null}
|
||||||
<br/>
|
<br />
|
||||||
{Success ? (
|
{Success ? (
|
||||||
<MDBTypography style={{direction: 'rtl',borderRadius: '6px solid',borderRight: '6px solid #00B74A',borderLeft: 'none'}} note noteColor='success'>
|
<MDBTypography style={{ direction: 'rtl', borderRadius: '6px solid', borderRight: '6px solid #00B74A', borderLeft: 'none' }} note noteColor='success'>
|
||||||
اطلاعات شما ارسال شد ، بعد از بررسی با شما تماس گرفته می شود .
|
اطلاعات شما ارسال شد ، بعد از بررسی با شما تماس گرفته می شود .
|
||||||
</MDBTypography>
|
</MDBTypography>
|
||||||
): null}
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -27,11 +27,11 @@ const Slider = () => {
|
|||||||
<img src={SliderOne} />
|
<img src={SliderOne} />
|
||||||
</Link>
|
</Link>
|
||||||
</SwiperSlide> */}
|
</SwiperSlide> */}
|
||||||
<SwiperSlide key={2} style={{ cursor: 'pointer' }} className='pointer'>
|
{/* <SwiperSlide key={2} style={{ cursor: 'pointer' }} className='pointer'>
|
||||||
<Link href='/page/news/89'>
|
<Link href='/page/news/89'>
|
||||||
<img src={TransferStockBanner} />
|
<img src={TransferStockBanner} />
|
||||||
</Link>
|
</Link>
|
||||||
</SwiperSlide>
|
</SwiperSlide> */}
|
||||||
{/* <SwiperSlide key={2} style={{ cursor: 'pointer' }} className='pointer'>
|
{/* <SwiperSlide key={2} style={{ cursor: 'pointer' }} className='pointer'>
|
||||||
<Link href='/page/news/82'>
|
<Link href='/page/news/82'>
|
||||||
<img src={LimitSlider} />
|
<img src={LimitSlider} />
|
||||||
|
|||||||
@@ -2,13 +2,7 @@ import AppContainer from './appContainer'
|
|||||||
import Slider from './components/slider'
|
import Slider from './components/slider'
|
||||||
import News from './News'
|
import News from './News'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import {
|
import { MDBBtn, MDBCard, MDBCardBody, MDBContainer, MDBIcon } from 'mdb-react-ui-kit'
|
||||||
MDBBtn,
|
|
||||||
MDBCard,
|
|
||||||
MDBCardBody,
|
|
||||||
MDBContainer,
|
|
||||||
MDBIcon,
|
|
||||||
} from 'mdb-react-ui-kit'
|
|
||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import Paralax from './components/Paralax'
|
import Paralax from './components/Paralax'
|
||||||
import Service from './components/service'
|
import Service from './components/service'
|
||||||
@@ -40,7 +34,7 @@ export default function Home({ data_NEWS }) {
|
|||||||
<Slider />
|
<Slider />
|
||||||
<br />
|
<br />
|
||||||
<div className='lg:mx-20 sm:mx-5'>
|
<div className='lg:mx-20 sm:mx-5'>
|
||||||
<SimpleGrid spacing={15} columns={[1, 2, 3]}>
|
<SimpleGrid spacing={15} columns={[1, 2, 2]}>
|
||||||
<Link href={'/page/contact-us'}>
|
<Link href={'/page/contact-us'}>
|
||||||
<MDBCard className={'bg-neutral-100 fst-box hover:bg-neutral-200 cursor-pointer hover:shadow-2xl'}>
|
<MDBCard className={'bg-neutral-100 fst-box hover:bg-neutral-200 cursor-pointer hover:shadow-2xl'}>
|
||||||
<MDBCardBody className={'flex justify-content-center'}>ارتباط با ما</MDBCardBody>
|
<MDBCardBody className={'flex justify-content-center'}>ارتباط با ما</MDBCardBody>
|
||||||
@@ -56,11 +50,11 @@ export default function Home({ data_NEWS }) {
|
|||||||
<MDBCardBody className={'flex justify-content-center'}>سوالات متداول</MDBCardBody>
|
<MDBCardBody className={'flex justify-content-center'}>سوالات متداول</MDBCardBody>
|
||||||
</MDBCard>
|
</MDBCard>
|
||||||
</Link>
|
</Link>
|
||||||
<Link href={'/stock-unit'}>
|
{/* <Link href={'/stock-unit'}>
|
||||||
<MDBCard className={'bg-neutral-100 fst-box hover:bg-neutral-200 cursor-pointer hover:shadow-2xl'}>
|
<MDBCard className={'bg-neutral-100 fst-box hover:bg-neutral-200 cursor-pointer hover:shadow-2xl'}>
|
||||||
<MDBCardBody className={'flex justify-content-center'}> واحد امور سهام</MDBCardBody>
|
<MDBCardBody className={'flex justify-content-center'}> واحد امور سهام</MDBCardBody>
|
||||||
</MDBCard>
|
</MDBCard>
|
||||||
</Link>
|
</Link> */}
|
||||||
</SimpleGrid>
|
</SimpleGrid>
|
||||||
{/* <div className={'mt-5'}>
|
{/* <div className={'mt-5'}>
|
||||||
<OnlineSales />
|
<OnlineSales />
|
||||||
@@ -114,10 +108,10 @@ export default function Home({ data_NEWS }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const getServerSideProps = async context => {
|
export const getServerSideProps = async context => {
|
||||||
const allPostsData = await axios.get(AppUrl('news'))
|
// const allPostsData = await axios.get(AppUrl('news'))
|
||||||
const data_NEWS = await allPostsData.data.slice(0, 6)
|
// const data_NEWS = await allPostsData.data.slice(0, 6)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
props: { data_NEWS, fallback: false } // will be passed to the page component as props
|
props: { data_NEWS: null, fallback: false } // will be passed to the page component as props
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,32 +16,6 @@ const MedicalEquipment = () => {
|
|||||||
height={2000}
|
height={2000}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='lg:mx-20 sm:mx-5 my-25'>
|
|
||||||
<div className={'bk-med flex justify-content-center align-items-center flex-col'}>
|
|
||||||
<div>
|
|
||||||
<MDBTypography
|
|
||||||
style={{ borderLeft: 'none', borderRight: '6px solid ', backgroundColor: '#F0F0F0' }}
|
|
||||||
note
|
|
||||||
noteColor='dark'
|
|
||||||
className='mb-0'
|
|
||||||
>
|
|
||||||
<MDBRow>
|
|
||||||
<MDBTypography className={'dana right-align'}>
|
|
||||||
اگر به دنبال همکاری با بخش تجهیزات بیمارستان هستید، لطفا با یکی از شمارههای زیر تماس حاصل نمایید تا
|
|
||||||
اطلاعات بیشتری در این خصوص از ما دریافت کنید
|
|
||||||
</MDBTypography>
|
|
||||||
</MDBRow>
|
|
||||||
</MDBTypography>
|
|
||||||
</div>
|
|
||||||
<div className='flex lg:flex-row md:flex-col justify-center items-center sm:flex-col gap-x-5 mt-4'>
|
|
||||||
<a className='dana' href='tel:021-53457999'>021-53457999</a>
|
|
||||||
<br />
|
|
||||||
<a className='dana' href='tel:09194199420'>09194199420</a>
|
|
||||||
<br />
|
|
||||||
<a>خانم زارعی</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</AppContainer>
|
</AppContainer>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,8 +29,8 @@ const About = (props) => {
|
|||||||
|
|
||||||
</h5>
|
</h5>
|
||||||
<p className={'right-align RTL'}>
|
<p className={'right-align RTL'}>
|
||||||
بیمارستان تخصصی مهرایرانیان واقع در اتوبان چهاربانده اصلی داخلی شهر پرند در بهترین موقعیت مکانی و در دل مسکن مهر، با فضای درمانی به متراژ تقریبی 500/14 متر مربع همراه با 4000 متر پارکینگ طبقاتی، با هدف تبدیل شدن به یکی از قطب های درمانی منطقه در حال احداث می باشد. این بیمارستان که تنها بیمارستان تخصصی در کنار بزرگترین فرودگاه کشور است در فاز اولیه احداث دارای 96 تختخواب و دارای بخش های ICU،CCU،NICU،زایشگاه، اتاق های عمل، مرکز تصویربرداری،آزمایشگاه،داروخانه، اورژانس، بخش اسکوپی و گوارش، و دندانپزشکی عمومی و تخصصی می باشد. این بیمارستان در آینده نه چندان دور سهم بسزایی در بهداشت و درمان منطقه جنوب غرب تهران که شامل شهرهای پرند،رباط کریم،نسیم شهر و شهرک های تابعه است، خواهد داشت.
|
بیمارستان تخصصی مهرایرانیان واقع در اتوبان چهاربانده اصلی داخلی شهر پرند در بهترین موقعیت مکانی و در دل مسکن مهر، با فضای درمانی به متراژ تقریبی 21.000 متر مربع همراه با 4000 متر پارکینگ طبقاتی، با هدف تبدیل شدن به یکی از قطب های درمانی منطقه در حال احداث می باشد. این بیمارستان که تنها بیمارستان تخصصی در کنار بزرگترین فرودگاه کشور است در فاز اولیه احداث دارای 96 تختخواب و دارای بخش های ICU،CCU،NICU،زایشگاه، اتاق های عمل، مرکز تصویربرداری،آزمایشگاه،داروخانه، اورژانس، بخش اسکوپی و گوارش، و دندانپزشکی عمومی و تخصصی می باشد. این بیمارستان در آینده نه چندان دور سهم بسزایی در بهداشت و درمان منطقه جنوب غرب تهران که شامل شهرهای پرند،رباط کریم،نسیم شهر و شهرک های تابعه است، خواهد داشت.
|
||||||
در حال حاضر این پروژه 30% پیشرفت فیزیکی داشته و طبقه همکف آن که شامل اورژانس و کلینیک های تخصصی است تا پایان آبان 1400 تکمیل خواهد شد.
|
در حال حاضر این پروژه 80% پیشرفت فیزیکی داشته و طبقه همکف آن که شامل اورژانس و کلینیک های تخصصی است تا پایان آبان 1400 تکمیل خواهد شد.
|
||||||
مرحله راه اندازی بیمارستان با حداقل ظرفیت تا پایان سال 1402 و مرحله تکمیل و راه اندازی کامل بیمارستان با ظرفیت 200 تخت در سال 1403 انجام خواهد شد.
|
مرحله راه اندازی بیمارستان با حداقل ظرفیت تا پایان سال 1402 و مرحله تکمیل و راه اندازی کامل بیمارستان با ظرفیت 200 تخت در سال 1403 انجام خواهد شد.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
@@ -40,8 +40,8 @@ const About = (props) => {
|
|||||||
<br/>
|
<br/>
|
||||||
<div>
|
<div>
|
||||||
<MDBProgress height='30'>
|
<MDBProgress height='30'>
|
||||||
<MDBProgressBar className={'dana'} width='45' valuemin={0} valuemax={100}>
|
<MDBProgressBar className={'dana'} width='80' valuemin={0} valuemax={100}>
|
||||||
45% پیشرفت فیزیکی پروژه
|
80% پیشرفت فیزیکی پروژه
|
||||||
</MDBProgressBar>
|
</MDBProgressBar>
|
||||||
</MDBProgress>
|
</MDBProgress>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -15,21 +15,21 @@ const QuestionAndAnswer = () => {
|
|||||||
// title: ' قیمت سهام ',
|
// title: ' قیمت سهام ',
|
||||||
// text: ` (بروزرسانی : خرداد 1401 ) فروش سهام با تعداد محدود و مدت محدود با ${Stock_price} قيمت تومان`
|
// text: ` (بروزرسانی : خرداد 1401 ) فروش سهام با تعداد محدود و مدت محدود با ${Stock_price} قيمت تومان`
|
||||||
// },
|
// },
|
||||||
{
|
// {
|
||||||
id: 2,
|
// id: 2,
|
||||||
title: 'چگونه سهام خریداری کنیم ؟ ',
|
// title: 'چگونه سهام خریداری کنیم ؟ ',
|
||||||
text: 'برای خرید سهام می توانید با شماره 53547000-021 تماس حاصل فرمایید یا از طریق مراجعه به دفتر خرید سهام (واقع در شهر پرند ، بلوار شهید فاسم سلیمانی ( چهار بانده) فاز 5 ، بیمارستان مهر ایرانیان پرند) اقدام به خرید سهام فرمایید .'
|
// text: 'برای خرید سهام می توانید با شماره 53547000-021 تماس حاصل فرمایید یا از طریق مراجعه به دفتر خرید سهام (واقع در شهر پرند ، بلوار شهید فاسم سلیمانی ( چهار بانده) فاز 5 ، بیمارستان مهر ایرانیان پرند) اقدام به خرید سهام فرمایید .'
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
id: 3,
|
// id: 3,
|
||||||
title: 'سود سالیانه هر سهامدار چگونه انجام می شود ؟ ',
|
// title: 'سود سالیانه هر سهامدار چگونه انجام می شود ؟ ',
|
||||||
text: 'سود سالیانه بر اساس درآمد یک ساله بیمارستان بعد از برآورد هزینه ها و خرج های بیمارستان و تصمیم هیئت مدیره شرکت سهامی بر اساس مقدار سهم سهامدار سود پرداخت می شود'
|
// text: 'سود سالیانه بر اساس درآمد یک ساله بیمارستان بعد از برآورد هزینه ها و خرج های بیمارستان و تصمیم هیئت مدیره شرکت سهامی بر اساس مقدار سهم سهامدار سود پرداخت می شود'
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
id: 7,
|
// id: 7,
|
||||||
title: 'آیا امکان انتقال سهام وجود دارد ؟ ',
|
// title: 'آیا امکان انتقال سهام وجود دارد ؟ ',
|
||||||
text: 'بله امكان فروش مجدد سهام وجود دارد , نقل و انتقال مورد قبول شركت فقط از طريق طي مراحل قانوني كه در دفتر امور سهام شركت و مبايعه نامه نقل و انتقال في مابين خريدار و فروشنده ميبايست به تاييد شركت و هر نوع معامله اي ميبايست به نرخ اعلامي روز از جانب شركت انجام گرفته شده باشد.'
|
// text: 'بله امكان فروش مجدد سهام وجود دارد , نقل و انتقال مورد قبول شركت فقط از طريق طي مراحل قانوني كه در دفتر امور سهام شركت و مبايعه نامه نقل و انتقال في مابين خريدار و فروشنده ميبايست به تاييد شركت و هر نوع معامله اي ميبايست به نرخ اعلامي روز از جانب شركت انجام گرفته شده باشد.'
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
id: 5,
|
id: 5,
|
||||||
title: 'امکانات باشگاه VIP سهامداران',
|
title: 'امکانات باشگاه VIP سهامداران',
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ const SmartAdvice = () => {
|
|||||||
</div>
|
</div>
|
||||||
<div className={'flex justify-content-center m-2'}>
|
<div className={'flex justify-content-center m-2'}>
|
||||||
{page === 5 ? (
|
{page === 5 ? (
|
||||||
<MDBBtn onClick={SubmitForm} size={'lg'} className={'mt-2 bk-med text-center bg-primary-teal'}>ثبت در خواست مشاوره خرید سهام </MDBBtn>
|
<MDBBtn onClick={SubmitForm} size={'lg'} className={'mt-2 bk-med text-center bg-primary-teal'}> درخواست مشاوره </MDBBtn>
|
||||||
): ''}
|
): ''}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -23,12 +23,12 @@ const StockUnit = () => {
|
|||||||
return (
|
return (
|
||||||
<AppContainer title={' امور سهام'}>
|
<AppContainer title={' امور سهام'}>
|
||||||
<div className='parallax-container'>
|
<div className='parallax-container'>
|
||||||
<div
|
{/* <div
|
||||||
style={{ fontSize: 30 }}
|
style={{ fontSize: 30 }}
|
||||||
className={'center-align text-white header_back service-text dana font-weight-bold'}
|
className={'center-align text-white header_back service-text dana font-weight-bold'}
|
||||||
>
|
>
|
||||||
امور سهام
|
امور سهام
|
||||||
</div>
|
</div> */}
|
||||||
<Image
|
<Image
|
||||||
loader={Parallax}
|
loader={Parallax}
|
||||||
src='Parallax.png'
|
src='Parallax.png'
|
||||||
@@ -67,8 +67,8 @@ const StockUnit = () => {
|
|||||||
</SimpleGrid>
|
</SimpleGrid>
|
||||||
</div>
|
</div>
|
||||||
<div className='text-center w-full'>
|
<div className='text-center w-full'>
|
||||||
<a className='' href='tel:02153757999'>
|
<a className='' href='tel:02153457999'>
|
||||||
امور سهامداران: 02153757999
|
امور سهامداران: 53457999 - 021
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ const StockSalesContainer = () => {
|
|||||||
<div className='addressAbout pr-8 pl-8 pt-[1.8rem]'>
|
<div className='addressAbout pr-8 pl-8 pt-[1.8rem]'>
|
||||||
<h4 className='text-white font-bold md:text-xl '>ارتباط با واحد سهام</h4>
|
<h4 className='text-white font-bold md:text-xl '>ارتباط با واحد سهام</h4>
|
||||||
<p className='text-white font-light md:text-lg pt-[0.5rem]'>
|
<p className='text-white font-light md:text-lg pt-[0.5rem]'>
|
||||||
بعد از ارسال درخواست کارشناسان طی 24 ساعت با شما تماس خواهند گرفت
|
{/* بعد از ارسال درخواست کارشناسان طی 24 ساعت با شما تماس خواهند گرفت */}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div className='address'>
|
<div className='address'>
|
||||||
|
|||||||
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 41 KiB |