{"version":3,"sources":["utilities/fetch/restConfig.js","store/layout/actions/actionTypes.js","store/layout/reducer.js","store/RootReducer.js","store/index.js","assets/js/variables.js","theme/StyleProvider.js","utilities/fetch/httpService.js","utilities/consts/apiUrls.js","services/pagesRequestServices.js","components/general/footer/Footer.jsx","services/miscRequestServices.js","components/general/misc/MenuTitle.jsx","assets/media/icons/compass.svg","components/general/header/HeaderProducts.jsx","services/productRequestServices.js","ui-kits/Modal.jsx","assets/media/logo.svg","assets/media/icons/arrowBack.js","assets/media/icons/menu.js","components/general/header/Header.jsx","components/general/misc/HtmlContent.jsx","utilities/merge.js","Pages/About/About.jsx","utilities/validation.js","ui-kits/form/UploadFile.jsx","ui-kits/form/Form.jsx","utilities/consts/models.js","services/consultingRequestServices.js","utilities/consts/formFields.js","Pages/ConsultingRequest/ConsultingRequest.jsx","assets/media/marker.svg","utilities/persianNumber.js","services/homeRequestServices.js","assets/media/linkedin.png","assets/media/aparat.png","assets/media/instagram.png","assets/media/whatsapp.png","Pages/ContactUs/Sochial.jsx","Pages/ContactUs/ContactUs.jsx","services/contactUsServices.js","Pages/Customers/Customers.jsx","assets/media/news-default-1.png","assets/media/news-default-2.png","assets/media/news-default-3.png","assets/media/news-default-4.png","assets/media/news-default-5.png","components/general/misc/NewsAvatar.jsx","components/general/misc/SectionTitle.jsx","Pages/Home/News.jsx","assets/media/icons/products.svg","Pages/Home/Products.jsx","assets/media/icons/aparat.svg","assets/media/icons/instagram.svg","assets/media/icons/linkedin.svg","assets/media/icons/whatsapp.svg","assets/media/icons/twitter.svg","Pages/Home/SoacialNetworks.jsx","utilities/converters.js","components/home/StyledBrainButtons.js","utilities/coordinatesOnBrain.js","components/home/BrainButtons.jsx","assets/media/gifScroll.gif","components/general/background/ScrollDownIcon.jsx","Pages/Home/Home.jsx","Pages/JobRequest/JobRequest.jsx","services/jobRequestServices.js","Pages/Members/Mamber.jsx","assets/media/icons/close.js","assets/media/icons/linkedin.js","Pages/Members/Members.jsx","utilities/isOdd.js","Pages/News/News.jsx","services/newsRequestServices.js","Pages/News/ContentSharer.jsx","components/general/misc/LocalizedDate.jsx","Pages/News/NewsDetail.jsx","Pages/Newsletter/Newsletter.jsx","services/newsletterServices.js","ui-kits/Slider.jsx","assets/media/icons/close.svg","components/general/modals/ConsultingRequestModal.jsx","components/general/modals/FileModal.jsx","assets/media/laptop-mockup.png","components/general/sliders/LaptopSlider.jsx","components/general/misc/WhatsAppButton.jsx","assets/media/icons/setting.svg","assets/media/icons/star.svg","Pages/Products/Product.jsx","Pages/Products/Products.jsx","Pages/NotFoundPage/NotFoundPage.jsx","router/routerConfig.js","router/BodyRouter.jsx","router/FooterRouter.jsx","components/general/background/SideBox.jsx","assets/media/icons/catalogue.png","assets/media/icons/demo.png","assets/media/icons/contact.png","App.js","router/history.jsx","index.js"],"names":["module","exports","apiConfig","apiRoot","process","CHANGE_ALERT_LIST","concat","initialState","alert_list","reducer","state","arguments","length","undefined","action","type","_objectSpread","data","RootReducer","combineReducers","layout","layoutReducer","devtools","x","index","store","createStore","compose","applyMiddleware","thunk","subscribe","Object","freeze","colors","background","green","text","lightBlue","blue","darkBlue","darkBlue2","brand","whiteSmoke","gridBreakpoints","xs","sm","md","lg","xl","xxl","theme","createTheme","direction","palette","primary","main","components","MuiPaper","styleOverrides","root","margin","borderRadius","boxShadow","MuiAlert","icon","padding","MuiInputLabel","color","left","right","transformOrigin","fontFamily","MuiOutlinedInput","borderColor","variables","notchedOutline","border","textAlign","MuiInputBase","MuiFormHelperText","marginTop","StyleProvider","_ref","children","_jsx","ThemeProvider","SnackbarProvider","maxSnack","baseApi1","httpService","formData","defaultHeaders","url","body","_ref$hasFile","hasFile","_ref$method","method","_ref$params","params","_ref$headers","headers","rootRequest","FormData","keys","forEach","key","append","Headers","delete","JSON","stringify","Accept","Promise","resolve","reject","fetch","then","rawResponse","ok","json","response","catch","error","status","contact_us","consulting_request","newsletter_subscriber","job_request","pages","team","customers","webpage","page_title","misc","header_links","footer_links","social_link_by_title","home","social_links","product_groups","pinned_products","top_news","news","post_categories","post_tags","posts_list_all","posts_list_by_category","posts_list_by_tag","post_by_id","products","list_all","by_id","getWebpageService","code","fetchApi","apiUrls","replace","getCopyrightTitle","getPageTitle","Footer","_useState","useState","_useState2","_slicedToArray","menuData","changeMenuData","_useState3","_useState4","copyrightText","changeCopyrightText","getMenuData","useCallback","results","getCopyrightText","res","useEffect","_jsxs","className","Children","toArray","map","item","Link","to","title","MenuTitle","iconSrc","restProps","_objectWithoutProperties","_excluded","_Fragment","src","alt","MenuButtonsList","list","includes","href","target","rel","HeaderProducts","groupedProductsData","changeGroupedProductsData","getGroupedProductsData","_ref2","values","groupBy","compassSvg","product_group","latin_title","id","document","getElementById","modalRoot","Modal","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","el","createElement","_createClass","value","appendChild","this","maintainRoot","classList","add","remove","removeChild","createPortal","Component","arrowBack","style","stroke","fill","width","xmlns","viewBox","lineHeight","textIndent","textDecorationLine","textDecorationStyle","textDecorationColor","textTransform","blockProgression","isolation","mixBlendMode","d","fontWeight","whitespace","overflow","Menu","zoomAndPan","height","preserveAspectRatio","version","clipRule","clipPath","fillOpacity","fillRule","productMenuItem","idx","component","Header","_menuData$find","isShowMenu","toggleIsShowMenu","selectedMenu","changeSelectedMenu","_useState5","_useState6","_useState7","_useState8","isNarrowed","toggleIsNarrowed","_useState9","_useState10","licenseNotice","changeLicenseNotice","_useState11","_useState12","getLiceneNotice","_toConsumableArray","filter","useLayoutEffect","window","innerWidth","onScrollChanged","scrollY","addEventListener","passive","removeEventListener","locationProduct","location","pathname","Styles","mainLogo","ArrowBack","onClick","CSSTransition","in","timeout","classNames","unmountOnExit","outline","find","i","styled","div","_templateObject","_taggedTemplateLiteral","HtmlContent","rawHtml","parse","mergeObjectByKey","details","merge","keyBy","aboutInfo","About","aboutData","changeAboutData","getAboutData","content","span","errorMessages","is_required","validation","only_char_fa","only_mail","only_phone","only_mobile","only_pdf","over_size","regex","typeValidation","isRequired","file_type","list_valid","presence","message","allowEmpty","format","pattern","is","file","size","schema","schemaWithoutFiles","dataWithoutFiles","_schema$key2","assign","_defineProperty","errorList","validate","fullMessages","schemaWithFiles","schemaWithFilesForValidateJs","dataWithFiles","_schema$key","_dataWithFiles$key","_schemaWithFiles$key","_schemaWithFiles$key2","createErrorMessage","toFixed","validateFiles","UploadFiles","selectedFiles","currentFile","progress","selectFile","bind","_assertThisInitialized","event","preventDefault","files","onChange","name","setState","URL","createObjectURL","prevProps","_this$state","_this$props","label","helperText","display","StyledImageContainer","StyledError","_templateObject2","Form","fields","onSubmit","isSending","isSuccess","setData","schemaValidation","onChangeSchemaValidation","changeErrorList","initialFormData","fieldData","defaultValue","element_list","createValid","element","createSchemaValidation","e","valid","FormControl","field","TextField","variant","prevState","inputProps","fontSize","InputLabelProps","UploadFile","disabled","statusesOfForm","sendConsultingRequest","last_name","mobile","email","description","company_name","position","consultingRequestFormFields","jobRequestFormFields","ConsultingRequest","statusForm","changeStatusForm","enqueueSnackbar","useSnackbar","pageTitle","changePageTitle","finally","toPersianNumberNotTag","str","split","join","toPersianNumber","match","digit","String","fromCharCode","charCodeAt","getSocialLinks","Container","img","Sochial","header","socialLinksData","changeSocialLinksData","getSocialLinksData","instagram","linkedin","whatsapp","aparat","contactUsInfo","newsletterFormFields","L","require","ContactUs","mapContainer","useRef","contactData","changeContactData","titleContact","setTitleContact","mapLocation","setMapLocation","setMap","getContactData","getTiTle","onClickPin","open","_contactData$details","splited","slice","updatedMapLocation","current","hasChildNodes","leafletMap","zoomControl","setView","tileLayer","attribution","minZoom","addTo","greenIcon","iconUrl","markerSvg","iconSize","iconAnchor","marker","on","console","log","Icon","ContactRow","StyledMapContainer","ref","sendContactUs","_templateObject3","Customers","customersData","changeCustomersData","getCustomersData","CustomerList","CustomerBox","ContentContainer","StyledImageLogo","logo","abs_description","success_story_page_url","a","_templateObject4","newsDefaults","newsDefault1Png","newsDefault2Png","newsDefault3Png","newsDefault4Png","newsDefault5Png","NewsAvatar","photo","randomPhoto","changeRandomPhoto","Math","floor","random","SectionTitle","iconName","News","newsData","changeNewsData","getNewsData","NewsContainer","TitleRow","NewsList","NewsItem","NewsContent","_templateObject5","Products","productsData","changeProductsData","getProductsData","productsSvg","ProductList","_item$logo","ProductCard","ProductIcon","slogan","slogan_description","slug","socialNetworkData","instagramSvg","linkedinSvg","whatsappSvg","aparatSvg","twitterSvg","SocialNetworks","stuckTop","toggleStuckTop","ReactSVG","hexToRgbA","hex","c","opacity","test","substring","Error","positionPoints","top","positionPointsMobile","StyledBrainButtons","StyledButton","button","coordinates","before","whereIsPointOnContainer","container","point","sidePosition","xSpace","angle","xAxis","yAxis","xPos","yPos","y","bottom","avgAxis","widthAndPointOfAxisLinear","staticStyle","dynamicStyle","generatePointPosition","Information","symbol","link","containerDimensions","changeSelectedData","isShowData","toggleIsShowData","badgeCoordinates","changeBadgeCoordinates","btnRef","linkRef","handleShowData","resizeWindow","debounce","_btnRef$current","btnDimensions","getBoundingClientRect","handleResize","focus","onFocus","dir","onBlur","relatedTarget","contains","BrainButtons","_ref3","onMounted","brainContainer","changeDimensions","productList","changeProductList","selectedData","getProductList","useMemo","_ref4","_brainContainer$curre","observerRefValue","observer","IntersectionObserver","entries","isIntersecting","delay","rootMargin","threshold","observe","unobserve","ScrollDownIcon","visible","setVisible","handleScroll","scrollTop","pageYOffset","documentElement","windowHeight","innerHeight","fullHeight","offsetHeight","gifScroll","Home","isFocusTab","toggleIsFocusTab","isLoadedBrain","toggleIsLoadedBrain","onDoubleClick","withRouter","history","push","Suspense","fallback","ScrollDown","JobRequest","JobRequestData","changeJobRequestData","getJobRequest","job_title","cv_file","sendJobRequest","Mamber","first_name","post","click","show","setShow","motion","animate","initial","transition","duration","ease","Close","Linkedin","Members","membersData","changeMembersData","selectedMember","setSelectedMember","isModalOpen","setModalOpen","getTeam","array","randomIndex","currentIndex","shuffleArray","StyledMembers","Grid","spacing","number","StyledDialog","MyPagination","Pagination","query","search","useLocation","URLSearchParams","useQuery","categoryId","get","tagId","categoryAndTagData","setCategoryAndTagData","hasMore","items","setNewsData","currentPage","setCurrentPage","page","category","tag","getPosts","next","prevData","getInitialNewsData","getNextNewsData","getCategoryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$getPostCategor","categories","_yield$getPostTags","tags","wrap","_context","prev","sent","stop","currentBlogContent","startIndex","endIndex","tagTitleData","categoryTitleData","localStorage","getItem","marginLeft","ButtonGroup","setItem","InfiniteScroll","initialLoad","loadMore","abs_content","count","ceil","scrollTo","behavior","_templateObject6","sharePlatformsData","ContentSharer","LocalizedDate","date","persianDate","RelatedNewItem","NewsDetail","_newsData$related_lin","_newsData$related_lin2","origin","useParams","postId","NewsMeta","author","published_on","NewsBody","NewsText","RelatedNewsList","related_links","NewsShare","p","section","_templateObject7","_templateObject8","_templateObject9","Newsletter","sendNewsletter","settingsDefault","autoplay","autoplaySpeed","arrows","centerMode","dots","infinite","speed","Slider","settings","StyledSliderComponent","SliderComponent","consultingRequestForModal","ConsultingRequestModal","isOpen","toggleOpen","productInfo","closeSvg","fullData","FileModal","onClose","selectedIndex","slidesToShow","slidesToScroll","initialSlide","image","allowFullScreen","LaptopSlider","selectedFile","changeSelectedFile","StyledLaptopSlider","laptopMock","WhatsAppButton","_ref$tooltip","tooltip","_ref$size","whatsAppUrl","changeWhatsAppUrl","getWhatsAppUrl","StyledWhatsAppButton","stopPropagation","Product","isShowMore","toggleShowMore","isShowRequest","toggleShowRequest","productData","changeProductData","getProductData","getProduct","exit","StyledProduct","FloatingButton","transform","DividerStyled","builder","StyledCustomerSlider","customer","StylesCustomer","justifyContent","CircleLogo","starSvg","usages","settingSvg","options","photos","brochure","download","license_price","deployment_price","usages_description","NotFoundPage","errorMessage","Typography","align","gutterBottom","Button","fullWidth","baseRoute","exact","customRoute","routes","path","ScrollToTop","unlisten","listen","BodyRouter","Route","render","AnimatePresence","Switch","route","FooterRouter","footer","SideBox","brochureLink","setBrochureLink","parseInt","orientation","App","flexDirection","minHeight","createBrowserHistory","configureStore","ReactDOM","Provider","BrowserRouter","StyleSheetManager","stylisPlugins","rtlPlugin"],"mappings":"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","file":"static/js/main.e6f9d558.chunk.js","sourcesContent":["function apiConfig () {\r\n return (\r\n {\r\n apiRoot: process.env.REACT_APP_BASE_API_URL,\r\n }\r\n )\r\n}\r\n\r\n\r\nmodule.exports = {apiConfig}\r\n\r\n","const this_path = 'LAYOUT_'\r\n\r\nexport const CHANGE_ALERT_LIST = `${this_path}CHANGE_ALERT_LIST`\r\n","import { CHANGE_ALERT_LIST } from \"./actions/actionTypes\";\r\n\r\nconst initialState = {\r\n alert_list: [],\r\n};\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case CHANGE_ALERT_LIST:\r\n return { ...state, alert_list: action.data };\r\n\r\n default:\r\n return { ...state };\r\n }\r\n};\r\n\r\nexport default reducer;\r\n","import {combineReducers} from 'redux'\r\nimport layoutReducer from './layout/reducer'\r\n\r\nconst RootReducer = combineReducers({\r\n layout: layoutReducer\r\n})\r\n\r\nexport default RootReducer\r\n","import thunk from \"redux-thunk\";\r\nimport { createStore, applyMiddleware, compose } from \"redux\";\r\nimport RootReducer from \"./RootReducer\";\r\n\r\nconst initialState = {};\r\nlet devtools = (x) => x;\r\n\r\nif (\r\n process.env.NODE_ENV !== \"production\" &&\r\n process.browser &&\r\n window.__REDUX_DEVTOOLS_EXTENSION__\r\n) {\r\n devtools = window.__REDUX_DEVTOOLS_EXTENSION__();\r\n}\r\n\r\nconst index = () => {\r\n let store = createStore(\r\n RootReducer,\r\n initialState,\r\n compose(applyMiddleware(thunk), devtools)\r\n );\r\n\r\n store.subscribe(() => {});\r\n\r\n return { store };\r\n};\r\nexport default index;\r\n","export default Object.freeze({\r\n colors: {\r\n background: \"#001023\",\r\n green: \"#00EEB8\",\r\n text: \"white\",\r\n lightBlue: \"#44709f\",\r\n blue: \"#19324D\",\r\n darkBlue: \"#091B2F\",\r\n darkBlue2: \"#103156\",\r\n brand: \"#1A67FF\",\r\n whiteSmoke: \"#D1D8E0\",\r\n },\r\n gridBreakpoints: {\r\n xs: 0,\r\n sm: 576,\r\n md: 768,\r\n lg: 992,\r\n xl: 1200,\r\n xxl: 1620,\r\n },\r\n});\r\n","import { createTheme, ThemeProvider } from \"@mui/material\";\r\nimport { SnackbarProvider } from \"notistack\";\r\n\r\nimport variables from \"../assets/js/variables\";\r\n\r\nconst theme = createTheme({\r\n direction: \"rtl\",\r\n palette: {\r\n primary: {\r\n main: \"#00EEB8\",\r\n },\r\n },\r\n components: {\r\n MuiPaper: {\r\n styleOverrides: {\r\n root: {\r\n margin: \"1rem 9rem\",\r\n borderRadius: \"none\",\r\n background: \"none\",\r\n boxShadow:\r\n \"0px 11px 15px -7px rgba(0,0,0,0.2), 0px 8px 5px 3px rgba(0,0,0,-5.86), 0px 9px 46px 8px rgba(0,0,0,0.12)\",\r\n },\r\n },\r\n },\r\n MuiAlert: {\r\n styleOverrides: {\r\n icon: {\r\n margin: \"0 0 0 12px\",\r\n },\r\n action: {\r\n margin: \"0 auto 0 -8px\",\r\n padding: \"2px 14px 0 0\",\r\n },\r\n },\r\n },\r\n MuiInputLabel: {\r\n styleOverrides: {\r\n root: {\r\n color: \"#00EEB8\",\r\n left: \"unset\",\r\n right: \"2.8em\",\r\n transformOrigin: `top right`,\r\n fontFamily: \"inherit\",\r\n \":hover\": {\r\n color: \"#00EEB8\",\r\n },\r\n \":focus\": {\r\n color: \"#00EEB8\",\r\n },\r\n \":active\": {\r\n color: \"#00EEB8\",\r\n },\r\n \":focus-within\": {\r\n color: \"#00EEB8\",\r\n },\r\n },\r\n },\r\n },\r\n MuiOutlinedInput: {\r\n styleOverrides: {\r\n root: {\r\n fontFamily: \"inherit\",\r\n borderRadius: \"10px\",\r\n \"&.Mui-error .MuiOutlinedInput-notchedOutline\": {\r\n borderColor: \"#d32f2f !important\",\r\n },\r\n \"&:hover, &.Mui-focused .MuiOutlinedInput-notchedOutline\": {\r\n \".MuiOutlinedInput-notchedOutline\": {\r\n borderColor: `${variables.colors.lightBlue} !important`,\r\n },\r\n },\r\n },\r\n notchedOutline: {\r\n border: `solid 2px ${variables.colors.blue} !important`,\r\n textAlign: \"right\",\r\n },\r\n },\r\n },\r\n MuiInputBase: {\r\n styleOverrides: {\r\n root: {\r\n color: \"white\",\r\n background: \"rgba(0,0,0, 0.2)\",\r\n },\r\n },\r\n },\r\n MuiFormHelperText: {\r\n styleOverrides: {\r\n root: {\r\n fontFamily: \"inherit\",\r\n textAlign: \"right\",\r\n marginTop: \"10px\",\r\n },\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst StyleProvider = ({ children }) => (\r\n \r\n {children}\r\n \r\n);\r\nexport default StyleProvider;\r\n","import { apiConfig } from \"./restConfig\";\r\n\r\nconst baseApi1 = apiConfig().apiRoot;\r\n\r\nconst httpService = ({\r\n url,\r\n body,\r\n hasFile = false,\r\n method = \"GET\",\r\n params = {},\r\n headers = {},\r\n}) => {\r\n const rootRequest = baseApi1 + url;\r\n\r\n let formData, defaultHeaders;\r\n if (!hasFile) {\r\n formData = JSON.stringify(body);\r\n defaultHeaders = {\r\n \"Content-Type\": \"application/json; charset=utf-8\",\r\n Accept: \"application/json\",\r\n ...headers,\r\n };\r\n } else {\r\n formData = new FormData();\r\n Object.keys(body).forEach((key) => formData.append(key, body[key]));\r\n\r\n defaultHeaders = new Headers();\r\n defaultHeaders.delete(\"Content-Type\");\r\n }\r\n\r\n let myHeaders = new Headers();\r\n myHeaders.delete(\"Content-Type\");\r\n return new Promise((resolve, reject) => {\r\n fetch(rootRequest, {\r\n method: method,\r\n headers: defaultHeaders,\r\n body: formData,\r\n ...params,\r\n })\r\n .then((rawResponse) => {\r\n if (rawResponse.ok) {\r\n rawResponse\r\n .json()\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch(() => {\r\n resolve(rawResponse);\r\n });\r\n } else {\r\n rawResponse\r\n .json()\r\n .then((response) => {\r\n rawResponse.response = response;\r\n reject(rawResponse);\r\n })\r\n .catch(() => {\r\n reject(rawResponse);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n if (!error.status) {\r\n } else {\r\n reject(error);\r\n }\r\n });\r\n });\r\n};\r\n\r\nexport default httpService;\r\n","export default Object.freeze({\r\n contact_us: \"/ContactUs/\",\r\n consulting_request: \"/ConsultingRequest/\",\r\n newsletter_subscriber: \"/NewsletterSubscriber/\",\r\n job_request: \"/cv/\",\r\n pages: {\r\n team: \"/Team/\",\r\n customers: \"/Customer/\",\r\n webpage: \"/Webpage/$code/\",\r\n page_title: \"/PageTitle/$code/\",\r\n },\r\n misc: {\r\n header_links: \"/FooterLinks/\",\r\n footer_links: \"/FooterLinks/\",\r\n social_link_by_title: \"/social-link/?title=$title\",\r\n },\r\n home: {\r\n social_links: \"/SocialLinks/\",\r\n product_groups: \"/ProductGroup/\",\r\n pinned_products: \"/PinnedProduct/\",\r\n top_news: \"/News/\",\r\n },\r\n\r\n news: {\r\n post_categories: \"/PostCategory/\",\r\n post_tags: \"/Tag/\",\r\n posts_list_all: \"/PostList/?page=$page\",\r\n posts_list_by_category: \"/PostList/?category=$category&tag=$tag\",\r\n posts_list_by_tag: \"/PostList/?tag=$tag&category=$category\",\r\n post_by_id: \"/Post/$id/\",\r\n },\r\n products: {\r\n list_all: \"/Product/\",\r\n by_id: \"/Product/$id/\",\r\n },\r\n});\r\n","import fetchApi from \"../utilities/fetch/httpService\";\r\nimport apiUrls from \"../utilities/consts/apiUrls\";\r\n\r\nexport const getTeamService = () =>\r\n fetchApi({\r\n url: apiUrls.pages.team,\r\n method: \"get\",\r\n });\r\n\r\nexport const getCustomersService = () =>\r\n fetchApi({\r\n url: apiUrls.pages.customers,\r\n method: \"get\",\r\n });\r\n\r\nexport const getAboutService = () => getWebpageService(\"106\");\r\n\r\nexport const getContactService = () => getWebpageService(\"105\");\r\n\r\nexport const getWebpageService = (code) =>\r\n fetchApi({\r\n url: apiUrls.pages.webpage.replace(\"$code\", code),\r\n method: \"get\",\r\n });\r\n\r\nexport const getNewsletterPageTitle = () => getPageTitle(\"2001\");\r\n\r\nexport const getCustomersPageTitle = () => getPageTitle(\"2002\");\r\n\r\nexport const getConsultingRequestPageTitle = () => getPageTitle(\"2003\");\r\n\r\nexport const getJobRequestPageTitle = () => getPageTitle(\"2004\");\r\n\r\nexport const getContactPageTitle = () => getPageTitle(\"2005\");\r\n\r\nexport const getConsultingRequestModalTitle = () => getPageTitle(\"2006\");\r\n\r\nexport const getLicenceNoticeTitle = () => getPageTitle(\"2007\");\r\n\r\nexport const getCopyrightTitle = () => getPageTitle(\"2008\");\r\n\r\nexport const getBrochureLink = () => getPageTitle(\"2009\");\r\nexport const getTiTleContactUs = () => getPageTitle(\"2013\");\r\n\r\nexport const getPageTitle = (code) =>\r\n fetchApi({\r\n url: apiUrls.pages.page_title.replace(\"$code\", code),\r\n method: \"get\",\r\n });\r\n","import \"./Footer.scss\";\r\n\r\nimport { Children, useCallback, useEffect, useState } from \"react\";\r\n\r\nimport { getFooterData } from \"../../../services/miscRequestServices\";\r\nimport { getCopyrightTitle } from \"../../../services/pagesRequestServices\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst Footer = () => {\r\n const [menuData, changeMenuData] = useState([]);\r\n const [copyrightText, changeCopyrightText] = useState(null);\r\n\r\n const getMenuData = useCallback(() => {\r\n return getFooterData().then(({ results }) => changeMenuData(results));\r\n }, []);\r\n\r\n const getCopyrightText = useCallback(() => {\r\n return getCopyrightTitle().then((res) => changeCopyrightText(res));\r\n }, []);\r\n\r\n useEffect(() => {\r\n getMenuData();\r\n getCopyrightText();\r\n }, [getMenuData, getCopyrightText]);\r\n\r\n return (\r\n
\r\n
\r\n {Children.toArray(\r\n menuData.map((item) => {item.title})\r\n )}\r\n
\r\n
\r\n {copyrightText?.title}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import fetchApi from '../utilities/fetch/httpService'\r\nimport apiUrls from '../utilities/consts/apiUrls'\r\n\r\nexport const getHeaderData = () =>\r\n fetchApi({\r\n url: apiUrls.misc.header_links,\r\n method: 'get'\r\n })\r\n\r\nexport const getFooterData = () =>\r\n fetchApi({\r\n url: apiUrls.misc.footer_links,\r\n method: 'get'\r\n })\r\n \r\nexport const getSocialLinkDetail = (title) =>\r\n fetchApi({\r\n url: apiUrls.misc.social_link_by_title.replace('$title', title),\r\n method: 'get'\r\n })\r\n","const MenuTitle = ({text, iconSrc, className, ...restProps}) =>\r\n <>\r\n {iconSrc && {text}}\r\n

{text}

\r\n \r\n\r\nexport default MenuTitle\r\n","export default __webpack_public_path__ + \"static/media/compass.98a1f19c.svg\";","import { Children, useCallback, useEffect, useState } from \"react\";\r\nimport { groupBy } from \"lodash\";\r\n\r\nimport MenuTitle from \"../misc/MenuTitle\";\r\nimport compassSvg from \"../../../assets/media/icons/compass.svg\";\r\n\r\nimport { getProducts } from \"../../../services/productRequestServices\";\r\n\r\nconst MenuButtonsList = ({ list }) => (\r\n
\r\n {Children.toArray(\r\n list.map((item) =>\r\n item.url ? (\r\n item.url.includes(\"http\") ? (\r\n \r\n {item.title}\r\n \r\n ) : (\r\n \r\n {item.title}\r\n \r\n )\r\n ) : (\r\n \r\n {item.title}\r\n \r\n )\r\n )\r\n )}\r\n
\r\n);\r\n\r\nconst HeaderProducts = () => {\r\n const [groupedProductsData, changeGroupedProductsData] = useState([]);\r\n\r\n const getGroupedProductsData = useCallback(() => {\r\n return getProducts().then(({ results }) =>\r\n changeGroupedProductsData(\r\n Object.values(groupBy(results, \"product_group.id\"))\r\n )\r\n );\r\n }, []);\r\n\r\n useEffect(() => {\r\n getGroupedProductsData();\r\n }, [getGroupedProductsData]);\r\n\r\n return (\r\n
\r\n {groupedProductsData.map((products) => (\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default HeaderProducts;\r\n","import fetchApi from '../utilities/fetch/httpService'\r\nimport apiUrls from '../utilities/consts/apiUrls'\r\n\r\nexport const getProducts = () =>\r\n fetchApi({\r\n url: apiUrls.products.list_all,\r\n method: 'get'\r\n })\r\n\r\nexport const getProduct = (id) =>\r\n fetchApi({\r\n url: apiUrls.products.by_id.replace('$id', id),\r\n method: 'get'\r\n })\r\n","// These two containers are siblings in the DOM\r\nimport {Component} from 'react'\r\nimport {createPortal} from 'react-dom'\r\n\r\nconst root = document.getElementById('root');\r\nconst modalRoot = document.getElementById('modal-root');\r\n\r\nclass Modal extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.el = document.createElement('div');\r\n }\r\n\r\n componentDidMount() {\r\n modalRoot.appendChild(this.el);\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.props.maintainRoot) {\r\n root.classList.add('overflow-hidden');\r\n } else {\r\n root.classList.remove('overflow-hidden');\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n modalRoot.removeChild(this.el);\r\n }\r\n\r\n render() {\r\n return createPortal(\r\n this.props.children,\r\n this.el\r\n );\r\n }\r\n}\r\n\r\nexport default Modal\r\n","export default __webpack_public_path__ + \"static/media/logo.3372c688.svg\";","import React from \"react\";\r\n\r\nfunction arrowBack(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default arrowBack;\r\n","import React from \"react\";\r\n\r\nfunction Menu(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Menu;\r\n","import {\r\n Children,\r\n useCallback,\r\n useEffect,\r\n useLayoutEffect,\r\n useState,\r\n} from \"react\";\r\n\r\nimport { CSSTransition } from \"react-transition-group\";\r\nimport HeaderProducts from \"./HeaderProducts\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Modal from \"../../../ui-kits/Modal\";\r\nimport { getHeaderData } from \"../../../services/miscRequestServices\";\r\nimport mainLogo from \"../../../assets/media/logo.svg\";\r\nimport ArrowBack from \"../../../assets/media/icons/arrowBack\";\r\nimport {\r\n getLicenceNoticeTitle,\r\n getCopyrightTitle,\r\n} from \"../../../services/pagesRequestServices\";\r\nimport styled from \"styled-components\";\r\nimport Menu from \"../../../assets/media/icons/menu\";\r\n\r\nimport \"./Header.scss\";\r\n\r\nconst productMenuItem = {\r\n idx: 999,\r\n title: \"محصولات\",\r\n component: ,\r\n};\r\n\r\nconst Header = (props) => {\r\n const [isShowMenu, toggleIsShowMenu] = useState(false);\r\n const [selectedMenu, changeSelectedMenu] = useState(null);\r\n const [menuData, changeMenuData] = useState([]);\r\n const [isNarrowed, toggleIsNarrowed] = useState(false);\r\n const [licenseNotice, changeLicenseNotice] = useState(null);\r\n const [copyrightText, changeCopyrightText] = useState(null);\r\n const getLiceneNotice = useCallback(() => {\r\n return getLicenceNoticeTitle().then((res) => changeLicenseNotice(res));\r\n }, []);\r\n\r\n const getCopyrightText = useCallback(() => {\r\n return getCopyrightTitle().then((res) => changeCopyrightText(res));\r\n }, []);\r\n\r\n useEffect(() => {\r\n getLiceneNotice();\r\n getCopyrightText();\r\n }, [getLiceneNotice, getCopyrightText]);\r\n\r\n const getMenuData = useCallback(() => {\r\n return getHeaderData().then(({ results }) =>\r\n changeMenuData([\r\n productMenuItem,\r\n ...results.filter((x) => x.url !== \"/products\"),\r\n ])\r\n );\r\n }, []);\r\n\r\n useEffect(() => {\r\n getMenuData();\r\n }, [getMenuData]);\r\n\r\n useLayoutEffect(() => {\r\n if (window.innerWidth > 768) {\r\n changeSelectedMenu(productMenuItem.idx);\r\n }\r\n }, []);\r\n\r\n const onScrollChanged = useCallback(() => {\r\n toggleIsNarrowed(window.scrollY > 100);\r\n }, [toggleIsNarrowed]);\r\n\r\n useLayoutEffect(() => {\r\n document.addEventListener(\"scroll\", onScrollChanged, { passive: true });\r\n\r\n return () => document.removeEventListener(\"scroll\", onScrollChanged);\r\n }, [onScrollChanged]);\r\n\r\n // const onChangePage = withRouter((link) => {\r\n // props.history.push(link);\r\n // toggleIsShowMenu(false);\r\n // });\r\n\r\n let locationProduct = window.location.pathname.includes(\"/products/\");\r\n return (\r\n \r\n
\r\n \r\n \"\"\r\n \r\n \r\n {licenseNotice?.title}\r\n \r\n
\r\n {locationProduct ? (\r\n \r\n \r\n \r\n ) : null}\r\n {!locationProduct ? (\r\n \r\n ) : null}\r\n\r\n \r\n \r\n
\r\n
\r\n {\r\n toggleIsShowMenu(false);\r\n }}\r\n >\r\n \"\"\r\n \r\n {\r\n toggleIsShowMenu(false);\r\n changeSelectedMenu(false);\r\n }}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n {Children.toArray(\r\n menuData.map((item) =>\r\n item?.component ? (\r\n <>\r\n
\r\n \r\n changeSelectedMenu(\r\n selectedMenu === item.idx ? \"\" : item.idx\r\n )\r\n }\r\n >\r\n {item.title}\r\n \r\n
\r\n \r\n {item.component}\r\n
\r\n
\r\n \r\n ) : (\r\n <>\r\n
\r\n toggleIsShowMenu(false)}\r\n >\r\n {item.title}\r\n \r\n
\r\n
\r\n \r\n )\r\n )\r\n )}\r\n
\r\n {copyrightText?.title}\r\n
\r\n
\r\n
\r\n
\r\n {menuData.find((i) => i.idx === selectedMenu)?.component}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Header;\r\n\r\nconst Styles = styled.div`\r\n .icon-back {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border: 2px solid white;\r\n border-radius: 50%;\r\n padding: 5px;\r\n background: none;\r\n }\r\n .icon-menu {\r\n border: 2px solid white;\r\n border-radius: 50%;\r\n padding: 8px;\r\n background: none;\r\n }\r\n`;\r\n","import parse from 'html-react-parser';\r\n\r\nconst HtmlContent = ({rawHtml}) =>\r\n <>\r\n {rawHtml ? parse(rawHtml) : ''}\r\n \r\n\r\nexport default HtmlContent","import {keyBy, merge, values} from 'lodash'\r\n\r\nconst mergeObjectByKey = (left, right, key) => {\r\n return {\r\n ...left,\r\n details: values(merge(keyBy(left.details, key), keyBy(right, key)))\r\n };\r\n}\r\n\r\nconst mergeArrayByKey = (left, right, key) => {\r\n return values(merge(keyBy(left, key), keyBy(right, key)));\r\n}\r\n\r\nexport {mergeObjectByKey, mergeArrayByKey};","import { Children, useCallback, useEffect, useState } from \"react\";\r\n\r\nimport styled from \"styled-components\";\r\n\r\nimport HtmlContent from \"../../components/general/misc/HtmlContent\";\r\nimport MenuTitle from \"../../components/general/misc/MenuTitle\";\r\n\r\nimport { getAboutService } from \"../../services/pagesRequestServices\";\r\nimport { mergeObjectByKey } from \"../../utilities/merge\";\r\n\r\nimport \"./About.scss\";\r\nimport variables from \"../../assets/js/variables\";\r\n\r\nconst { colors } = variables; \r\n\r\nconst aboutInfo = [\r\n {\r\n code: \"1061\",\r\n title: \"رسالت\",\r\n },\r\n {\r\n code: \"1062\",\r\n title: \"حوزه فعالیت\",\r\n },\r\n {\r\n code: \"1063\",\r\n title: \"مزیت\",\r\n },\r\n];\r\n\r\nconst About = () => {\r\n const [aboutData, changeAboutData] = useState({});\r\n\r\n const getAboutData = useCallback(() => {\r\n return getAboutService().then((res) =>\r\n changeAboutData(mergeObjectByKey(res, aboutInfo, \"code\"))\r\n );\r\n }, []);\r\n\r\n useEffect(() => {\r\n getAboutData();\r\n }, [getAboutData]);\r\n\r\n return (\r\n \r\n
\r\n {Children.toArray(\r\n (aboutData.details || []).map((item) => (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n ))\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default About;\r\n\r\nconst Styles = styled.span`\r\n img {\r\n padding: 0.3rem;\r\n margin-left: auto;\r\n margin-right: auto;\r\n display: block;\r\n max-width: 100%;\r\n min-width: auto;\r\n border: solid 0.3rem ${colors.brand};\r\n border-radius: 1rem;\r\n }\r\n`;\r\n","import validate from \"validate.js\";\r\n\r\nconst errorMessages = {\r\n is_required: \"پر کردن این فیلد اجباریست\",\r\n validation: {\r\n only_char_fa: \"فقط حروف فارسی وارد کنید\",\r\n only_mail: \"فرمت پست الکترونیک را صحیح وارد کنید\",\r\n only_phone: \"شماره ثابت را صحیح وارد کنید\",\r\n only_mobile: \"شماره همراه را صحیح وارد کنید\",\r\n only_pdf: \"شما فقط میتوانید فایل PDF انتخاب کنید\",\r\n over_size: \"حجم فایل بیشتر از {0} است\",\r\n },\r\n};\r\n\r\nconst validateFiles = (data, schema) => {\r\n const schemaWithFiles = {};\r\n const schemaWithFilesForValidateJs = {};\r\n const dataWithFiles = {};\r\n Object.keys(schema).forEach((key) => {\r\n if (schema[key]?.file) {\r\n Object.assign(schemaWithFilesForValidateJs, {\r\n [key]: { presence: schema[key].presence, format: schema[key].format },\r\n });\r\n Object.assign(schemaWithFiles, { [key]: schema[key] });\r\n Object.assign(schemaWithFiles, { [key]: schema[key] });\r\n }\r\n });\r\n Object.keys(data).forEach(\r\n (key) =>\r\n Object.keys(schemaWithFiles).includes(key) &&\r\n Object.assign(dataWithFiles, { [key]: data[key] })\r\n );\r\n\r\n const errorList =\r\n validate(dataWithFiles, schemaWithFilesForValidateJs, {\r\n fullMessages: false,\r\n }) || {};\r\n Object.keys(dataWithFiles).forEach((key) => {\r\n if (\r\n dataWithFiles[key]?.size &&\r\n schemaWithFiles[key]?.size &&\r\n schemaWithFiles[key].size < dataWithFiles[key].size\r\n ) {\r\n const createErrorMessage = errorMessages.validation.over_size.replace(\r\n \"{0}\",\r\n (schemaWithFiles[key]?.size / (1024 * 1024)).toFixed(2) + \"MB\"\r\n );\r\n Object.assign(errorList, { [key]: [createErrorMessage] });\r\n }\r\n });\r\n return errorList;\r\n};\r\n\r\nfunction validation(data, schema) {\r\n const schemaWithoutFiles = {};\r\n const dataWithoutFiles = {};\r\n Object.keys(schema).forEach(\r\n (key) =>\r\n !schema[key]?.file &&\r\n Object.assign(schemaWithoutFiles, { [key]: schema[key] })\r\n );\r\n Object.keys(data).forEach(\r\n (key) =>\r\n Object.keys(schemaWithoutFiles).includes(key) &&\r\n Object.assign(dataWithoutFiles, { [key]: data[key] })\r\n );\r\n\r\n const errorList = {};\r\n Object.assign(\r\n errorList,\r\n validate(dataWithoutFiles, schemaWithoutFiles, { fullMessages: false })\r\n );\r\n Object.assign(errorList, validateFiles(data, schema));\r\n return Object.keys(errorList).length > 0 ? errorList : null;\r\n}\r\n\r\nexport const createSchemaValidation = (element_list) => {\r\n const createValid = {};\r\n element_list.forEach(\r\n (element) => (createValid[element.name] = typeValidation({ ...element }))\r\n );\r\n return createValid;\r\n};\r\n\r\nexport const regex = {\r\n only_char: \"^[\\u0600-\\u06F0\\\\s]*$\",\r\n only_email:\r\n \"^$|^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.(?:[a-zA-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)$\",\r\n only_mobile: \"(^$|^(09|۰۹)([\\u06F0-\\u06F90-9-0-9]{9})$)*\",\r\n only_phone_number: \"^$|^0\\\\d{2,3}\\\\d{8}$\",\r\n};\r\n\r\nconst typeValidation = ({ type, isRequired, file_type }) => {\r\n let list_valid = {};\r\n if (isRequired) {\r\n if (!list_valid) {\r\n list_valid = {};\r\n }\r\n list_valid.presence = {\r\n message: errorMessages.is_required,\r\n allowEmpty: false,\r\n };\r\n }\r\n switch (type) {\r\n case \"name\":\r\n list_valid.format = {\r\n pattern: regex.only_char,\r\n message: errorMessages.validation.only_char_fa,\r\n };\r\n break;\r\n case \"mail\":\r\n list_valid.format = {\r\n pattern: regex.only_email,\r\n message: errorMessages.validation.only_mail,\r\n };\r\n break;\r\n case \"phone\":\r\n list_valid.length = {\r\n is: 11,\r\n message: errorMessages.validation.only_phone,\r\n };\r\n list_valid.format = {\r\n pattern: regex.only_mobile,\r\n message: errorMessages.validation.only_mobile,\r\n };\r\n break;\r\n case \"tel\":\r\n list_valid.format = {\r\n pattern: regex.only_mobile,\r\n message: errorMessages.validation.only_mobile,\r\n };\r\n break;\r\n case \"phone_number\":\r\n list_valid.format = {\r\n pattern: regex.only_phone_number,\r\n message: errorMessages.validation.only_phone,\r\n };\r\n break;\r\n case \"file\":\r\n list_valid.file = true;\r\n list_valid.file_type = file_type;\r\n list_valid.size = 5242880; //byte\r\n break;\r\n default:\r\n break;\r\n }\r\n return list_valid;\r\n};\r\n\r\nexport default validation;\r\n","import {LinearProgress, Box} from '@mui/material'\r\nimport {Component} from 'react'\r\nimport styled from 'styled-components'\r\n\r\n\r\nclass UploadFiles extends Component {\r\n constructor (props) {\r\n super(props)\r\n\r\n this.state = {\r\n selectedFiles: undefined,\r\n currentFile: undefined,\r\n progress: 0\r\n }\r\n\r\n this.selectFile = this.selectFile.bind(this)\r\n }\r\n\r\n selectFile (event) {\r\n event.preventDefault()\r\n const [file] = event.target.files\r\n if (file?.type.includes(this.props.file_type)) {\r\n this.props.onChange({...event, target: {...event.target, name: event.target.name, value: file}})\r\n this.setState({\r\n selectedFiles: file,\r\n currentFile: URL.createObjectURL(file)\r\n })\r\n }\r\n }\r\n\r\n componentDidUpdate (prevProps) {\r\n if (JSON.stringify(prevProps.value) !== JSON.stringify(this.props.value) && !!this.props.value) {\r\n this.setState({\r\n selectedFiles: this.props.value,\r\n currentFile: URL.createObjectURL(this.props.value)\r\n })\r\n } else if (JSON.stringify(prevProps.value) !== JSON.stringify(this.props.value) && !this.props.value) {\r\n this.setState({\r\n selectedFiles: undefined,\r\n currentFile: undefined\r\n })\r\n }\r\n }\r\n\r\n render () {\r\n const {\r\n selectedFiles,\r\n currentFile,\r\n progress\r\n } = this.state\r\n\r\n const {\r\n label,\r\n type,\r\n name,\r\n error,\r\n helperText,\r\n className\r\n } = this.props\r\n\r\n return (\r\n
\r\n
\r\n \r\n {currentFile && \r\n {selectedFiles.type.includes('pdf') ?\r\n :\r\n selectedFiles.type.includes('image') ? \"preview\"/ : ''}\r\n }\r\n
\r\n {error &&\r\n \r\n {helperText}\r\n \r\n }\r\n\r\n {false && currentFile && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default UploadFiles\r\n\r\nconst StyledError = styled.div`\r\n color: #d32f2f;\r\n font-weight: 400;\r\n font-size: 0.75rem;\r\n line-height: 1.66;\r\n letter-spacing: 0.03333em;\r\n font-family: inherit;\r\n text-align: right;\r\n margin: 10px 14px 0;\r\n`\r\n\r\nconst StyledImageContainer = styled.div`\r\n width: 100px;\r\n max-height: 200px;\r\n`\r\n","import { FormControl, TextField } from \"@mui/material\";\r\nimport { useCallback, useEffect, useState } from \"react\";\r\nimport validation, { createSchemaValidation } from \"../../utilities/validation\";\r\nimport UploadFile from \"./UploadFile\";\r\n\r\nconst Form = ({ fields, onSubmit, isSending, isSuccess }) => {\r\n const [data, setData] = useState({});\r\n const [schemaValidation, onChangeSchemaValidation] = useState();\r\n const [errorList, changeErrorList] = useState({});\r\n\r\n const initialFormData = useCallback(() => {\r\n let fieldData = {};\r\n fields.forEach(\r\n (item) => (fieldData[item.name] = item?.defaultValue || null)\r\n );\r\n setData(fieldData);\r\n if (fields.length > 1) {\r\n onChangeSchemaValidation(\r\n createSchemaValidation(\r\n fields.map((element) => ({\r\n name: element.name,\r\n type: element.type,\r\n isRequired: element.isRequired,\r\n }))\r\n )\r\n );\r\n }\r\n }, [fields]);\r\n\r\n useEffect(() => {\r\n initialFormData();\r\n }, [fields, initialFormData]);\r\n\r\n const onClickSubmit = (e) => {\r\n e.preventDefault();\r\n const valid = validation(data, schemaValidation);\r\n changeErrorList(valid);\r\n if (!valid) {\r\n onSubmit(data);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n isSuccess && initialFormData();\r\n }, [isSuccess, initialFormData]);\r\n\r\n return (\r\n
\r\n \r\n {fields.map((field, index) => (\r\n
\r\n {field.type !== \"file\" ? (\r\n \r\n setData((prevState) => ({\r\n ...prevState,\r\n [e.target.name]: e.target.value,\r\n }))\r\n }\r\n type={field.type}\r\n error={errorList?.[field.name]}\r\n helperText={errorList?.[field.name]}\r\n name={field.name}\r\n inputProps={{ style: { fontSize: 12, padding: 12 } }} // font size of input text\r\n InputLabelProps={{ style: { fontSize: 12, marginTop: \"-2px\" } }}\r\n className=\"w-100\"\r\n />\r\n ) : (\r\n \r\n setData((prevState) => ({\r\n ...prevState,\r\n [e.target.name]: e.target.value,\r\n }))\r\n }\r\n className=\"w-100\"\r\n />\r\n )}\r\n
\r\n ))}\r\n
\r\n \r\n ارسال\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Form;\r\n","export const statusesOfForm = {\r\n filling: 'filling', sending: 'sending', success: 'success'\r\n}\r\n","import fetchApi from '../utilities/fetch/httpService'\r\nimport apiUrls from '../utilities/consts/apiUrls'\r\n\r\n// last_name, last_name, mobile, email, title, description, company_name, position\r\n\r\nexport const sendConsultingRequest = ({\r\n last_name, mobile, email, title, description, company_name, position\r\n }) =>\r\n fetchApi({\r\n url: apiUrls.consulting_request,\r\n body: {last_name, mobile, email, title, description, company_name, position},\r\n method: 'POST'\r\n })\r\n","\r\nexport const newsletterFormFields = [\r\n {\r\n key: 'last_name',\r\n label: 'نام و نام خانوادگی',\r\n name: 'last_name',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'name'\r\n },\r\n {\r\n key: 'mobile',\r\n label: 'موبایل',\r\n name: 'mobile',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'tel'\r\n },\r\n {\r\n key: 'email',\r\n label: 'ایمیل',\r\n name: 'email',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'mail'\r\n },\r\n {\r\n key: 'position',\r\n label: 'سمت شغلی',\r\n name: 'position',\r\n isRequired: false,\r\n defaultValue: null,\r\n type: 'text'\r\n },\r\n {\r\n key: 'company_name',\r\n label: 'نام شرکت',\r\n name: 'company_name',\r\n isRequired: false,\r\n defaultValue: null,\r\n type: 'text'\r\n },\r\n {\r\n key: 'title',\r\n label: 'موضوع درخواست',\r\n name: 'title',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'text'\r\n },\r\n {\r\n key: 'description',\r\n label: 'توضیحات درخواست',\r\n name: 'description',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'textarea'\r\n }\r\n]\r\n\r\nexport const consultingRequestFormFields = [\r\n {\r\n key: 'last_name',\r\n label: 'نام و نام خانوادگی',\r\n name: 'last_name',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'name'\r\n },\r\n {\r\n key: 'mobile',\r\n label: 'موبایل',\r\n name: 'mobile',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'tel'\r\n },\r\n {\r\n key: 'email',\r\n label: 'ایمیل',\r\n name: 'email',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'mail'\r\n },\r\n {\r\n key: 'position',\r\n label: 'سمت شغلی',\r\n name: 'position',\r\n isRequired: false,\r\n defaultValue: null,\r\n type: 'text'\r\n },\r\n {\r\n key: 'company_name',\r\n label: 'نام شرکت',\r\n name: 'company_name',\r\n isRequired: false,\r\n defaultValue: null,\r\n type: 'text'\r\n },\r\n {\r\n key: 'title',\r\n label: 'موضوع درخواست',\r\n name: 'title',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'text'\r\n },\r\n {\r\n key: 'description',\r\n label: 'توضیحات درخواست',\r\n name: 'description',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'textarea'\r\n }\r\n]\r\n\r\nexport const jobRequestFormFields = [\r\n {\r\n key: 'last_name',\r\n label: 'نام و نام خانوادگی',\r\n name: 'last_name',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'name'\r\n },\r\n {\r\n key: 'mobile',\r\n label: 'موبایل',\r\n name: 'mobile',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'tel'\r\n },\r\n {\r\n key: 'email',\r\n label: 'ایمیل',\r\n name: 'email',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'mail'\r\n },\r\n {\r\n key: 'job_title',\r\n label: 'عنوان شغلی',\r\n name: 'job_title',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'string'\r\n },\r\n {\r\n key: 'cv_file',\r\n label: 'فایل رزومه(PDF)',\r\n name: 'cv_file',\r\n isRequired: true,\r\n defaultValue: null,\r\n type: 'file',\r\n file_type: 'pdf'\r\n }\r\n]\r\n","import { useState, useEffect, useCallback } from \"react\";\r\nimport { useSnackbar } from \"notistack\";\r\n\r\nimport Form from \"../../ui-kits/form/Form\";\r\n\r\nimport { statusesOfForm } from \"../../utilities/consts/models\";\r\nimport { sendConsultingRequest } from \"../../services/consultingRequestServices\";\r\nimport { consultingRequestFormFields } from \"../../utilities/consts/formFields\";\r\nimport { getConsultingRequestPageTitle } from \"../../services/pagesRequestServices\";\r\n\r\nconst ConsultingRequest = () => {\r\n const [statusForm, changeStatusForm] = useState(statusesOfForm.filling);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const [pageTitle, changePageTitle] = useState(null);\r\n\r\n const onSubmit = (data) => {\r\n changeStatusForm(statusesOfForm.sending);\r\n sendConsultingRequest(data)\r\n .then(() => {\r\n enqueueSnackbar(\"درخواست شما با موفقیت ارسال شد.\", {\r\n variant: \"success\",\r\n });\r\n changeStatusForm(statusesOfForm.success);\r\n })\r\n .catch(() =>\r\n enqueueSnackbar(\"ارسال درخواست با خطا مواجه شد.\", { variant: \"error\" })\r\n )\r\n .finally(() => {\r\n changeStatusForm(statusesOfForm.filling);\r\n });\r\n };\r\n\r\n const getPageTitle = useCallback(() => {\r\n return getConsultingRequestPageTitle().then((res) => changePageTitle(res));\r\n }, []);\r\n\r\n useEffect(() => {\r\n getPageTitle();\r\n }, [getPageTitle]);\r\n\r\n return (\r\n
\r\n
\r\n

\r\n {pageTitle?.title}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\nexport default ConsultingRequest;\r\n","export default __webpack_public_path__ + \"static/media/marker.52d2c8b9.svg\";","export function toPersianNumberNotTag(str) {\r\n const arrayNumberItem = str.split(\"\");\r\n const persianNumber = arrayNumberItem.map((item) => {\r\n if (item !== \"h\" || item !== \"H\") {\r\n return item\r\n .replace(\"0\", \"۰\")\r\n .replace(\"1\", \"۱\")\r\n .replace(\"2\", \"۲\")\r\n .replace(\"3\", \"۳\")\r\n .replace(\"4\", \"۴\")\r\n .replace(\"5\", \"۵\")\r\n .replace(\"6\", \"۶\")\r\n .replace(\"7\", \"۷\")\r\n .replace(\"8\", \"۸\")\r\n .replace(\"9\", \"۹\");\r\n } else {\r\n return item;\r\n }\r\n });\r\n return persianNumber.join(\"\");\r\n}\r\n//old code => bug in tah h1 h2 ...\r\n\r\nexport function toPersianNumber(str) {\r\n const persianNumber = str.replace(/>([^<]*[0-9]+[^<]*)\r\n match.replace(/[0-9]/g, (digit) =>\r\n String.fromCharCode(digit.charCodeAt(0) + 1728)\r\n )\r\n );\r\n return persianNumber;\r\n}\r\n\r\n//new code\r\n","import fetchApi from '../utilities/fetch/httpService'\r\nimport apiUrls from '../utilities/consts/apiUrls'\r\n\r\nexport const getSocialLinks = () =>\r\n fetchApi({\r\n url: apiUrls.home.social_links,\r\n method: 'get'\r\n })\r\n\r\nexport const getProductGroups = () =>\r\n fetchApi({\r\n url: apiUrls.home.product_groups,\r\n method: 'get'\r\n })\r\n\r\nexport const getPinnedProducts = () =>\r\n fetchApi({\r\n url: apiUrls.home.pinned_products,\r\n method: 'get'\r\n })\r\n\r\nexport const getTopNews = () =>\r\n fetchApi({\r\n url: apiUrls.home.top_news,\r\n method: 'get'\r\n })","export default __webpack_public_path__ + \"static/media/linkedin.cf8553ff.png\";","export default __webpack_public_path__ + \"static/media/aparat.f95c2406.png\";","export default __webpack_public_path__ + \"static/media/instagram.f6abded8.png\";","export default __webpack_public_path__ + \"static/media/whatsapp.0f422804.png\";","import React, { useCallback, useEffect, useState } from \"react\";\r\nimport { getSocialLinks } from \"../../services/homeRequestServices\";\r\nimport styled from \"styled-components\";\r\nimport linkedin from \"../../assets/media/linkedin.png\";\r\nimport aparat from \"../../assets/media/aparat.png\";\r\nimport instagram from \"../../assets/media/instagram.png\";\r\nimport whatsapp from \"../../assets/media/whatsapp.png\";\r\nimport variables from \"../../assets/js/variables\";\r\n\r\nconst { colors } = variables;\r\n\r\nfunction Container({ href, title, img }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction Sochial(props) {\r\n const { header } = props;\r\n const [socialLinksData, changeSocialLinksData] = useState([]);\r\n\r\n const getSocialLinksData = useCallback(() => {\r\n return getSocialLinks().then((res) => changeSocialLinksData(res.results));\r\n }, []);\r\n\r\n useEffect(() => {\r\n getSocialLinksData();\r\n }, [getSocialLinksData]);\r\n\r\n return (\r\n \r\n

{header}

\r\n {socialLinksData.map((i, index) => {\r\n if (\r\n i.title === \"instagram\" ||\r\n i.title === \"linkedin\" ||\r\n i.title === \"whatsapp\" ||\r\n i.title === \"aparat\"\r\n ) {\r\n return (\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n })}\r\n \r\n );\r\n}\r\n\r\nexport default Sochial;\r\nconst Styles = styled.span`\r\n display: flex;\r\n\r\n .container-social {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n width: 25%;\r\n height: 100%;\r\n flex-wrap: wrap;\r\n a {\r\n text-decoration: none;\r\n font-size: 18px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column;\r\n cursor: pointer;\r\n width: fit-content;\r\n height: fit-content;\r\n }\r\n h4 {\r\n color: ${colors.green};\r\n }\r\n img {\r\n width: 90%;\r\n border-radius: 50%;\r\n margin-bottom: 10px;\r\n }\r\n }\r\n\r\n @media (max-width: 600px) {\r\n .container-social {\r\n padding: 5px;\r\n width: 50%;\r\n padding: 0 !important;\r\n margin: 10px 0;\r\n img {\r\n width: 50%;\r\n }\r\n a {\r\n font-size: 14px;\r\n }\r\n h4 {\r\n font-size: 14px;\r\n }\r\n }\r\n }\r\n\r\n .header-contact-sochial {\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n margin: 0 !important;\r\n margin-bottom: 1rem !important;\r\n font-size: 18px;\r\n @media (max-width: 600px) {\r\n font-size: 12px;\r\n }\r\n }\r\n`;\r\n","import \"../../assets/scss/leaflet.css\";\r\n\r\nimport {\r\n getContactPageTitle,\r\n getContactService,\r\n getTiTleContactUs,\r\n} from \"../../services/pagesRequestServices\";\r\nimport { useCallback, useEffect, useRef, useState } from \"react\";\r\n\r\nimport Form from \"../../ui-kits/form/Form\";\r\nimport { Icon } from \"@mui/material\";\r\nimport markerSvg from \"../../assets/media/marker.svg\";\r\nimport { mergeObjectByKey } from \"../../utilities/merge\";\r\nimport { sendContactUs } from \"../../services/contactUsServices\";\r\nimport { statusesOfForm } from \"../../utilities/consts/models\";\r\nimport styled from \"styled-components\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport HtmlContent from \"../../components/general/misc/HtmlContent\";\r\nimport { toPersianNumber } from \"../../utilities/persianNumber\";\r\nimport Sochial from \"./Sochial\";\r\n\r\nconst contactUsInfo = [\r\n {\r\n code: \"1052\",\r\n icon: \"icon-phone\",\r\n title: \"تلفن\",\r\n },\r\n {\r\n code: \"1054\",\r\n icon: \"icon-fax\",\r\n title: \"فکس\",\r\n },\r\n {\r\n code: \"1055\",\r\n icon: \"icon-mobile\",\r\n title: \"همراه\",\r\n },\r\n {\r\n code: \"1053\",\r\n icon: \"icon-envelope\",\r\n title: \"ایمیل\",\r\n },\r\n {\r\n code: \"1056\",\r\n icon: \"icon-location\",\r\n title: \"آدرس\",\r\n },\r\n];\r\n\r\nconst newsletterFormFields = [\r\n {\r\n key: \"last_name\",\r\n label: \"نام و نام خانوادگی\",\r\n name: \"last_name\",\r\n isRequired: true,\r\n defaultValue: null,\r\n type: \"name\",\r\n },\r\n {\r\n key: \"mobile\",\r\n label: \"موبایل\",\r\n name: \"mobile\",\r\n isRequired: true,\r\n defaultValue: null,\r\n type: \"tel\",\r\n },\r\n {\r\n key: \"email\",\r\n label: \"ایمیل\",\r\n name: \"email\",\r\n isRequired: true,\r\n defaultValue: null,\r\n type: \"mail\",\r\n },\r\n {\r\n key: \"title\",\r\n label: \"موضوع درخواست\",\r\n name: \"title\",\r\n isRequired: true,\r\n defaultValue: null,\r\n type: \"text\",\r\n },\r\n];\r\n\r\nconst L = require(\"leaflet\");\r\n\r\nconst ContactUs = () => {\r\n const [statusForm, changeStatusForm] = useState(statusesOfForm.filling);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const mapContainer = useRef();\r\n const [contactData, changeContactData] = useState({});\r\n const [titleContact, setTitleContact] = useState({});\r\n const [pageTitle, changePageTitle] = useState(null);\r\n const [mapLocation, setMapLocation] = useState([0, 0]);\r\n const [map, setMap] = useState(null);\r\n\r\n const getPageTitle = useCallback(() => {\r\n return getContactPageTitle().then((res) => changePageTitle(res));\r\n }, []);\r\n\r\n const getContactData = useCallback(() => {\r\n return getContactService().then((res) =>\r\n changeContactData(mergeObjectByKey(res, contactUsInfo, \"code\"))\r\n );\r\n }, []);\r\n\r\n const getTiTle = useCallback(() => {\r\n return getTiTleContactUs().then((res) => setTitleContact(res));\r\n }, []);\r\n\r\n useEffect(() => {\r\n getTiTle();\r\n getContactData();\r\n getPageTitle();\r\n }, [getContactData, getPageTitle, getTiTle]);\r\n\r\n const onSubmit = (data) => {\r\n changeStatusForm(statusesOfForm.sending);\r\n sendContactUs(data)\r\n .then(() => {\r\n enqueueSnackbar(\"درخواست شما با موفقیت ارسال شد.\", {\r\n variant: \"success\",\r\n });\r\n changeStatusForm(statusesOfForm.success);\r\n })\r\n .catch(() =>\r\n enqueueSnackbar(\"ارسال درخواست با خطا مواجه شد.\", { variant: \"error\" })\r\n )\r\n .finally(() => {\r\n changeStatusForm(statusesOfForm.filling);\r\n });\r\n };\r\n\r\n function onClickPin() {\r\n window.open(\"https://goo.gl/maps/3LzHVMxDebHoCQb29\", \"_blank\");\r\n }\r\n useEffect(() => {\r\n contactData?.details?.forEach((item) => {\r\n if (item.id === 80) {\r\n let numberCreate = item.content.slice(3, item.content.length - 4);\r\n let splited = numberCreate.split(\",\");\r\n let oneNumber = splited[0];\r\n let twoNumber = splited[1];\r\n let updatedMapLocation = [+oneNumber, +twoNumber.split(\" \")[1]];\r\n setMapLocation(updatedMapLocation);\r\n }\r\n });\r\n }, [contactData]);\r\n\r\n useEffect(() => {\r\n if (\r\n L &&\r\n mapContainer &&\r\n mapLocation &&\r\n !mapContainer.current.hasChildNodes()\r\n ) {\r\n const leafletMap = L.map(mapContainer.current, { zoomControl: false });\r\n setMap(leafletMap);\r\n }\r\n }, [mapContainer, mapLocation]);\r\n\r\n useEffect(() => {\r\n if (map) {\r\n map.setView(mapLocation, 16);\r\n L.tileLayer(\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\", {\r\n attribution: \"\",\r\n minZoom: 10,\r\n }).addTo(map);\r\n const greenIcon = L.icon({\r\n iconUrl: markerSvg,\r\n iconSize: [28, 30],\r\n iconAnchor: [9, 24],\r\n });\r\n L.marker(mapLocation, { icon: greenIcon })\r\n .addTo(map)\r\n .on(\"click\", onClickPin);\r\n }\r\n }, [map, mapLocation]);\r\n\r\n console.log(titleContact.title);\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n {(contactData.details || []).map((item, index) => {\r\n if (item.id <= 56 || item.id <= 52) {\r\n return (\r\n \r\n \r\n \r\n \r\n  : \r\n \r\n \r\n
\r\n );\r\n }\r\n // else if (item.id === 80) {\r\n\r\n // }\r\n else {\r\n return null;\r\n }\r\n })}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {pageTitle?.title}\r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\nexport default ContactUs;\r\n\r\nconst Styles = styled.div`\r\n width: calc(100% - 6rem);\r\n color: white;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n margin: auto;\r\n\r\n .address {\r\n display: flex;\r\n align-items: flex-start;\r\n justify-content: flex-start;\r\n width: 100% !important;\r\n }\r\n`;\r\n\r\nconst ContactRow = styled.span`\r\n p {\r\n display: inline-block;\r\n margin-bottom: 0;\r\n }\r\n`;\r\n\r\nconst StyledMapContainer = styled.div`\r\n > div {\r\n width: 100%;\r\n height: 100%;\r\n min-height: 180px;\r\n border-radius: 10px;\r\n overflow: hidden;\r\n\r\n @media (max-width: 992px) {\r\n height: 200px;\r\n }\r\n\r\n #mapid {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n`;\r\n","import fetchApi from '../utilities/fetch/httpService'\r\nimport apiUrls from '../utilities/consts/apiUrls'\r\n\r\n// last_name, last_name, mobile, email, title, description, company_name, position\r\n\r\nexport const sendContactUs = ({\r\n last_name, mobile, email, title, description, company_name, position\r\n }) =>\r\n fetchApi({\r\n url: apiUrls.contact_us,\r\n body: {last_name, mobile, email, title, description, company_name, position},\r\n method: 'POST'\r\n })\r\n","import {Children, useCallback, useEffect, useState} from 'react'\r\nimport styled from 'styled-components'\r\nimport HtmlContent from '../../components/general/misc/HtmlContent';\r\n\r\nimport MenuTitle from '../../components/general/misc/MenuTitle'\r\nimport {getCustomersService, getCustomersPageTitle} from '../../services/pagesRequestServices'\r\n\r\nconst Customers = () => {\r\n const [customersData, changeCustomersData] = useState([])\r\n const [pageTitle, changePageTitle] = useState(null)\r\n\r\n const getCustomersData = useCallback(() => {\r\n return getCustomersService()\r\n .then(({ results }) => changeCustomersData(results))\r\n }, [])\r\n\r\n const getPageTitle = useCallback(() => {\r\n return getCustomersPageTitle()\r\n .then((res) => changePageTitle(res))\r\n }, [])\r\n\r\n useEffect(() => {\r\n getCustomersData()\r\n getPageTitle()\r\n }, [getCustomersData, getPageTitle])\r\n\r\n return
\r\n
\r\n

\r\n {pageTitle?.title}\r\n

\r\n
\r\n
\r\n \r\n {Children.toArray(\r\n customersData.map(item =>\r\n \r\n
\r\n \r\n \r\n {item.title}\r\n \r\n \r\n \r\n \r\n {item.abs_description &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n {item.success_story_page_url &&\r\n بیشتر بدانید\r\n }\r\n
\r\n
\r\n )\r\n )}\r\n
\r\n
\r\n
\r\n}\r\n\r\nexport default Customers\r\n\r\nconst CustomerList = styled.div`\r\n margin: -0.5rem;\r\n`\r\n\r\nconst CustomerBox = styled.div`\r\n width: 400px;\r\n margin: 0.5rem;\r\n`\r\n\r\nconst ContentContainer = styled.div`\r\n min-height: 100px;\r\n max-height: 192px;\r\n overflow: hidden;\r\n`\r\n\r\nconst StyledImageLogo = styled.a`\r\n width: 100px;\r\n height: 100px;\r\n float: left;\r\n`\r\n","export default __webpack_public_path__ + \"static/media/news-default-1.24cbd0f2.png\";","export default __webpack_public_path__ + \"static/media/news-default-2.6c3f99d7.png\";","export default __webpack_public_path__ + \"static/media/news-default-3.12dd6400.png\";","export default __webpack_public_path__ + \"static/media/news-default-4.4c47a07f.png\";","export default __webpack_public_path__ + \"static/media/news-default-5.e3699e38.png\";","import {useLayoutEffect, useState} from 'react'\r\n\r\nimport newsDefault1Png from '../../../assets/media/news-default-1.png'\r\nimport newsDefault2Png from '../../../assets/media/news-default-2.png'\r\nimport newsDefault3Png from '../../../assets/media/news-default-3.png'\r\nimport newsDefault4Png from '../../../assets/media/news-default-4.png'\r\nimport newsDefault5Png from '../../../assets/media/news-default-5.png'\r\n\r\nconst newsDefaults = [newsDefault1Png, newsDefault2Png, newsDefault3Png, newsDefault4Png, newsDefault5Png];\r\n\r\nfunction getRandomImage() {\r\n return newsDefaults[Math.floor(Math.random() * newsDefaults.length)];\r\n};\r\n\r\nconst NewsAvatar = ({photo, size, alt, ...props}) => {\r\n const [randomPhoto, changeRandomPhoto] = useState(null)\r\n\r\n useLayoutEffect(()=> {\r\n changeRandomPhoto(getRandomImage())\r\n }, [changeRandomPhoto])\r\n\r\n return {alt}\r\n}\r\n\r\nexport default NewsAvatar","const SectionTitle = ({text, iconSrc, iconName, className}) =>\r\n <>\r\n {iconSrc ? \"\"/ : <>}\r\n {iconName ? : <>}\r\n

{text}

\r\n \r\n\r\nexport default SectionTitle\r\n","import { Children, useCallback, useEffect, useState } from \"react\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\nimport NewsAvatar from \"../../components/general/misc/NewsAvatar\";\r\nimport SectionTitle from \"../../components/general/misc/SectionTitle\";\r\nimport { getTopNews } from \"../../services/homeRequestServices\";\r\nimport styled from \"styled-components\";\r\nimport variables from \"../../assets/js/variables\";\r\n\r\nconst { colors, gridBreakpoints } = variables;\r\n\r\nconst News = () => {\r\n const [newsData, changeNewsData] = useState([]);\r\n\r\n const getNewsData = useCallback(() => {\r\n return getTopNews().then(({ results }) => changeNewsData(results));\r\n }, []);\r\n\r\n useEffect(() => {\r\n getNewsData();\r\n }, [getNewsData]);\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n مشاهده همه تازه‌ها\r\n \r\n
\r\n \r\n {Children.toArray(\r\n newsData.map((item) => (\r\n \r\n \r\n \r\n

{item.title}

\r\n \r\n بیشتر بدانید\r\n \r\n
\r\n
\r\n ))\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default News;\r\n\r\nconst NewsContainer = styled.div`\r\n margin-top: 2rem;\r\n background-color: ${colors.darkBlue};\r\n\r\n @media (max-width: ${gridBreakpoints.md}px) {\r\n padding: 1rem;\r\n }\r\n\r\n @media (min-width: ${gridBreakpoints.md + 1}px) {\r\n padding: 3rem 6rem;\r\n }\r\n`;\r\n\r\nconst TitleRow = styled.div`\r\n align-items: center;\r\n justify-content: space-between;\r\n`;\r\n\r\nconst NewsList = styled.div`\r\n gap: 1rem;\r\n\r\n @media (max-width: ${gridBreakpoints.md}px) {\r\n grid-template-columns: 1fr;\r\n }\r\n\r\n @media (min-width: ${gridBreakpoints.md +\r\n 1}px) and (max-width: ${gridBreakpoints.xl}px) {\r\n grid-template-columns: repeat(2, 1fr);\r\n }\r\n\r\n @media (min-width: ${gridBreakpoints.xl + 1}px) {\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n`;\r\n\r\nconst NewsItem = styled.div`\r\n line-height: 24px !important;\r\n max-height: 95px;\r\n\r\n h3 {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n flex-grow: 1;\r\n line-height: 1.8;\r\n }\r\n`;\r\n\r\nconst NewsContent = styled.div`\r\n height: inherit;\r\n\r\n a {\r\n width: fit-content;\r\n border-bottom: solid 1px transparent;\r\n\r\n &:hover {\r\n border-bottom-color: inherit;\r\n }\r\n }\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/products.50561b76.svg\";","import { Children, useCallback, useEffect, useState } from \"react\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\nimport SectionTitle from \"../../components/general/misc/SectionTitle\";\r\nimport { getPinnedProducts } from \"../../services/homeRequestServices\";\r\nimport productsSvg from \"../../assets/media/icons/products.svg\";\r\nimport styled from \"styled-components\";\r\nimport variables from \"../../assets/js/variables\";\r\n\r\nconst { colors } = variables;\r\n\r\nconst Products = () => {\r\n const [productsData, changeProductsData] = useState([]);\r\n\r\n const getProductsData = useCallback(() => {\r\n return getPinnedProducts().then(({ results }) =>\r\n changeProductsData(results)\r\n );\r\n }, []);\r\n\r\n useEffect(() => {\r\n getProductsData();\r\n }, [getProductsData]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n مشاهده همه محصولات\r\n \r\n
\r\n \r\n {Children.toArray(\r\n productsData.map((item) => (\r\n \r\n {item.logo?.url ? (\r\n \r\n ) : null}\r\n

{item.title}

\r\n

{item.slogan}

\r\n

\r\n {item.slogan_description}\r\n

\r\n \r\n \r\n \r\n
\r\n ))\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Products;\r\n\r\nconst TitleRow = styled.div`\r\n align-items: center;\r\n justify-content: space-between;\r\n`;\r\n\r\nconst ProductList = styled.div`\r\n margin: -0.5rem;\r\n`;\r\n\r\nconst ProductCard = styled.div`\r\n background-color: ${colors.darkBlue};\r\n border: solid 1px ${colors.darkBlue};\r\n max-height: 390px;\r\n width: 255px;\r\n margin: 0.5rem;\r\n line-height: 24px !important;\r\n\r\n &:hover {\r\n border-color: ${colors.green};\r\n }\r\n\r\n h3 {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n flex-shrink: 0;\r\n }\r\n\r\n p {\r\n flex-grow: 1;\r\n overflow: hidden;\r\n }\r\n`;\r\n\r\nconst ProductIcon = styled.img`\r\n width: 48px;\r\n height: 48px;\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/aparat.aeb5cb08.svg\";","export default __webpack_public_path__ + \"static/media/instagram.82bf2547.svg\";","export default __webpack_public_path__ + \"static/media/linkedin.0462f968.svg\";","export default __webpack_public_path__ + \"static/media/whatsapp.56bb58a2.svg\";","export default __webpack_public_path__ + \"static/media/twitter.55486d79.svg\";","import { useCallback, useEffect, useLayoutEffect, useState } from \"react\";\r\nimport { ReactSVG } from \"react-svg\";\r\n\r\nimport { getSocialLinks } from \"../../services/homeRequestServices\";\r\nimport { mergeArrayByKey } from \"../../utilities/merge\";\r\n\r\nimport aparatSvg from \"../../assets/media/icons/aparat.svg\";\r\nimport instagramSvg from \"../../assets/media/icons/instagram.svg\";\r\nimport linkedinSvg from \"../../assets/media/icons/linkedin.svg\";\r\nimport whatsappSvg from \"../../assets/media/icons/whatsapp.svg\";\r\nimport twitterSvg from \"../../assets/media/icons/twitter.svg\";\r\n\r\nconst socialNetworkData = [\r\n {\r\n title: \"instagram\",\r\n icon: instagramSvg,\r\n },\r\n {\r\n title: \"linkedin\",\r\n icon: linkedinSvg,\r\n },\r\n {\r\n title: \"whatsapp\",\r\n icon: whatsappSvg,\r\n },\r\n {\r\n title: \"aparat\",\r\n icon: aparatSvg,\r\n },\r\n {\r\n title: \"twitter\",\r\n icon: twitterSvg,\r\n },\r\n];\r\n\r\nconst SocialNetworks = () => {\r\n const [stuckTop, toggleStuckTop] = useState(false);\r\n const [socialLinksData, changeSocialLinksData] = useState([]);\r\n\r\n const getSocialLinksData = useCallback(() => {\r\n return getSocialLinks().then((res) =>\r\n changeSocialLinksData(\r\n mergeArrayByKey(res.results, socialNetworkData, \"title\")\r\n )\r\n );\r\n }, []);\r\n\r\n const onScrollChanged = useCallback(() => {\r\n toggleStuckTop(window.scrollY > 100);\r\n }, [toggleStuckTop]);\r\n\r\n useEffect(() => {\r\n getSocialLinksData();\r\n }, [getSocialLinksData]);\r\n\r\n useLayoutEffect(() => {\r\n document.addEventListener(\"scroll\", onScrollChanged, { passive: true });\r\n return () => document.removeEventListener(\"scroll\", onScrollChanged);\r\n }, [onScrollChanged]);\r\n console.log(socialLinksData, \"socialLinksData\");\r\n return (\r\n \r\n {socialLinksData?.map((item) => {\r\n if (item.url) {\r\n // if (item.icon) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default SocialNetworks;\r\n","export function hexToRgbA (hex, opacity = 1) {\r\n var c\r\n if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\r\n c = hex.substring(1)\r\n .split('')\r\n if (c.length === 3) {\r\n c = [c[0], c[0], c[1], c[1], c[2], c[2]]\r\n }\r\n c = '0x' + c.join('')\r\n return 'rgba(' + [(c >> 16) & 255, (c >> 8) & 255, c & 255].join(',') + ',' + opacity + ')'\r\n }\r\n throw new Error('Bad Hex')\r\n}\r\n","import styled from \"styled-components\";\r\nimport variables from \"../../assets/js/variables\";\r\nimport { hexToRgbA } from \"../../utilities/converters\";\r\n\r\nconst { colors } = variables;\r\n\r\nconst positionPoints = {\r\n 2: {\r\n //center right\r\n left: \"calc(50% + 28.5714vw)\",\r\n top: \"calc(50% - 2.5vw)\",\r\n },\r\n 4: {\r\n //top left\r\n left: \"calc(48% - 23.8095vw)\",\r\n top: \"calc(50% - 11.1111vw)\",\r\n },\r\n 1: {\r\n //top right\r\n left: \"calc(51% + 18.1818vw)\",\r\n top: \"calc(50% - 14.2857vw)\",\r\n },\r\n 3: {\r\n //bottom right\r\n left: \"calc(50% + 27.027vw)\",\r\n top: \"calc(50% + 10vw)\",\r\n },\r\n 6: {\r\n //center left\r\n left: \"calc(45% - 27.3973vw)\",\r\n top: \"50%\",\r\n },\r\n 5: {\r\n //bottom left\r\n left: \" calc(45% - 12.5vw)\",\r\n top: \"calc(50% + 12.5vw)\",\r\n },\r\n};\r\n\r\nconst positionPointsMobile = {\r\n 2: {\r\n //center right\r\n left: \"calc(50% + (100vw / 2.5))\",\r\n top: \"calc(50% - (100vw / 60))\",\r\n },\r\n 4: {\r\n //top left\r\n left: \"calc(50% - (100vw / 3));\",\r\n top: \"calc(50% - (100vw / 3.5))\",\r\n },\r\n 1: {\r\n //top right\r\n left: \"calc(51% + (100vw / 3.2));\",\r\n top: \"calc(50% - (100vw / 5))\",\r\n },\r\n 3: {\r\n //bottom right\r\n left: \"calc(50% + (100vw / 4.5))\",\r\n top: \"calc(50% + (100vw / 3.7))\",\r\n },\r\n 6: {\r\n //center left\r\n left: \"calc(50% - 45.4545vw)\",\r\n top: \" calc(50% - 2.04082vw)\",\r\n },\r\n 5: {\r\n //bottom left\r\n left: \"calc(50% - (100vw / 4))\",\r\n top: \"calc(50% + (100vw / 6))\",\r\n },\r\n};\r\n\r\nconst StyledBrainButtons = styled.div`\r\n width: 43vw;\r\n height: 33vw;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, calc(-50% - 50px));\r\n border-radius: 50%;\r\n direction: ltr !important;\r\n\r\n .information_button__description {\r\n direction: rtl;\r\n max-width: 100%;\r\n text-align: justify;\r\n }\r\n\r\n .information_button__close {\r\n float: left;\r\n\r\n span {\r\n font-size: 24px;\r\n color: ${colors.whiteSmoke};\r\n }\r\n }\r\n\r\n .absolute-button {\r\n position: absolute;\r\n background: transparent;\r\n width: 0;\r\n height: 0;\r\n outline: unset;\r\n box-shadow: unset;\r\n border: unset;\r\n transition: 300ms;\r\n display: inline-block;\r\n padding: 0;\r\n direction: ltr !important;\r\n z-index: 1;\r\n\r\n ${Object.keys(positionPoints).map(\r\n (item) =>\r\n `&:nth-child(${item}){\r\n left: ${positionPoints[item].left};\r\n top: ${positionPoints[item].top};\r\n }`\r\n )};\r\n\r\n @media (max-width: 768px) {\r\n background: ${colors.green};\r\n width: 15px;\r\n height: 15px;\r\n border-radius: 50%;\r\n\r\n ${Object.keys(positionPointsMobile).map(\r\n (item) =>\r\n `&:nth-child(${item}){\r\n left: ${positionPointsMobile[item].left};\r\n top: ${positionPointsMobile[item].top};\r\n }`\r\n )};\r\n }\r\n }\r\n\r\n @media (max-width: 768px) {\r\n .absolute-button {\r\n &:focus-within {\r\n background: ${colors.text};\r\n\r\n &.is-show_for__mobile {\r\n z-index: 9;\r\n }\r\n\r\n &:after {\r\n border: 1px solid ${colors.text};\r\n width: 40px;\r\n height: 40px;\r\n }\r\n\r\n .absolute-button_info {\r\n width: 300px;\r\n height: max-content;\r\n left: 50px;\r\n top: 50px;\r\n border-radius: 30px;\r\n padding: 32px;\r\n border-color: ${colors.blue};\r\n z-index: 9;\r\n\r\n &:before {\r\n top: -20px;\r\n left: -6px;\r\n width: 2px;\r\n height: 34px;\r\n transform: rotate(-45deg);\r\n background: ${colors.text};\r\n }\r\n }\r\n }\r\n }\r\n }\r\n @media (min-width: 769px) {\r\n .absolute-button:focus-within .absolute-button_info:before {\r\n background: ${colors.text};\r\n }\r\n }\r\n\r\n .brain-button_show_info {\r\n width: 30vw;\r\n height: max-content;\r\n left: 50%;\r\n top: 50%;\r\n border-radius: 10px;\r\n padding: 32px;\r\n border: 1px solid ${colors.blue};\r\n background: ${hexToRgbA(colors.background, 0.95)};\r\n transform: translate(-50%, -50%);\r\n color: ${colors.whiteSmoke};\r\n font-size: 14px;\r\n position: absolute;\r\n z-index: 99;\r\n }\r\n\r\n @media (max-width: 768px) {\r\n width: 83vw;\r\n height: 57vw;\r\n top: 55vh;\r\n }\r\n .nth:nth-child(odd) {\r\n .absolute-button {\r\n .absolute-button_info {\r\n &:before {\r\n right: 100%;\r\n }\r\n }\r\n }\r\n }\r\n .nth:nth-child(even) {\r\n .absolute-button {\r\n .absolute-button_info {\r\n right: 0;\r\n\r\n &:before {\r\n left: 100%;\r\n }\r\n }\r\n }\r\n }\r\n .absolute-button:nth-child(5) {\r\n .absolute-button_info {\r\n right: 0;\r\n &:before {\r\n left: 108%;\r\n }\r\n }\r\n }\r\n .absolute-button:nth-child(4) {\r\n .absolute-button_info {\r\n right: 0;\r\n &:before {\r\n left: 108%;\r\n }\r\n }\r\n }\r\n .absolute-button:nth-child(6) {\r\n .absolute-button_info {\r\n right: 0;\r\n &:before {\r\n left: 108%;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport default StyledBrainButtons;\r\n\r\nexport const StyledButton = styled.button`\r\n .absolute-button_info {\r\n position: absolute;\r\n border: 1px solid transparent;\r\n transition: 300ms;\r\n background: ${hexToRgbA(colors.background, 0.7)};\r\n color: ${colors.text};\r\n z-index: 9;\r\n border-radius: 50%;\r\n font-size: 24px;\r\n ${({ coordinates }) => coordinates.root};\r\n top: 50%;\r\n bottom: 50%;\r\n transform: translateY(-48%);\r\n\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n z-index: 0;\r\n transition: 200ms;\r\n background: ${colors.green};\r\n height: 1px;\r\n width: 56px;\r\n top: 47%;\r\n\r\n ${({ coordinates }) => coordinates.before};\r\n }\r\n\r\n > * {\r\n color: ${colors.text};\r\n }\r\n }\r\n\r\n @media (max-width: 768px) {\r\n .absolute-button_info {\r\n width: 0;\r\n height: 0;\r\n padding: 0;\r\n overflow: hidden;\r\n border-color: transparent;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n transform: unset;\r\n font-size: 12px;\r\n\r\n &:before {\r\n top: 0;\r\n left: 0;\r\n width: 2px;\r\n height: 32px;\r\n transform: unset;\r\n }\r\n }\r\n\r\n &.is-show_for__mobile {\r\n left: calc(50% - 10px) !important;\r\n top: 0 !important;\r\n transform: translateY(-10vh);\r\n z-index: 9;\r\n\r\n .absolute-button_info {\r\n width: 0;\r\n height: 0;\r\n padding: 0;\r\n border-color: transparent;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n transform: unset;\r\n }\r\n\r\n &.absolute-button {\r\n &:focus-within {\r\n .absolute-button_info {\r\n width: 90vw;\r\n max-height: 50vh;\r\n left: 50%;\r\n top: 76px;\r\n z-index: 9;\r\n transform: translateX(-50%);\r\n overflow-y: scroll;\r\n padding: 25px;\r\n\r\n &:before {\r\n top: -34px;\r\n left: calc(45vw - 1px);\r\n transform: unset;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n .button-information-data-enter-done {\r\n opacity: 1;\r\n }\r\n\r\n .button-information-data-enter {\r\n opacity: 0;\r\n transition: opacity 300ms;\r\n }\r\n\r\n .button-information-data-enter-active {\r\n opacity: 1;\r\n }\r\n\r\n .button-information-data-exit {\r\n display: none;\r\n opacity: 0;\r\n }\r\n`;\r\n","import variables from \"../assets/js/variables\";\r\n\r\nconst widthAndPointOfAxisLinear = (x, angle = 90) => {\r\n const width = x + 100;\r\n return { width: width, xAxis: width, angle, avgAxis: width };\r\n};\r\n\r\nconst generatePointPosition = (sidePosition, coordinates) => {\r\n const staticStyle = {\r\n root: {\r\n padding: \"32px\",\r\n overflow: \"unset\",\r\n },\r\n before: {},\r\n };\r\n const dynamicStyle = {\r\n root: {},\r\n before: {},\r\n };\r\n if (sidePosition === \"top right\") {\r\n dynamicStyle.root = {\r\n left: coordinates.avgAxis - coordinates.width + \"px\",\r\n };\r\n dynamicStyle.before = {\r\n right: \"100%\",\r\n };\r\n } else if (sidePosition === \"bottom right\") {\r\n dynamicStyle.root = {\r\n left: coordinates.avgAxis - coordinates.width + \"px\",\r\n };\r\n dynamicStyle.before = {\r\n right: \"100%\",\r\n };\r\n } else if (sidePosition === \"top left\") {\r\n dynamicStyle.root = {\r\n right: coordinates.avgAxis - coordinates.width + \"px\",\r\n };\r\n dynamicStyle.before = {\r\n left: \"100%\",\r\n };\r\n } else if (sidePosition === \"bottom left\") {\r\n dynamicStyle.root = {\r\n right: coordinates.avgAxis - coordinates.width + \"px\",\r\n bottom: \"-125%\",\r\n };\r\n dynamicStyle.before = {\r\n left: \"100%\",\r\n };\r\n }\r\n\r\n return {\r\n root: { ...dynamicStyle.root, ...staticStyle.root },\r\n before: { ...dynamicStyle.before, ...staticStyle.before },\r\n };\r\n};\r\n\r\nexport const getRandomIntBetween = (min, max) => {\r\n min = Math.ceil(min);\r\n max = Math.floor(max);\r\n return Math.floor(Math.random() * (max - min) + min);\r\n};\r\n\r\nexport const whereIsPointOnContainer = (container, point) => {\r\n const xAxis = container.width / 2 + container.left,\r\n yAxis = container.height / 2 + container.top;\r\n const xPos = point.x,\r\n yPos = point.y;\r\n\r\n let sidePosition;\r\n if (xPos > xAxis && yPos < yAxis) {\r\n sidePosition = \"top right\";\r\n } else if (xPos > xAxis && yPos >= yAxis) {\r\n sidePosition = \"bottom right\";\r\n } else if (xPos <= xAxis && yPos < yAxis) {\r\n sidePosition = \"top left\";\r\n } else if (xPos <= xAxis && yPos >= yAxis) {\r\n sidePosition = \"bottom left\";\r\n }\r\n let ySpace, xSpace, angle;\r\n if (sidePosition === \"top right\") {\r\n xSpace = container.right - point.x;\r\n ySpace = point.y - container.top;\r\n angle = 0;\r\n } else if (sidePosition === \"bottom right\") {\r\n xSpace = container.right - point.x;\r\n ySpace = container.bottom - point.y;\r\n angle = 0;\r\n } else if (sidePosition === \"top left\") {\r\n xSpace = point.x - container.left;\r\n ySpace = point.y - container.top;\r\n angle = 0;\r\n } else if (sidePosition === \"bottom left\") {\r\n xSpace = point.x - container.left;\r\n ySpace = container.bottom - point.y;\r\n angle = 0;\r\n return ySpace;\r\n //for warning\r\n }\r\n\r\n const coordinates = widthAndPointOfAxisLinear(xSpace, angle);\r\n return generatePointPosition(sidePosition, coordinates);\r\n};\r\n\r\nexport const randomDotsStyle = () => {\r\n const colors = [\"#00EEB8\", \"white\", variables.colors.blue];\r\n const getRandomInt = (max) => Math.floor(Math.random() * max);\r\n const getRandomIntBetween = (min, max) => {\r\n min = Math.ceil(min);\r\n max = Math.floor(max);\r\n return Math.floor(Math.random() * (max - min) + min);\r\n };\r\n\r\n const widthHeight = getRandomIntBetween(10, 40);\r\n return {\r\n width: `${widthHeight}px`,\r\n height: `${widthHeight}px`,\r\n left: `${getRandomIntBetween(0, window.innerWidth)}px`,\r\n top: `${getRandomIntBetween(0, window.innerHeight - 300)}px`,\r\n filter: `blur(${getRandomIntBetween(5, 30)}px)`,\r\n backgroundColor: colors[getRandomInt(3)],\r\n };\r\n};\r\n","import StyledBrainButtons, { StyledButton } from \"./StyledBrainButtons\";\r\nimport {\r\n useCallback,\r\n useEffect,\r\n useLayoutEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\nimport { debounce } from \"lodash\";\r\nimport { delay } from \"lodash\";\r\nimport { getProductGroups } from \"../../services/homeRequestServices\";\r\nimport { whereIsPointOnContainer } from \"../../utilities/coordinatesOnBrain\";\r\n\r\nconst Information = ({\r\n title,\r\n symbol,\r\n description,\r\n link,\r\n containerDimensions,\r\n changeSelectedData,\r\n}) => {\r\n const [isShowData, toggleIsShowData] = useState(false);\r\n const [badgeCoordinates, changeBadgeCoordinates] = useState(() => ({\r\n root: {},\r\n before: {},\r\n }));\r\n const btnRef = useRef();\r\n const linkRef = useRef();\r\n\r\n const handleShowData = () => {\r\n changeSelectedData({ title, symbol, description, link });\r\n toggleIsShowData(true);\r\n };\r\n\r\n const resizeWindow = useCallback(\r\n debounce(() => {\r\n const btnDimensions = btnRef.current?.getBoundingClientRect();\r\n if (containerDimensions && btnDimensions) {\r\n changeBadgeCoordinates(\r\n whereIsPointOnContainer(containerDimensions, btnDimensions)\r\n );\r\n }\r\n }, 100),\r\n []\r\n // [containerDimensions] this code make a bug !! not use\r\n );\r\n\r\n useLayoutEffect(() => {\r\n resizeWindow();\r\n console.log(\"test run brain component\");\r\n const handleResize = () => {\r\n resizeWindow();\r\n };\r\n\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize);\r\n };\r\n }, [resizeWindow]);\r\n\r\n useEffect(() => {\r\n if (isShowData && linkRef.current) {\r\n linkRef.current.focus();\r\n }\r\n if (!isShowData) {\r\n changeSelectedData(null);\r\n }\r\n }, [isShowData, changeSelectedData]);\r\n return (\r\n \r\n {window.innerWidth > 768 && (\r\n
\r\n \r\n {symbol}\r\n
\r\n \r\n )}\r\n\r\n {window.innerWidth <= 768 && (\r\n
\r\n
\r\n
\r\n {title} ({symbol})\r\n
\r\n
{description}
\r\n
\r\n \r\n بیشتر\r\n \r\n
\r\n
\r\n
\r\n )}\r\n {\r\n if (\r\n relatedTarget === null ||\r\n !relatedTarget.classList.contains(\"dont-skip\")\r\n )\r\n toggleIsShowData(false);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nconst BrainButtons = ({ onMounted }) => {\r\n const brainContainer = useRef(null);\r\n const [containerDimensions, changeDimensions] = useState(null);\r\n const [productList, changeProductList] = useState([]);\r\n const [selectedData, changeSelectedData] = useState(null);\r\n\r\n const getProductList = useMemo(() => {\r\n return () => {\r\n return getProductGroups().then(({ results }) =>\r\n changeProductList(\r\n results.map((item) => ({\r\n key: item.id,\r\n title: item.title,\r\n symbol: item.latin_title,\r\n description: item.description,\r\n link: \"/products/\",\r\n }))\r\n )\r\n );\r\n };\r\n }, []);\r\n\r\n useEffect(getProductList, [getProductList]);\r\n\r\n const resizeWindow = useMemo(() => {\r\n return debounce(() => {\r\n if (brainContainer.current) {\r\n const { bottom, height, left, right, top, width, x, y } =\r\n brainContainer.current.getBoundingClientRect();\r\n changeDimensions({ bottom, height, left, right, top, width, x, y });\r\n }\r\n }, 100);\r\n }, []);\r\n\r\n useEffect(() => {\r\n const callbackFunction = (entries) => {\r\n const [entry] = entries;\r\n if (entry.isIntersecting) {\r\n resizeWindow();\r\n delay(() => onMounted(), 300);\r\n }\r\n };\r\n const options = {\r\n root: null,\r\n rootMargin: \"0px\",\r\n threshold: 1,\r\n };\r\n let observerRefValue = null;\r\n let observer = new IntersectionObserver(callbackFunction, options);\r\n if (brainContainer.current) {\r\n observer.observe(brainContainer.current);\r\n observerRefValue = brainContainer.current;\r\n }\r\n return () => {\r\n if (observerRefValue) {\r\n observer.unobserve(observerRefValue);\r\n }\r\n };\r\n }, [onMounted, resizeWindow]);\r\n\r\n return (\r\n \r\n {brainContainer?.current && (\r\n
\r\n {productList.map((item) => (\r\n \r\n ))}\r\n\r\n {selectedData && window.innerWidth > 768 && (\r\n
\r\n
\r\n
\r\n {selectedData.title} ({selectedData.symbol})\r\n
\r\n
\r\n {selectedData.description}\r\n
\r\n
\r\n changeSelectedData(null)}\r\n >\r\n \r\n \r\n \r\n بیشتر بدانید\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\nexport default BrainButtons;\r\n","export default __webpack_public_path__ + \"static/media/gifScroll.4f4002c4.gif\";","import { useEffect, useState } from \"react\";\r\n\r\nimport styled from \"@emotion/styled\";\r\n\r\nimport gifScroll from \"../../../assets/media/gifScroll.gif\";\r\n\r\nfunction ScrollDownIcon() {\r\n const [visible, setVisible] = useState(true);\r\n\r\n useEffect(() => {\r\n const handleScroll = () => {\r\n // const scrollTop = document.documentElement.scrollTop;\r\n const scrollTop =\r\n window.scrollY ||\r\n window.pageYOffset ||\r\n document.documentElement.scrollTop;\r\n\r\n const windowHeight = window.innerHeight;\r\n const fullHeight = document.documentElement.offsetHeight;\r\n const scrollPercentage = (scrollTop / (fullHeight - windowHeight)) * 100;\r\n\r\n if (scrollPercentage > 80) {\r\n setVisible(false);\r\n } else {\r\n setVisible(true);\r\n }\r\n };\r\n\r\n window.addEventListener(\"scroll\", handleScroll);\r\n return () => {\r\n window.removeEventListener(\"scroll\", handleScroll);\r\n };\r\n }, []);\r\n\r\n return (\r\n \r\n \"gifScroll\"\r\n \r\n );\r\n}\r\n\r\nexport default ScrollDownIcon;\r\n\r\nconst Styles = styled.span`\r\n position: fixed;\r\n bottom: 20px;\r\n left: 9%;\r\n transform: translateX(-50%);\r\n transition: opacity 0.3s ease;\r\n opacity: 0.2;\r\n img {\r\n width: 50px;\r\n height: 50px;\r\n }\r\n`;\r\n","import \"./Home.scss\";\r\n\r\nimport { Suspense, useCallback, useEffect, useState } from \"react\";\r\n\r\n// import DemoRequest from \"../../components/general/misc/DemoRequest\";\r\nimport News from \"./News\";\r\nimport Products from \"./Products\";\r\nimport SocialNetworks from \"./SoacialNetworks\";\r\nimport { withRouter } from \"react-router\";\r\nimport BrainButtons from \"../../components/home/BrainButtons\";\r\nimport ScrollDown from \"../../components/general/background/ScrollDownIcon\";\r\n\r\nconst Home = (props) => {\r\n const [isFocusTab, toggleIsFocusTab] = useState(true);\r\n const [isLoadedBrain, toggleIsLoadedBrain] = useState(false);\r\n\r\n const onFocus = useCallback(() => {\r\n if (!isLoadedBrain) {\r\n toggleIsFocusTab(true);\r\n }\r\n }, [isLoadedBrain, toggleIsFocusTab]);\r\n\r\n const onBlur = useCallback(() => {\r\n if (!isLoadedBrain) {\r\n toggleIsFocusTab(false);\r\n }\r\n }, [isLoadedBrain, toggleIsFocusTab]);\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"focus\", onFocus);\r\n window.addEventListener(\"blur\", onBlur);\r\n return () => {\r\n window.removeEventListener(\"focus\", onFocus);\r\n window.removeEventListener(\"blur\", onBlur);\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n if (isLoadedBrain) {\r\n window.removeEventListener(\"focus\", onFocus);\r\n window.removeEventListener(\"blur\", onBlur);\r\n }\r\n }, [isLoadedBrain, onFocus, onBlur]);\r\n\r\n return (\r\n
\r\n \r\n \r\n window.innerWidth < 768 ? props.history.push(\"/products\") : {}\r\n )}\r\n >\r\n {isFocusTab && (\r\n }>\r\n toggleIsLoadedBrain(true)} />\r\n \r\n )}\r\n
\r\n \r\n {/* */}\r\n \r\n {window.innerWidth < 700 && (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Home;\r\n","import { useCallback, useEffect, useState } from \"react\";\r\nimport { useSnackbar } from \"notistack\";\r\n\r\nimport { statusesOfForm } from \"../../utilities/consts/models\";\r\n\r\nimport Form from \"../../ui-kits/form/Form\";\r\nimport { sendJobRequest } from \"../../services/jobRequestServices\";\r\nimport { jobRequestFormFields } from \"../../utilities/consts/formFields\";\r\nimport { getJobRequestPageTitle } from \"../../services/pagesRequestServices\";\r\n\r\nconst JobRequest = () => {\r\n const [statusForm, changeStatusForm] = useState(statusesOfForm.filling);\r\n const [JobRequestData, changeJobRequestData] = useState([]);\r\n\r\n const getJobRequest = useCallback(() => {\r\n return getJobRequestPageTitle().then((res) => changeJobRequestData(res));\r\n }, []);\r\n\r\n useEffect(() => {\r\n getJobRequest();\r\n }, [getJobRequest]);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const onSubmit = (data) => {\r\n changeStatusForm(statusesOfForm.sending);\r\n sendJobRequest(data)\r\n .then(() => {\r\n enqueueSnackbar(\"درخواست شما با موفقیت ارسال شد.\", {\r\n variant: \"success\",\r\n });\r\n changeStatusForm(statusesOfForm.success);\r\n })\r\n .catch(() =>\r\n enqueueSnackbar(\"ارسال درخواست با خطا مواجه شد.\", { variant: \"error\" })\r\n )\r\n .finally(() => {\r\n changeStatusForm(statusesOfForm.filling);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

\r\n {JobRequestData ? JobRequestData.title : null}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\nexport default JobRequest;\r\n","import fetchApi from '../utilities/fetch/httpService'\r\nimport apiUrls from '../utilities/consts/apiUrls'\r\n\r\n// last_name, mobile, email, job_title, cv_file\r\n\r\nexport const sendJobRequest = ({last_name, mobile, email, job_title, cv_file}) =>\r\n fetchApi({\r\n url: apiUrls.job_request,\r\n body: {last_name, mobile, email, job_title, cv_file},\r\n method: 'POST',\r\n hasFile: true\r\n })\r\n","import React, { useState } from \"react\";\r\nimport { motion } from \"framer-motion\";\r\n\r\nimport styled from \"styled-components\";\r\n\r\nfunction Mamber(props) {\r\n const { img, first_name, post, click, last_name } = props;\r\n const [show, setShow] = useState(false);\r\n\r\n const handleMemberClick = () => {\r\n setShow(!show);\r\n click();\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {\"image\"\r\n

\r\n {first_name} {last_name}\r\n

\r\n

{post}

\r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Mamber;\r\n\r\nconst Styles = styled.div`\r\n border-radius: 8px;\r\n cursor: pointer;\r\n height: 100%;\r\n span {\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n img {\r\n border-radius: 50%;\r\n margin: 15px 0 10px;\r\n width: 60%;\r\n height: 60%;\r\n }\r\n h3 {\r\n font-size: 15px;\r\n font-weight: bold;\r\n }\r\n p {\r\n margin: 0;\r\n padding-bottom: 10px;\r\n }\r\n`;\r\n","function Close(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Close;\r\n","function Linkedin(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Linkedin;\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { Grid } from \"@mui/material\";\r\n\r\nimport isOdd from \"../../utilities/isOdd\";\r\nimport variables from \"../../assets/js/variables\";\r\nimport { getTeamService } from \"../../services/pagesRequestServices\";\r\n\r\nimport Mamber from \"./Mamber\";\r\nimport Modal from \"../../ui-kits/Modal\";\r\nimport Close from \"../../assets/media/icons/close\";\r\nimport Linkedin from \"../../assets/media/icons/linkedin\";\r\nimport {\r\n toPersianNumber,\r\n toPersianNumberNotTag,\r\n} from \"../../utilities/persianNumber\";\r\nimport HtmlContent from \"../../components/general/misc/HtmlContent\";\r\nconst { colors } = variables;\r\n\r\nconst Members = () => {\r\n const [membersData, changeMembersData] = useState([]);\r\n const [selectedMember, setSelectedMember] = useState(null);\r\n const [isModalOpen, setModalOpen] = useState(false);\r\n\r\n const getTeam = useCallback(() => {\r\n getTeamService().then(({ results }) => changeMembersData(results));\r\n }, []);\r\n\r\n useEffect(() => {\r\n getTeam();\r\n }, [getTeam]);\r\n\r\n const shuffleArray = (array) => {\r\n let currentIndex = array.length,\r\n randomIndex;\r\n\r\n while (currentIndex !== 0) {\r\n randomIndex = Math.floor(Math.random() * currentIndex);\r\n currentIndex--;\r\n\r\n [array[currentIndex], array[randomIndex]] = [\r\n array[randomIndex],\r\n array[currentIndex],\r\n ];\r\n }\r\n };\r\n shuffleArray(membersData);\r\n return (\r\n \r\n \r\n {membersData?.map((item, index) => {\r\n return (\r\n \r\n {\r\n setSelectedMember(item);\r\n setModalOpen(true);\r\n }}\r\n />\r\n {isModalOpen && selectedMember && (\r\n \r\n \r\n setModalOpen(false)}\r\n />\r\n
\r\n
\r\n setModalOpen(false)}\r\n >\r\n \r\n \r\n
\r\n
\r\n {window.innerWidth > 1000 ? (\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n {selectedMember.first_name}\r\n {selectedMember.last_name}\r\n

\r\n

\r\n {selectedMember.post}\r\n

\r\n

\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n \"\"\r\n \r\n \r\n

\r\n {selectedMember.first_name}{\" \"}\r\n {selectedMember.last_name}\r\n

\r\n

\r\n {selectedMember.post}\r\n

\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n })}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Members;\r\nconst StyledMembers = styled.div`\r\n //new add test\r\n max-height: 75vh;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n overflow: scroll;\r\n margin-bottom: 5px;\r\n bottom: 0;\r\n top: 0;\r\n position: absolute;\r\n padding: 0;\r\n .container-members {\r\n width: calc(100% - 12rem);\r\n display: flex;\r\n align-items: center;\r\n margin: 0 auto;\r\n justify-content: center;\r\n min-height: fit-content;\r\n max-height: 70vh;\r\n }\r\n .even {\r\n .container-member {\r\n :hover {\r\n border: 2px solid #475cfc;\r\n }\r\n background: ${colors.whiteSmoke};\r\n img {\r\n border: 4px solid #475cfc;\r\n }\r\n h3 {\r\n color: #475cfc;\r\n }\r\n p {\r\n color: #535353;\r\n }\r\n }\r\n }\r\n .odd {\r\n .container-member {\r\n :hover {\r\n border: 2px solid #00ebb5;\r\n }\r\n background: ${colors.darkBlue};\r\n img {\r\n border: 4px solid #00ebb5;\r\n }\r\n h3 {\r\n color: #00ebb5;\r\n }\r\n p {\r\n color: ${colors.text};\r\n }\r\n }\r\n }\r\n .animate {\r\n width: 100%;\r\n }\r\n @media (max-width: 1200px) {\r\n align-items: flex-start !important;\r\n }\r\n @media (max-width: 600px) {\r\n max-height: initial !important;\r\n max-height: initial !important;\r\n bottom: auto;\r\n top: auto;\r\n position: static;\r\n .container-members {\r\n width: calc(100% - 64px);\r\n max-height: initial !important;\r\n max-height: initial !important;\r\n overflow: scroll;\r\n }\r\n }\r\n`;\r\nconst StyledDialog = styled.div`\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100vw;\r\n height: 100vh;\r\n z-index: 1003;\r\n .icon-close {\r\n position: absolute;\r\n left: 12px;\r\n top: 12px;\r\n border: none;\r\n outline: none;\r\n background: ${colors.background};\r\n border: 2px solid white;\r\n border-radius: 50%;\r\n padding: 8px;\r\n background: none;\r\n @media (max-width: 600px) {\r\n padding: 6px;\r\n left: 10px;\r\n top: 10px;\r\n }\r\n @media (max-width: 300px) {\r\n padding: 2px;\r\n }\r\n svg {\r\n width: 26px;\r\n height: 26px;\r\n @media (max-width: 768px) {\r\n width: 30px;\r\n height: 30px;\r\n }\r\n path {\r\n stroke: ${colors.text};\r\n fill: ${colors.text};\r\n }\r\n }\r\n }\r\n\r\n .screen {\r\n width: 100vw;\r\n height: 100vh;\r\n position: fixed;\r\n top: 0;\r\n background: rgba(255, 255, 255, 0.01);\r\n backdrop-filter: blur(1px);\r\n }\r\n\r\n .dialog_container {\r\n min-width: calc(100% - 12rem);\r\n position: fixed;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n padding: 2rem;\r\n @media (max-width: 600px) {\r\n padding: 1rem 1rem 0;\r\n }\r\n .text-left {\r\n text-align: left;\r\n }\r\n .grid-img {\r\n display: flex;\r\n align-items: center !important;\r\n }\r\n }\r\n //768 => 2\r\n //600 => 1\r\n @media (max-width: 600px) {\r\n .dialog_container {\r\n width: 100vw;\r\n height: 100vh;\r\n }\r\n }\r\n .img-container {\r\n width: 100%;\r\n img {\r\n width: 90%;\r\n border-top-right-radius: 20%;\r\n }\r\n }\r\n\r\n .content {\r\n width: 100%;\r\n height: 100%;\r\n margin: auto;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n justify-content: space-between;\r\n margin-right: 0;\r\n .name-member {\r\n font-size: 43px;\r\n margin-right: 10px;\r\n color: #00ebb5;\r\n margin-bottom: 5px;\r\n width: 100%;\r\n }\r\n .post-member {\r\n color: ${colors.text};\r\n font-size: 29px;\r\n margin-right: 10px;\r\n width: 100%;\r\n }\r\n .description-member {\r\n color: ${colors.text};\r\n font-size: 16px;\r\n width: 100%;\r\n height: 100%;\r\n max-height: 50vh;\r\n overflow: scroll;\r\n }\r\n }\r\n .icons-sochial-member {\r\n svg {\r\n fill: white !important;\r\n stroke: white !important;\r\n width: 45px;\r\n @media (max-width: 1500px) {\r\n width: 40px;\r\n }\r\n @media (max-width: 1200px) {\r\n width: 35px;\r\n }\r\n @media (max-width: 600px) {\r\n width: 30px;\r\n }\r\n }\r\n path {\r\n fill: white !important;\r\n stroke: white !important;\r\n }\r\n }\r\n .rispansive-size {\r\n .header-rispansive-size {\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n @media (max-width: 600px) {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n }\r\n .img-container-rispansive-size {\r\n margin-bottom: 10px;\r\n width: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n @media (max-width: 600px) {\r\n width: 70%;\r\n }\r\n img {\r\n width: 90%;\r\n height: auto;\r\n border-top-right-radius: 20%;\r\n @media (max-width: 600px) {\r\n width: 100%;\r\n }\r\n }\r\n }\r\n .person-info-rispansive-size {\r\n width: 50%;\r\n display: flex;\r\n flex-direction: column;\r\n @media (max-width: 600px) {\r\n width: 100%;\r\n margin: 1rem auto 0;\r\n }\r\n }\r\n .name-member-rispansive-size {\r\n font-size: 32px;\r\n margin-right: 10px;\r\n color: #00ebb5;\r\n margin-bottom: 0;\r\n width: 100%;\r\n }\r\n .post-member-rispansive-size {\r\n color: ${colors.text};\r\n font-size: 20px;\r\n margin-right: 10px;\r\n width: 100%;\r\n }\r\n .content-rispansive-size {\r\n display: flex;\r\n flex-direction: column;\r\n width: 95% !important;\r\n margin: 8px auto 0;\r\n color: ${colors.text};\r\n font-size: 16px;\r\n }\r\n .description-member-rispansive-size {\r\n max-height: 50vh;\r\n height: 100%;\r\n overflow: scroll;\r\n margin: 0;\r\n }\r\n }\r\n`;\r\n","export default function isOdd(number) {\r\n if (number % 2 === 0) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n}\r\n","import React, { useState, useMemo, useCallback, useEffect } from \"react\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport {\r\n getPostCategories,\r\n getPostTags,\r\n getPosts,\r\n} from \"../../services/newsRequestServices\";\r\nimport HtmlContent from \"../../components/general/misc/HtmlContent\";\r\nimport InfiniteScroll from \"react-infinite-scroller\";\r\nimport NewsAvatar from \"../../components/general/misc/NewsAvatar\";\r\nimport styled from \"styled-components\";\r\nimport variables from \"../../assets/js/variables\";\r\nimport { Pagination } from \"@mui/material\";\r\n\r\nconst { colors, gridBreakpoints } = variables;\r\n\r\nconst MyPagination = styled(Pagination)({\r\n \"& .MuiPaginationItem-root\": {\r\n color: \"white\",\r\n },\r\n});\r\n\r\nconst News = () => {\r\n function useQuery() {\r\n const { search } = useLocation();\r\n return useMemo(() => new URLSearchParams(search), [search]);\r\n }\r\n const query = useQuery();\r\n const categoryId = +query.get(\"category\");\r\n const tagId = +query.get(\"tag\");\r\n\r\n const [categoryAndTagData, setCategoryAndTagData] = useState([]);\r\n const [newsData, setNewsData] = useState({ hasMore: true, items: [] });\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const itemsPerPage = 12;\r\n\r\n const getNewsData = useCallback(\r\n (page, append) => {\r\n getPosts(categoryId, tagId, page).then(({ next, results }) =>\r\n setNewsData((prevData) => ({\r\n hasMore: next !== null,\r\n items: append ? [...prevData.items, ...results] : results,\r\n }))\r\n );\r\n },\r\n [categoryId, tagId]\r\n );\r\n\r\n const getInitialNewsData = useCallback(() => {\r\n getNewsData(1, false);\r\n }, [getNewsData]);\r\n\r\n const getNextNewsData = useCallback(() => {\r\n if (!newsData.hasMore) return;\r\n getNewsData(currentPage + 1, true);\r\n }, [newsData.hasMore, currentPage, getNewsData]);\r\n\r\n const getCategoryData = useCallback(async () => {\r\n const { results: categories } = await getPostCategories();\r\n const { results: tags } = await getPostTags();\r\n setCategoryAndTagData([\r\n { id: null, title: \"همه‌\", type: \"default\" },\r\n ...categories.map((x) => ({ ...x, type: \"category\" })),\r\n ...tags.map((x) => ({ ...x, type: \"tag\" })),\r\n ]);\r\n }, []);\r\n useEffect(() => {\r\n getCategoryData();\r\n getInitialNewsData();\r\n setCurrentPage(1);\r\n }, [getCategoryData, getInitialNewsData]);\r\n\r\n const currentBlogContent = useMemo(() => {\r\n const startIndex = (currentPage - 1) * itemsPerPage;\r\n const endIndex = startIndex + itemsPerPage;\r\n return newsData.items.slice(startIndex, endIndex);\r\n }, [currentPage, newsData.items]);\r\n const scrollTop = () => {\r\n window.scrollTo({ top: 0, behavior: \"smooth\" });\r\n };\r\n // scrolltoTop\r\n const handlePageChange = (event, value) => {\r\n scrollTop();\r\n setCurrentPage(value);\r\n };\r\n\r\n let tagTitleData = [];\r\n let categoryTitleData = [];\r\n categoryAndTagData.forEach((item) => {\r\n if (item.type === \"category\") {\r\n categoryTitleData.push(item);\r\n } else if (item.type === \"tag\") {\r\n tagTitleData.push(item);\r\n } else {\r\n categoryTitleData.push(item);\r\n tagTitleData.push(item);\r\n }\r\n });\r\n let category = localStorage.getItem(\"category\");\r\n let tag = localStorage.getItem(\"tag\");\r\n console.log(category);\r\n console.log(tag);\r\n return (\r\n \r\n \r\n
\r\n

فهرست

\r\n
\r\n {categoryTitleData?.length ? (\r\n
\r\n
دسته
\r\n \r\n
\r\n {categoryTitleData.map((item) => {\r\n return (\r\n {\r\n if (item.type === \"default\") {\r\n localStorage.setItem(\"category\", \"\");\r\n } else {\r\n localStorage.setItem(\r\n \"category\",\r\n `${item.type}=${item.id}`\r\n );\r\n }\r\n }}\r\n key={`${item.type}_${item.id}`}\r\n to={\r\n item.type === \"default\"\r\n ? `/news/?${tag}`\r\n : `/news/${`?category=${item.id}&${tag}`}`\r\n }\r\n className={`btn px-3 text-12 ${\r\n (item.type === \"category\" &&\r\n categoryId === item.id) ||\r\n (item.type === \"default\" && categoryId === 0)\r\n ? \"active-tab\"\r\n : \"border-green text-green\"\r\n } border-green text-green border-radius-8 \r\n `}\r\n >\r\n {item.title}\r\n \r\n );\r\n })}\r\n
\r\n
\r\n
\r\n ) : null}\r\n {tagTitleData?.length ? (\r\n
\r\n
برچسب
\r\n \r\n
\r\n {tagTitleData.map((item) => {\r\n return (\r\n {\r\n if (item.type === \"default\") {\r\n localStorage.setItem(\"tag\", \"\");\r\n } else {\r\n localStorage.setItem(\r\n \"tag\",\r\n `${item.type}=${item.id}`\r\n );\r\n }\r\n }}\r\n key={`${item.type}_${item.id}`}\r\n to={\r\n item.type === \"default\"\r\n ? `/news/?${category}`\r\n : `/news/${`?${category}&${item.type}=${item.id}`}`\r\n }\r\n className={`btn px-3 text-12 ${\r\n (item.type === \"tag\" && tagId === item.id) ||\r\n (item.type === \"default\" && tagId === 0)\r\n ? \"active-tab\"\r\n : \"border-green text-green\"\r\n } border-green text-green border-radius-8x`}\r\n >\r\n {item.title}\r\n \r\n );\r\n })}\r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n {categoryAndTagData.length && (\r\n \r\n \r\n {currentBlogContent.map((item) => (\r\n \r\n \r\n \r\n \r\n {item.category.title}\r\n \r\n

{item.title}

\r\n
\r\n \r\n
\r\n \r\n بیشتر بدانید\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n )}\r\n {newsData.items.length ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default News;\r\n\r\nconst Styles = styled.div`\r\n .css-yuzg60-MuiButtonBase-root-MuiPaginationItem-root {\r\n background-color: ${colors.whiteSmoke};\r\n :hover {\r\n background-color: ${colors.text};\r\n }\r\n }\r\n .css-yuzg60-MuiButtonBase-root-MuiPaginationItem-root.Mui-selected {\r\n background-color: ${colors.green};\r\n :hover {\r\n background-color: ${colors.green};\r\n }\r\n }\r\n .Pagination-news {\r\n margin-top: 20px;\r\n }\r\n .active-tab {\r\n background: ${colors.green} !important;\r\n color: ${colors.darkBlue} !important;\r\n }\r\n\r\n .header-news {\r\n display: flex;\r\n align-items: center;\r\n\r\n @media (max-width: 600px) {\r\n align-items: flex-start;\r\n\r\n flex-direction: column;\r\n }\r\n .main-header {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n .content-header {\r\n display: flex;\r\n align-items: center;\r\n @media (max-width: 600px) {\r\n align-items: flex-start;\r\n flex-direction: column;\r\n margin: 10px 0;\r\n }\r\n }\r\n .title-tabs {\r\n background: ${colors.background};\r\n padding: 4px 0;\r\n border-radius: 8px;\r\n height: fit-content;\r\n min-width: 100px;\r\n max-width: 100px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n text-align: center;\r\n margin: 0 !important;\r\n @media (max-width: 600px) {\r\n margin-bottom: 10px;\r\n }\r\n }\r\n h5,\r\n h3 {\r\n color: ${colors.text};\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n }\r\n .border-b {\r\n border-bottom: 1px solid ${colors.green};\r\n }\r\n`;\r\n\r\nconst TitleRow = styled.div`\r\n background-color: ${colors.darkBlue};\r\n padding: 5px 6rem;\r\n justify-content: space-between;\r\n\r\n @media (max-width: ${gridBreakpoints.md}px) {\r\n padding: 1rem;\r\n }\r\n`;\r\n\r\nconst ButtonGroup = styled.div`\r\n display: flex;\r\n align-items: center;\r\n margin: 5px;\r\n .wrapper {\r\n a {\r\n margin: 0.25rem;\r\n }\r\n }\r\n`;\r\n\r\nconst NewsList = styled.div`\r\n position: relative;\r\n margin: 3rem 6rem 0;\r\n gap: 1.5rem;\r\n\r\n @media (max-width: ${gridBreakpoints.md}px) {\r\n grid-template-columns: 1fr;\r\n margin: 1.5rem 1.5rem 0;\r\n }\r\n\r\n /* @media (min-width: ${gridBreakpoints.md +\r\n 1}px) and (max-width: ${gridBreakpoints.xl}px) { */\r\n @media (min-width: ${gridBreakpoints.md}px) and (max-width: ${gridBreakpoints.xl}px) {\r\n grid-template-columns: repeat(2, 1fr);\r\n }\r\n\r\n @media (min-width: ${gridBreakpoints.xl + 1}px) {\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n\r\n &:after {\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n bottom: 1.5rem;\r\n content: \"\";\r\n display: block;\r\n border: solid 1px ${colors.background};\r\n }\r\n`;\r\n\r\nconst NewsItem = styled.div`\r\n line-height: 24px !important;\r\n height: 285px;\r\n border-bottom: solid 1px ${colors.brand};\r\n\r\n h3 {\r\n line-height: 1.8;\r\n }\r\n\r\n div {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n flex-grow: 1;\r\n line-height: 1.8;\r\n }\r\n`;\r\n\r\nconst NewsContent = styled.div`\r\n height: inherit;\r\n\r\n a {\r\n width: fit-content;\r\n border-bottom: solid 1px transparent;\r\n &:hover {\r\n border-bottom-color: inherit;\r\n }\r\n }\r\n`;\r\n","import fetchApi from \"../utilities/fetch/httpService\";\r\nimport apiUrls from \"../utilities/consts/apiUrls\";\r\n\r\nexport const getPostCategories = () =>\r\n fetchApi({\r\n url: apiUrls.news.post_categories,\r\n method: \"get\",\r\n });\r\n\r\nexport const getPostTags = () =>\r\n fetchApi({\r\n url: apiUrls.news.post_tags,\r\n method: \"get\",\r\n });\r\n\r\nexport const getPosts = (category, tag, page) =>\r\n fetchApi({\r\n url: (category === 0 && tag === 0\r\n ? apiUrls.news.posts_list_all\r\n : category\r\n ? apiUrls.news.posts_list_by_category\r\n : tag\r\n ? apiUrls.news.posts_list_by_tag\r\n : apiUrls.news.posts_list_all\r\n )\r\n .replace(\r\n category === 0 ? \"category=$category\" : \"$category\",\r\n category === 0 ? \"\" : category\r\n )\r\n .replace(tag === 0 ? \"tag=$tag\" : \"$tag\", tag === 0 ? \"\" : tag)\r\n .replace(\"$page\", page),\r\n method: \"get\",\r\n });\r\n\r\nexport const getPostDetail = (postId) =>\r\n fetchApi({\r\n url: apiUrls.news.post_by_id.replace(\"$id\", postId),\r\n method: \"get\",\r\n });\r\n","import styled from \"styled-components\";\r\nimport { ReactSVG } from \"react-svg\";\r\n\r\nimport linkedinSvg from \"../../assets/media/icons/linkedin.svg\";\r\nimport whatsappSvg from \"../../assets/media/icons/whatsapp.svg\";\r\nimport twitterSvg from \"../../assets/media/icons/twitter.svg\";\r\n\r\nconst sharePlatformsData = [\r\n {\r\n key: \"twitter\",\r\n link: \"https://twitter.com/intent/tweet?url=#url\",\r\n icon: twitterSvg,\r\n },\r\n {\r\n key: \"linkedin\",\r\n link: \"https://www.linkedin.com/sharing/share-offsite/?url=#url\",\r\n icon: linkedinSvg,\r\n },\r\n {\r\n key: \"whatsapp\",\r\n link: \"https://api.whatsapp.com/send?text=#url\",\r\n icon: whatsappSvg,\r\n },\r\n];\r\n\r\nconst ContentSharer = ({ url }) => {\r\n return (\r\n \r\n {sharePlatformsData.map((item, index) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default ContentSharer;\r\n\r\nconst Container = styled.div`\r\n a + a {\r\n margin-right: 1rem;\r\n }\r\n\r\n a svg {\r\n border-radius: 50%;\r\n\r\n .background {\r\n fill: #fff;\r\n }\r\n }\r\n`;\r\n","import persianDate from 'persian-date';\r\n\r\nconst LocalizedDate = ({date, format}) =>\r\n <>\r\n {date ? new persianDate(date).format(format) : ''}\r\n \r\n\r\nexport default LocalizedDate","import { Link, useParams } from \"react-router-dom\";\r\nimport { useCallback, useEffect, useState } from \"react\";\r\n\r\nimport ContentSharer from \"./ContentSharer\";\r\nimport HtmlContent from \"../../components/general/misc/HtmlContent\";\r\nimport LocalizedDate from \"../../components/general/misc/LocalizedDate\";\r\nimport NewsAvatar from \"../../components/general/misc/NewsAvatar\";\r\nimport SectionTitle from \"../../components/general/misc/SectionTitle\";\r\nimport { getPostDetail } from \"../../services/newsRequestServices\";\r\nimport styled from \"styled-components\";\r\nimport variables from \"../../assets/js/variables\";\r\nimport { toPersianNumber } from \"../../utilities/persianNumber\";\r\n\r\nconst { colors, gridBreakpoints } = variables;\r\n\r\nconst NewsDetail = () => {\r\n const { origin } = window.location;\r\n const { id } = useParams();\r\n const [newsData, changeNewsData] = useState(null);\r\n\r\n const getNewsData = useCallback(() => {\r\n return getPostDetail(id).then((res) => changeNewsData(res));\r\n }, [id]);\r\n\r\n useEffect(() => {\r\n getNewsData();\r\n }, [getNewsData]);\r\n console.log(newsData?.abs_content);\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n {newsData?.category.title}\r\n \r\n \r\n \r\n {newsData?.author}\r\n \r\n \r\n
\r\n \r\n مشاهده همه تازه‌ها\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {newsData?.tags.length && (\r\n
\r\n

برچسب‌های مرتبط:

\r\n \r\n {newsData?.tags.map((item, index) => (\r\n \r\n {item.title}\r\n \r\n ))}\r\n \r\n
\r\n )}\r\n
\r\n \r\n

مطالب مرتبط

\r\n {(newsData?.related_links ?? []).length ? (\r\n
\r\n {(newsData.related_links ?? []).map((item, index) => (\r\n \r\n ))}\r\n
\r\n ) : (\r\n

مطلبی پیدا نشد.

\r\n )}\r\n
\r\n
\r\n \r\n

\r\n این صفحه‌ را به اشتراگ بگذارید\r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nconst RelatedNewItem = ({ item }) => {\r\n return (\r\n
\r\n {item.type}\r\n \r\n {item.title}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default NewsDetail;\r\n\r\nconst TitleRow = styled.div`\r\n background-color: ${colors.darkBlue};\r\n padding: 2rem 6rem;\r\n align-items: center;\r\n @media (max-width: 768px) {\r\n padding: 2rem 2rem;\r\n }\r\n\r\n > a {\r\n border-bottom: solid 1px transparent;\r\n\r\n &:hover {\r\n border-bottom-color: inherit;\r\n }\r\n }\r\n`;\r\n\r\nconst NewsMeta = styled.p`\r\n opacity: 0.75;\r\n`;\r\n\r\nconst NewsBody = styled.div`\r\n margin: 1.5rem 6rem;\r\n padding-bottom: 2rem;\r\n position: relative;\r\n border-bottom: solid 1px ${colors.brand};\r\n @media (max-width: 768px) {\r\n margin: 1.5rem 2rem;\r\n }\r\n /* @media (min-width: ${gridBreakpoints.md + 1}px) {\r\n padding-right: calc(1.5rem + 50px);\r\n } */\r\n`;\r\n\r\nconst NewsContent = styled.section`\r\n flex-grow: 1;\r\n\r\n @media (max-width: ${gridBreakpoints.xl}px) {\r\n width: 100;\r\n }\r\n\r\n @media (min-width: ${gridBreakpoints.xl + 1}px) {\r\n max-width: calc(100% - 260px - 6rem);\r\n }\r\n`;\r\n\r\nconst NewsText = styled.div`\r\n line-height: 24px !important;\r\n\r\n p,\r\n img,\r\n figure,\r\n ul,\r\n ol {\r\n margin: 0;\r\n\r\n &:not(:last-child) {\r\n margin-bottom: 2rem;\r\n }\r\n }\r\n\r\n img {\r\n background-color: ${colors.brand};\r\n border-radius: 1rem;\r\n padding: 0.3rem;\r\n margin-left: auto;\r\n margin-right: auto;\r\n display: block;\r\n max-width: 100%;\r\n }\r\n\r\n h1,\r\n h2,\r\n h3,\r\n h4,\r\n h5,\r\n h6 {\r\n color: ${colors.green};\r\n margin-bottom: 1rem;\r\n }\r\n`;\r\n\r\nconst ButtonGroup = styled.div`\r\n a {\r\n border: solid 1px ${colors.brand};\r\n }\r\n\r\n a + a {\r\n margin-right: 1rem;\r\n }\r\n`;\r\n\r\nconst RelatedNewsList = styled.section`\r\n h4,\r\n .related__news-item:not(:last-child) {\r\n padding-bottom: 1rem;\r\n border-bottom: solid 1px ${colors.brand};\r\n margin-bottom: 1rem;\r\n }\r\n\r\n @media (max-width: ${gridBreakpoints.xl}px) {\r\n margin-top: 4rem;\r\n }\r\n\r\n @media (min-width: ${gridBreakpoints.xl + 1}px) {\r\n margin-right: 6rem;\r\n width: 250px;\r\n }\r\n`;\r\n\r\nconst NewsShare = styled.section`\r\n margin: 0 6rem;\r\n\r\n @media (min-width: ${gridBreakpoints.md + 1}px) {\r\n padding-right: calc(1.5rem + 160px);\r\n }\r\n`;\r\n\r\nconst Styles = styled.div`\r\n @media (max-width: 550px) {\r\n .share-page {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n margin: 0 auto;\r\n width: 85%;\r\n h4 {\r\n margin: 0 !important;\r\n }\r\n }\r\n .links-tags {\r\n margin-bottom: 10px;\r\n }\r\n }\r\n`;\r\n","import { useState, useCallback, useEffect } from \"react\";\r\nimport { useSnackbar } from \"notistack\";\r\n\r\nimport { statusesOfForm } from \"../../utilities/consts/models\";\r\n\r\nimport Form from \"../../ui-kits/form/Form\";\r\nimport { sendNewsletter } from \"../../services/newsletterServices\";\r\nimport { getNewsletterPageTitle } from \"../../services/pagesRequestServices\";\r\n\r\nconst newsletterFormFields = [\r\n {\r\n key: \"last_name\",\r\n label: \"نام و نام خانوادگی\",\r\n name: \"last_name\",\r\n isRequired: false,\r\n defaultValue: null,\r\n type: \"name\",\r\n },\r\n {\r\n key: \"mobile\",\r\n label: \"موبایل\",\r\n name: \"mobile\",\r\n isRequired: false,\r\n defaultValue: null,\r\n type: \"tel\",\r\n },\r\n {\r\n key: \"email\",\r\n label: \"ایمیل\",\r\n name: \"email\",\r\n isRequired: true,\r\n defaultValue: null,\r\n type: \"mail\",\r\n },\r\n];\r\n\r\nconst Newsletter = () => {\r\n const [statusForm, changeStatusForm] = useState(statusesOfForm.filling);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const [pageTitle, changePageTitle] = useState(null);\r\n\r\n const getPageTitle = useCallback(() => {\r\n return getNewsletterPageTitle().then((res) => changePageTitle(res));\r\n }, []);\r\n\r\n useEffect(() => {\r\n getPageTitle();\r\n }, [getPageTitle]);\r\n\r\n const onSubmit = (data) => {\r\n changeStatusForm(statusesOfForm.sending);\r\n sendNewsletter(data)\r\n .then(() => {\r\n enqueueSnackbar(\"درخواست شما با موفقیت ارسال شد.\", {\r\n variant: \"success\",\r\n });\r\n changeStatusForm(statusesOfForm.success);\r\n })\r\n .catch(() =>\r\n enqueueSnackbar(\"ارسال درخواست با خطا مواجه شد.\", { variant: \"error\" })\r\n )\r\n .finally(() => {\r\n changeStatusForm(statusesOfForm.filling);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

\r\n {pageTitle?.title}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\nexport default Newsletter;\r\n","import fetchApi from '../utilities/fetch/httpService'\r\nimport apiUrls from '../utilities/consts/apiUrls'\r\n\r\n// last_name, last_name, mobile, email\r\n\r\nexport const sendNewsletter = ({last_name, mobile, email}) =>\r\n fetchApi({url: apiUrls.newsletter_subscriber, body: {last_name, mobile, email}, method: 'POST'})\r\n","import SliderComponent from 'react-slick'\r\nimport styled from 'styled-components'\r\n\r\nimport 'slick-carousel/slick/slick.css'\r\nimport 'slick-carousel/slick/slick-theme.css'\r\n\r\nconst settingsDefault = {\r\n autoplay: false,\r\n autoplaySpeed: 5000,\r\n arrows: false,\r\n centerMode: false,\r\n dots: true,\r\n infinite: false,\r\n speed: 500\r\n}\r\n\r\nconst Slider = ({settings, ...props}) =>\r\n \r\n {props.children}\r\n \r\n\r\nexport default Slider\r\n\r\nconst StyledSliderComponent = styled(SliderComponent)`\r\n .slick-dots {\r\n bottom: -30px;\r\n li {\r\n button {\r\n width: 12px;\r\n height: 12px;\r\n border: 1px solid white;\r\n border-radius: 50%;\r\n transition: 100ms;\r\n\r\n &:before {\r\n display: none;\r\n }\r\n }\r\n\r\n &.slick-active {\r\n button {\r\n border-color: #00EEB8;\r\n background: #00EEB8;\r\n }\r\n }\r\n }\r\n }\r\n`\r\n","export default __webpack_public_path__ + \"static/media/close.e126f533.svg\";","import { useState, useEffect, useCallback } from \"react\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport styled from \"styled-components\";\r\n\r\nimport Modal from \"../../../ui-kits/Modal\";\r\nimport closeSvg from \"../../../assets/media/icons/close.svg\";\r\nimport Form from \"../../../ui-kits/form/Form\";\r\nimport { statusesOfForm } from \"../../../utilities/consts/models\";\r\nimport { sendConsultingRequest } from \"../../../services/consultingRequestServices\";\r\nimport { consultingRequestFormFields } from \"../../../utilities/consts/formFields\";\r\nimport { getConsultingRequestModalTitle } from \"../../../services/pagesRequestServices\";\r\nimport HtmlContent from \"../misc/HtmlContent\";\r\n\r\nconst consultingRequestForModal = consultingRequestFormFields.filter(\r\n (item) => item.key !== \"title\" && item.key !== \"description\"\r\n);\r\n\r\nconst ConsultingRequestModal = ({ isOpen, toggleOpen, productInfo }) => {\r\n const [statusForm, changeStatusForm] = useState(statusesOfForm.filling);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const [pageTitle, changePageTitle] = useState(null);\r\n\r\n const onSubmit = (data) => {\r\n changeStatusForm(statusesOfForm.sending);\r\n\r\n const fullData = {\r\n ...data,\r\n title: `درخواست دمو و مشاوره ${productInfo.title}`,\r\n description: `درخواست دمو و مشاوره ${productInfo.title}`,\r\n };\r\n\r\n sendConsultingRequest(fullData)\r\n .then(() => {\r\n enqueueSnackbar(\"درخواست شما با موفقیت ارسال شد.\", {\r\n variant: \"success\",\r\n });\r\n changeStatusForm(statusesOfForm.success);\r\n toggleOpen(false);\r\n })\r\n .catch(() =>\r\n enqueueSnackbar(\"ارسال درخواست با خطا مواجه شد.\", { variant: \"error\" })\r\n )\r\n .finally(() => {\r\n changeStatusForm(statusesOfForm.filling);\r\n });\r\n };\r\n\r\n const getPageTitle = useCallback(() => {\r\n return getConsultingRequestModalTitle().then((res) => changePageTitle(res));\r\n }, []);\r\n\r\n useEffect(() => {\r\n getPageTitle();\r\n }, [getPageTitle]);\r\n\r\n return isOpen ? (\r\n \r\n \r\n
toggleOpen(false)} />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n ${productInfo.title}`\r\n )}\r\n />\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n ) : (\r\n <>\r\n );\r\n};\r\nexport default ConsultingRequestModal;\r\n\r\nconst StyledDialog = styled.div`\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100vw;\r\n height: 100vh;\r\n z-index: 1003;\r\n\r\n .screen {\r\n width: 100vw;\r\n height: 100vh;\r\n background: rebeccapurple;\r\n position: fixed;\r\n top: 0;\r\n background: rgba(0, 6, 50, 0.9);\r\n }\r\n\r\n .dialog_container {\r\n width: 600px;\r\n position: fixed;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n border: 1px solid;\r\n\r\n .text-left {\r\n text-align: left;\r\n }\r\n\r\n .dialog_container__content {\r\n max-height: 80vh;\r\n overflow: auto;\r\n }\r\n }\r\n\r\n @media (max-width: 768px) {\r\n .dialog_container {\r\n width: 90vw;\r\n }\r\n }\r\n`;\r\n","import Modal from \"../../../ui-kits/Modal\";\r\nimport Slider from \"../../../ui-kits/Slider\";\r\nimport Close from \"../../../assets/media/icons/close\";\r\nimport styled from \"styled-components\";\r\nimport variables from \"../../../assets/js/variables\";\r\nconst { colors } = variables;\r\n\r\nconst FileModal = ({ isOpen, onClose, files, selectedIndex }) =>\r\n isOpen ? (\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {files.map((image) =>\r\n image.includes(\"video\") ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {image}\r\n
\r\n )\r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n ) : (\r\n <>\r\n );\r\n\r\nexport default FileModal;\r\n\r\nconst StyledDialog = styled.div`\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100vw;\r\n height: 100vh;\r\n z-index: 1003;\r\n\r\n .screen {\r\n width: 100vw;\r\n height: 100vh;\r\n background: rebeccapurple;\r\n position: fixed;\r\n top: 0;\r\n background: rgba(0, 6, 50, 0.9);\r\n }\r\n .close {\r\n border: none;\r\n outline: none;\r\n background: ${colors.background};\r\n border: 2px solid white;\r\n border-radius: 50%;\r\n padding: 8px;\r\n background: none;\r\n @media (max-width: 600px) {\r\n padding: 6px;\r\n }\r\n svg {\r\n width: 26px;\r\n height: 26px;\r\n @media (max-width: 600px) {\r\n width: 20px;\r\n height: 20px;\r\n }\r\n path {\r\n stroke: ${colors.text};\r\n fill: ${colors.text};\r\n }\r\n }\r\n }\r\n .dialog_container {\r\n max-width: 80vw;\r\n width: fit-content;\r\n position: fixed;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n border: 1px solid;\r\n display: flex;\r\n flex-direction: column-reverse;\r\n .text-left {\r\n text-align: left;\r\n }\r\n\r\n .slick-slider {\r\n .slick-list {\r\n height: 100%;\r\n\r\n .slick-track {\r\n display: flex;\r\n align-items: center;\r\n\r\n .images_contain {\r\n overflow: hidden;\r\n padding: 0 10px;\r\n outline: unset !important;\r\n\r\n img {\r\n min-width: 100%;\r\n max-width: 100%;\r\n border-radius: 10px;\r\n }\r\n }\r\n\r\n .video_contain {\r\n overflow: hidden;\r\n padding: 0 10px;\r\n outline: unset !important;\r\n\r\n iframe {\r\n width: 100%;\r\n aspect-ratio: 16/9;\r\n border-radius: 10px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .slick-dots {\r\n top: -30px;\r\n bottom: unset;\r\n text-align: right;\r\n }\r\n }\r\n }\r\n\r\n @media (max-width: 768px) {\r\n .dialog_container {\r\n max-width: 95vw;\r\n\r\n .slick-slider .slick-list .slick-track .images_contain {\r\n padding: 0 5px;\r\n }\r\n }\r\n }\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/laptop-mockup.61bd4be5.png\";","import { Children, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport FileModal from \"../modals/FileModal\";\r\nimport Slider from \"../../../ui-kits/Slider\";\r\n\r\nimport laptopMock from \"../../../assets/media/laptop-mockup.png\";\r\n\r\nconst LaptopSlider = ({ files }) => {\r\n const [selectedFile, changeSelectedFile] = useState(null);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n {Children.toArray(\r\n files.map((file, index) =>\r\n file.includes(\"video\") ? (\r\n
\r\n changeSelectedFile(index)}\r\n />\r\n