{"version":3,"file":"490.1b4dc459.js","mappings":"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","sources":["webpack://realush/./src/entities/event/EventCard/styled.ts","webpack://realush/./src/entities/event/EventCard/index.tsx","webpack://realush/./src/pages/home/ui/UpcomingEventsSection/EventCards.tsx","webpack://realush/./src/pages/home/ui/UpcomingEventsSection/index.tsx","webpack://realush/./src/pages/home/lib/hooks/useBodyScroll.ts","webpack://realush/./src/pages/home/ui/index.tsx","webpack://realush/./src/pages/home/index.ts","webpack://realush/./src/pages/home/ui/UpcomingEventsSection/assets/Particle1.tsx","webpack://realush/./src/pages/home/ui/UpcomingEventsSection/assets/Particle2.tsx","webpack://realush/./src/pages/home/ui/UpcomingEventsSection/styled.ts","webpack://realush/./src/pages/home/ui/styled.ts","webpack://realush/./src/shared/api/services/EventService.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\r\nimport RouteLink from '@/shared/ui/RouteLink';\r\nexport const EventCardWrapper = styled(RouteLink) `\r\n display: flex;\r\n width: 100%;\r\n max-width: 362px;\r\n aspect-ratio: 1 / 1;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 15px;\r\n\r\n border: 1px solid #161616;\r\n background-color: #f8f2ee;\r\n\r\n position: relative;\r\n`;\r\nexport const EventCardContent = styled.div `\r\n width: 100%;\r\n max-height: 328px;\r\n height: 100%;\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n height: 150px;\r\n width: 100%;\r\n background: linear-gradient(to bottom, transparent 0%, black 120%);\r\n }\r\n`;\r\nexport const EventCardImgLoaderContainer = styled.div `\r\n width: 100%;\r\n max-height: 328px;\r\n height: 100%;\r\n\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n z-index: -1;\r\n`;\r\nexport const EventCardImage = styled.img(({ isImgLoaded }) => css `\r\n ${!isImgLoaded &&\r\n css `\r\n display: none;\r\n `}\r\n\r\n max-height: 328px;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n z-index: -1;\r\n `);\r\nexport const EventCardDescriptionContainer = styled.div `\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n bottom: 0;\r\n left: 0;\r\n align-items: ${(props) => (props.reversed ? 'flex-end' : 'flex-start')};\r\n\r\n padding: 16px;\r\n\r\n color: #ffffff;\r\n`;\r\nexport const IconTitle = styled.div `\r\n display: flex;\r\n align-items: center;\r\n z-index: 10;\r\n\r\n ${({ gap = 5 }) => css `\r\n gap: ${gap}px;\r\n `}\r\n`;\r\nexport const Date = styled.time `\r\n ${({ theme }) => css `\r\n color: inherit;\r\n font-size: ${theme.util.pxToRem(16)};\r\n `}\r\n`;\r\nexport const EventCardPerformerName = styled.span `\r\n font-size: 18px;\r\n font-weight: 500;\r\n line-height: 27px;\r\n text-transform: capitalize;\r\n`;\r\nexport const EventCardTitle = styled.span `\r\n font-size: 24px;\r\n font-weight: 600;\r\n line-height: 28.8px;\r\n text-transform: capitalize;\r\n\r\n @media screen and (max-width: 768px) {\r\n font-size: 28px;\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: normal;\r\n }\r\n`;\r\nexport const ImageBackupText = styled.p `\r\n width: 100%;\r\n height: 100%;\r\n\r\n font-size: 16px;\r\n font-weight: 600;\r\n\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n`;\r\nexport const CountryFlag = styled.img `\r\n position: absolute;\r\n top: 20px;\r\n right: 20px;\r\n height: 30px;\r\n width: 40px;\r\n object-fit: contain;\r\n`;\r\n","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\r\nimport { memo, useState, useCallback } from 'react';\r\nimport { CircularProgress } from '@mui/material';\r\nimport { EventCardContent, EventCardDescriptionContainer, EventCardImage, EventCardWrapper, IconTitle, Date, EventCardPerformerName, EventCardTitle, EventCardImgLoaderContainer, ImageBackupText, } from './styled';\r\nimport { http } from '@/shared/api/http';\r\nimport { CalendarIcon } from '@/shared/assets/icons';\r\nimport { ROUTES } from '@/shared/constants/routes';\r\nimport { EventType } from '@/shared/constants/common';\r\nimport DateService from '@/shared/lib/utils/date';\r\nimport { useBrowserLanguage } from '@/shared/lib/hooks';\r\nconst DATE_SEPARATOR = '.';\r\nconst InnerEventCard = ({ id, src, name, title, date, fromHour, eventTypeC, herbrewName, russianName, }) => {\r\n const [isImgLoaded, setIsImgLoaded] = useState(false);\r\n const browserLanguage = useBrowserLanguage();\r\n const convertedDate = DateService.toLocalDate(`${date} ${fromHour}`, 'dd/M/yyyy HH:mm');\r\n const formatLocalDate = useCallback(() => `${convertedDate.getDate().toString().padStart(2, '0')}${DATE_SEPARATOR}${(convertedDate.getMonth() + 1)\r\n .toString()\r\n .padStart(2, '0')}${DATE_SEPARATOR}${convertedDate.getFullYear().toString().substring(2)}`, [convertedDate]);\r\n const getEventTitle = useCallback(() => {\r\n const languageMap = {\r\n he: { title: herbrewName },\r\n ru: { title: russianName },\r\n en: { title },\r\n };\r\n return languageMap[browserLanguage]?.title || title;\r\n }, [browserLanguage, herbrewName, russianName, title]);\r\n const localDate = formatLocalDate();\r\n const eventTitle = getEventTitle();\r\n return (_jsx(EventCardWrapper, { to: `${ROUTES.events.path}/${id}`, children: _jsxs(EventCardContent, { children: [src ? (_jsxs(_Fragment, { children: [!isImgLoaded && (_jsx(EventCardImgLoaderContainer, { children: _jsx(CircularProgress, { size: 48 }) })), _jsx(EventCardImage, { isImgLoaded: isImgLoaded, src: `${http.getImagesUrl()}/events/${src}`, onLoad: () => setIsImgLoaded(true) })] })) : (_jsx(ImageBackupText, { children: \"They forgot to upload an image\" })), _jsxs(EventCardDescriptionContainer, { reversed: browserLanguage === \"he\" && herbrewName !== \"\", children: [eventTypeC !== EventType.SPEED_DATING && _jsx(EventCardPerformerName, { children: name }), _jsx(EventCardTitle, { children: eventTitle }), _jsxs(IconTitle, { children: [_jsx(CalendarIcon, { width: 20, height: 20 }), _jsx(Date, { dateTime: localDate, children: localDate })] })] })] }) }));\r\n};\r\nexport const EventCard = memo(InnerEventCard);\r\n","import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\r\nimport { CircularProgress } from '@mui/material';\r\nimport { memo } from 'react';\r\nimport { EventCard } from '@/entities/event/EventCard';\r\nimport { useAxiosRequest } from '@/shared/lib/hooks';\r\nimport EventService from '@/shared/api/services/EventService';\r\nconst EventCards = () => {\r\n const [loading, events] = useAxiosRequest(async () => {\r\n const response = await EventService.getHomePageEvents();\r\n return response;\r\n }, []);\r\n return (_jsx(_Fragment, { children: loading ? (_jsx(CircularProgress, { color: 'primary' })) : (events.map(({ id, image, date, name, userPerformerName, fromHour, eventTypeC, herbrewName, russianName }) => (_jsx(EventCard, { id: id, src: image, name: userPerformerName, title: name, date: date, fromHour: fromHour, eventTypeC: eventTypeC, herbrewName: herbrewName, russianName: russianName }, id)))) }));\r\n};\r\nexport default memo(EventCards);\r\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\r\nimport { memo, useCallback } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { TitleContainer, RightTitleParticle, LeftTitleParticle, TitleWrapper, Content, EventsContainer, GreedBackground, Button, } from './styled';\r\nimport EventCards from './EventCards';\r\nimport { SectionContainer, SectionTitle } from '../styled';\r\nimport { ROUTES } from '@/shared/constants/routes';\r\nconst InnerUpcomingEventsSection = () => {\r\n const navigate = useNavigate();\r\n const handleClickMore = useCallback(() => {\r\n navigate(ROUTES.events.path);\r\n }, [navigate]);\r\n return (_jsx(SectionContainer, { children: _jsxs(Content, { children: [_jsx(TitleContainer, { children: _jsxs(TitleWrapper, { children: [_jsx(LeftTitleParticle, {}), _jsx(SectionTitle, { id: 'why-realush', children: \"Upcoming Events\" }), _jsx(RightTitleParticle, {})] }) }), _jsxs(EventsContainer, { children: [_jsx(EventCards, {}), _jsx(GreedBackground, {})] }), _jsx(Button, { variant: 'contained', height: 62, maxWidth: 200, fontSize: 20, onClick: handleClickMore, children: \"See all events\" })] }) }));\r\n};\r\nexport const UpcomingEventsSection = memo(InnerUpcomingEventsSection);\r\n","import { useLayoutEffect, useState } from 'react';\r\nconst useBodyScroll = () => {\r\n const [scroll, setScroll] = useState(false);\r\n useLayoutEffect(() => {\r\n if (!scroll && document.body.style.overflowY === 'auto') {\r\n setScroll(true);\r\n return;\r\n }\r\n document.body.style.overflowY = 'auto';\r\n setScroll(true);\r\n }, [scroll]);\r\n};\r\nexport default useBodyScroll;\r\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\r\nimport { lazy, memo, useEffect, useRef } from 'react';\r\nimport { Container } from './styled';\r\nimport { UpcomingEventsSection } from './UpcomingEventsSection';\r\nimport useBodyScroll from '../lib/hooks/useBodyScroll';\r\nimport { MetricsService } from '@/shared/api/services/MetricsService';\r\nimport { MetricType } from '@/shared/types/metrics';\r\nimport { getIsMobileDevice } from '@/shared/utils/getIsMobileDevice';\r\nimport { useQuery } from '@/shared/lib/hooks';\r\nimport { appType } from '@/shared/config';\r\nimport { AppType } from '@/shared/types/app';\r\nconst HeroSectionMap = {\r\n [AppType.RL]: lazy(() => import('./HeroSection/rl')),\r\n [AppType.JA]: lazy(() => import('./HeroSection/ja/index')),\r\n};\r\nconst WhatIsRealushMap = {\r\n [AppType.RL]: lazy(() => import('./WhatIsRealushSection')),\r\n [AppType.JA]: null,\r\n};\r\nconst WhyRealushSectionMap = {\r\n [AppType.RL]: lazy(() => import('./WhyRealushSection')),\r\n [AppType.JA]: null,\r\n};\r\nconst WhyDesktopOnlySectionMap = {\r\n [AppType.RL]: lazy(() => import('./WhyDesktopOnlySection/rl')),\r\n [AppType.JA]: lazy(() => import('./WhyDesktopOnlySection/ja')),\r\n};\r\nconst MemoryLegacySectionMap = {\r\n [AppType.JA]: lazy(() => import('./MemoryLegacySection')),\r\n [AppType.RL]: null,\r\n};\r\nconst InnerHomePage = () => {\r\n const query = useQuery();\r\n const scrollTo = query.get('s');\r\n useBodyScroll();\r\n const isMobile = getIsMobileDevice();\r\n const whyDesktopRef = useRef(null);\r\n const handleScroll = () => whyDesktopRef.current?.scrollIntoView({ behavior: 'smooth' });\r\n useEffect(() => {\r\n if (scrollTo === 'wd') {\r\n handleScroll();\r\n }\r\n }, [scrollTo]);\r\n useEffect(() => {\r\n MetricsService.sendMetrics({\r\n type: MetricType.HOMEPAGE_VIEW,\r\n meta: {\r\n isMobile,\r\n },\r\n });\r\n }, [isMobile]);\r\n const HeroSection = HeroSectionMap[appType];\r\n const WhatIsRealush = WhatIsRealushMap[appType];\r\n const WhyRealushSection = WhyRealushSectionMap[appType];\r\n const WhyDesktopOnlySection = WhyDesktopOnlySectionMap[appType];\r\n const MemoryLegacySection = MemoryLegacySectionMap[appType];\r\n return (_jsx(Container, { children: _jsxs(Container, { children: [_jsx(HeroSection, { scrollToWhyDesktop: handleScroll }), WhatIsRealush && _jsx(WhatIsRealush, {}), WhyRealushSection && _jsx(WhyRealushSection, {}), _jsx(WhyDesktopOnlySection, { whyDesktopRef: whyDesktopRef }), _jsx(UpcomingEventsSection, {}), MemoryLegacySection && _jsx(MemoryLegacySection, {})] }) }));\r\n};\r\nexport const HomePage = memo(InnerHomePage);\r\n","import { HomePage } from './ui';\r\nexport default HomePage;\r\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\r\nimport Svg from '@/shared/ui/Svg';\r\nexport const Particle1 = ({ width = 35, height = 44, ...props }) => (_jsxs(Svg, { width: width, height: height, viewBox: '0 0 35 44', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', ...props, children: [_jsx(\"path\", { d: 'M17.5 2.21234C16.6507 9.71462 12.3616 24.7192 2 24.7192', stroke: '#A041FF', strokeWidth: '4', strokeLinecap: 'round', fill: 'none' }), _jsx(\"path\", { d: 'M17.5 41.0685C18.3493 32.8585 22.6384 16.4384 33 16.4384', stroke: '#A041FF', strokeWidth: '4', strokeLinecap: 'round', fill: 'none' }), _jsx(\"path\", { d: 'M17.5 2C18.3493 6.81279 22.6384 16.4384 33 16.4384', stroke: '#A041FF', strokeWidth: '4', strokeLinecap: 'round', fill: 'none' }), _jsx(\"path\", { d: 'M17.5 41.0685C16.6507 35.6895 12.3616 24.9315 2 24.9315', stroke: '#A041FF', strokeWidth: '4', strokeLinecap: 'round', fill: 'none' })] }));\r\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\r\nimport Svg from '@/shared/ui/Svg';\r\nexport const Particle2 = ({ width = 32, height = 42, ...props }) => (_jsxs(Svg, { width: width, height: height, viewBox: '0 0 32 42', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', ...props, children: [_jsx(\"path\", { d: 'M15.0803 2.20438C14.3636 9.42579 10.7441 23.8686 2 23.8686', stroke: '#A041FF', strokeWidth: '4', strokeLinecap: 'round', fill: 'none' }), _jsx(\"path\", { d: 'M15.0803 39.6058C15.8978 33.747 20.0263 22.0292 30 22.0292', stroke: '#A041FF', strokeWidth: '4', strokeLinecap: 'round', fill: 'none' }), _jsx(\"path\", { d: 'M15.0803 2C15.8978 8.6764 20.0263 22.0292 30 22.0292', stroke: '#A041FF', strokeWidth: '4', strokeLinecap: 'round', fill: 'none' }), _jsx(\"path\", { d: 'M15.0803 39.6058C14.3636 34.3601 10.7441 23.8686 2 23.8686', stroke: '#A041FF', strokeWidth: '4', strokeLinecap: 'round', fill: 'none' })] }));\r\n","import styled, { css } from 'styled-components';\r\nimport { greedImg, Particle1, Particle2 } from './assets';\r\nimport { SectionContent } from '../styled';\r\nimport ButtonCustom from '@/shared/ui/ButtonCustom';\r\nexport const Content = styled(SectionContent)(({ theme }) => css `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 24px;\r\n\r\n align-items: center;\r\n\r\n @media screen and (min-width: 950px) {\r\n width: 100%;\r\n }\r\n\r\n ${theme.breakpoints.down('md')} {\r\n gap: 16px;\r\n padding: 0;\r\n padding-bottom: 20px;\r\n }\r\n `);\r\nexport const LeftTitleParticle = styled(Particle1)(({ theme }) => css `\r\n position: absolute;\r\n left: -56px;\r\n top: 16px;\r\n\r\n ${theme.breakpoints.down('md')} {\r\n left: -40px;\r\n top: -8px;\r\n scale: 0.7;\r\n }\r\n `);\r\nexport const RightTitleParticle = styled(Particle2)(({ theme }) => css `\r\n position: absolute;\r\n right: -56px;\r\n top: 16px;\r\n\r\n ${theme.breakpoints.down('md')} {\r\n top: -8px;\r\n right: -36px;\r\n scale: 0.6;\r\n }\r\n `);\r\nexport const TitleContainer = styled.div `\r\n display: flex;\r\n width: 100%;\r\n\r\n justify-content: center;\r\n\r\n @media screen and (max-width: 950px) {\r\n margin-top: 32px;\r\n }\r\n`;\r\nexport const TitleWrapper = styled.div `\r\n position: relative;\r\n width: min-content;\r\n`;\r\nexport const EventsContainer = styled.div(({ theme }) => css `\r\n position: relative;\r\n width: 100%;\r\n height: max-content;\r\n\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n gap: 40px;\r\n padding: 32px 0;\r\n\r\n ${theme.breakpoints.down('md')} {\r\n flex-direction: column;\r\n gap: 24px;\r\n }\r\n\r\n @media screen and (max-width: 768px) {\r\n padding: 16px 0;\r\n }\r\n `);\r\nexport const GreedBackground = styled.div(({ theme }) => css `\r\n position: absolute;\r\n justify-self: center;\r\n top: 0;\r\n left: 0;\r\n width: 100vw;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n max-width: ${theme.breakpoints.values.lg}px;\r\n\r\n height: 100%;\r\n\r\n background-image: url(${greedImg});\r\n background-size: auto auto;\r\n\r\n z-index: -1;\r\n `);\r\nexport const Button = styled(ButtonCustom)(({ theme }) => css `\r\n border-radius: 8px;\r\n box-shadow: 8px 8px 0px 0px black;\r\n margin-bottom: 10px;\r\n font-size: 20px;\r\n font-weight: 600;\r\n line-height: 30px;\r\n text-align: center;\r\n\r\n &:hover {\r\n box-shadow: 8px 8px 0px 0px black;\r\n }\r\n\r\n ${theme.breakpoints.down('md')} {\r\n font-size: 16px;\r\n font-weight: 500;\r\n line-height: 24px;\r\n }\r\n `);\r\n","import styled, { css } from 'styled-components';\r\nexport const Container = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n padding: 0;\r\n`;\r\nexport const SectionContainer = styled.div `\r\n position: relative;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n`;\r\nexport const SectionContent = styled.div(({ theme }) => css `\r\n max-width: calc(${theme.breakpoints.values.lg}px + 64px);\r\n padding: 64px 32px;\r\n\r\n ${theme.breakpoints.down('md')} {\r\n padding: 32px 16px;\r\n }\r\n `);\r\nexport const SectionTitle = styled.h2(({ theme }) => css `\r\n width: min-content;\r\n white-space: nowrap;\r\n\r\n font-size: 58px;\r\n font-weight: 600;\r\n line-height: 69.6px;\r\n color: #ffffff;\r\n text-shadow: 6px 6px 0px #1a141f, 1px 0 black, -1px 0 black, 0 1px black, 0 -1px black,\r\n 1px 1px black, -1px -1px black, 1px -1px black, -1px 1px black;\r\n\r\n ${theme.breakpoints.down('md')} {\r\n font-size: 32px;\r\n font-weight: 600;\r\n line-height: 38px;\r\n }\r\n `);\r\nexport const Background = styled.div(({ color }) => css `\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100vw;\r\n height: 100%;\r\n z-index: -100;\r\n\r\n background-color: ${color};\r\n `);\r\n","import axiosInstance from '../http';\r\nimport { API } from '@/shared/constants/api';\r\nimport ServiceBuilder from '@/shared/lib/utils/service';\r\nconst getEventDetails = async (roomId) => ServiceBuilder.serviceRequest(async () => {\r\n const response = await axiosInstance.get(API.eventDetails, {\r\n params: { roomId },\r\n });\r\n return response;\r\n});\r\nconst getEventById = async (id) => ServiceBuilder.serviceRequest(async () => {\r\n const response = await axiosInstance.get(API.event, {\r\n params: { id },\r\n });\r\n return response;\r\n});\r\nconst getHomePageEvents = async () => ServiceBuilder.serviceRequest(async () => {\r\n const response = await axiosInstance.get(API.homepageEvents);\r\n return response;\r\n});\r\nconst EventService = {\r\n getEventDetails,\r\n getEventById,\r\n getHomePageEvents,\r\n};\r\nexport default EventService;\r\n"],"names":["EventCardWrapper","styled","RouteLink","EventCardContent","EventCardImgLoaderContainer","EventCardImage","isImgLoaded","css","EventCardDescriptionContainer","props","reversed","IconTitle","gap","Date","theme","util","pxToRem","EventCardPerformerName","EventCardTitle","ImageBackupText","InnerEventCard","id","src","name","title","date","fromHour","eventTypeC","herbrewName","russianName","setIsImgLoaded","useState","browserLanguage","useBrowserLanguage","convertedDate","DateService","formatLocalDate","useCallback","getDate","toString","padStart","getMonth","getFullYear","substring","getEventTitle","he","ru","en","localDate","eventTitle","_jsx","to","ROUTES","children","_jsxs","_Fragment","CircularProgress","size","http","onLoad","EventType","CalendarIcon","width","height","dateTime","EventCard","memo","EventCards","loading","events","useAxiosRequest","async","EventService","color","map","image","userPerformerName","InnerUpcomingEventsSection","navigate","useNavigate","handleClickMore","SectionContainer","Content","TitleContainer","TitleWrapper","LeftTitleParticle","SectionTitle","RightTitleParticle","EventsContainer","GreedBackground","Button","variant","maxWidth","fontSize","onClick","UpcomingEventsSection","scroll","setScroll","useLayoutEffect","document","body","style","overflowY","HeroSectionMap","AppType","lazy","WhatIsRealushMap","WhyRealushSectionMap","WhyDesktopOnlySectionMap","MemoryLegacySectionMap","InnerHomePage","scrollTo","useQuery","get","useBodyScroll","isMobile","getIsMobileDevice","whyDesktopRef","useRef","handleScroll","current","scrollIntoView","behavior","useEffect","MetricsService","type","MetricType","meta","HeroSection","appType","WhatIsRealush","WhyRealushSection","WhyDesktopOnlySection","MemoryLegacySection","Container","scrollToWhyDesktop","Particle1","Svg","viewBox","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","Particle2","SectionContent","breakpoints","down","values","lg","greedImg","ButtonCustom","Background","getEventDetails","ServiceBuilder","axiosInstance","API","params","roomId","getEventById","getHomePageEvents"],"sourceRoot":""}