{"version":3,"file":"index-ff231734.js","sources":["../../src/hooks/news/useFetchNewsFeed.ts","../../src/components/news/NewsCardContent.tsx","../../src/components/news/NewsCard.tsx","../../src/components/news/NoNews.tsx","../../src/components/news/NewsContainer.tsx","../../src/pages/news/styles/StylesNewsServiceStyleTwo.ts","../../src/pages/news/styles/StylesNewsServiceStyleThree.ts","../../src/pages/news/styles/StylesNewsServiceStyleOne.ts","../../src/pages/news/styles/GetNewsTemplateService.ts","../../src/pages/news/styles/useGetNewsTemplate.ts","../../src/pages/news/index.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { HttpError, NewsFeed } from '@eo-storefronts/eo-core'\nimport { fetchNewsFeed } from '~/src/services/FirmService'\nimport { useEoValue, useSetEoState } from '~/src/hooks/useEoState'\nimport { FIRM_SELECTOR } from '~/src/stores/firm'\nimport { NEWS_STATE } from '~/src/stores/news'\nimport { BRAND_STATE } from '~/src/stores/brand'\n\ninterface ReturnType {\n isLoading: boolean,\n error: HttpError | unknown | undefined,\n data: NewsFeed[],\n\n fetch(setState?: boolean): Promise,\n}\n\nconst useFetchNewsFeed = (): ReturnType => {\n const [ isLoading, setIsLoading ] = useState(false)\n const [ data, setData ] = useState([])\n const [ error, setError ] = useState(undefined)\n const setNewsState = useSetEoState(NEWS_STATE)\n const firm = useEoValue(FIRM_SELECTOR)\n const brand = useEoValue(BRAND_STATE)\n\n const fetch = async (setState = true): Promise => {\n if (!firm && !brand) {\n return\n }\n\n setIsLoading(true)\n setData([])\n setError(undefined)\n\n try {\n let data: NewsFeed[] = []\n\n if (firm) {\n data = await fetchNewsFeed(firm.id)\n } else if (brand) {\n data = await fetchNewsFeed(brand.id)\n }\n\n setData(data)\n setState && setNewsState(data)\n\n return data\n } catch (e: HttpError | unknown) {\n setError(e)\n } finally {\n setIsLoading(false)\n }\n }\n\n return { isLoading, error, data, fetch }\n}\n\nexport default useFetchNewsFeed\n","import { NewsFeed } from '@eo-storefronts/eo-core'\nimport { CardContent, Typography } from '@mui/material'\nimport Title from '~/src/components/mui-wrappers/Title'\n\ninterface Props {\n newsFeed: NewsFeed,\n}\n\nconst NewsCardContent = ({ newsFeed }: Props) => (\n \n {newsFeed.date}\n {newsFeed.title}\n \n)\n\nexport default NewsCardContent\n","import CardMedia from '~/src/components/mui-wrappers/CardMedia'\nimport Card from '~/src/components/mui-wrappers/Card'\nimport { NewsFeed } from '@eo-storefronts/eo-core'\nimport NewsCardContent from '~/src/components/news/NewsCardContent'\nimport { useSetEoState } from '~/src/hooks/useEoState'\nimport { SELECTED_NEWS_STATE } from '~/src/stores/news'\nimport { useFirmPathResolver } from '~/src/hooks/router/useFirmPathResolver'\nimport { useRouterPush } from '~/src/hooks/router/useRouterPush'\nimport RoutesEnum from '~/src/router/enums/routes.enum'\n\ninterface Props {\n newsFeed: NewsFeed,\n}\n\nconst NewsCard = ({ newsFeed }: Props) => {\n const setSelectedNews = useSetEoState(SELECTED_NEWS_STATE)\n const { resolve } = useFirmPathResolver()\n const { push } = useRouterPush()\n\n const handleOnClick = () => {\n setSelectedNews(newsFeed)\n\n push(resolve(`${RoutesEnum.NEWS}/${newsFeed.id}/details`))\n }\n\n return (\n \n \n \n \n )\n}\n\n\nexport default NewsCard\n","import { CardContent, Container } from '@mui/material'\nimport { useTranslations } from '~/src/hooks/useTranslations'\nimport ContentContainer from '~/src/components/utils/layout/ContentContainer'\n\nconst NoNews = () => {\n const { t } = useTranslations()\n\n return (\n \n \n \n {t('news.no_news_message')}\n \n \n \n )\n}\n\nexport default NoNews\n","import useFetchNewsFeed from '~/src/hooks/news/useFetchNewsFeed'\nimport { useEffect } from 'react'\nimport InPageLoader from '~/src/components/loader/InPageLoader'\nimport GridList from '~/src/components/mui-wrappers/grid-list/GridList'\nimport GridListItem from '~/src/components/mui-wrappers/grid-list/GridListItem'\nimport { NewsFeed } from '@eo-storefronts/eo-core'\nimport NewsCard from '~/src/components/news/NewsCard'\nimport NoNews from '~/src/components/news/NoNews'\nimport { useEoValue } from '~/src/hooks/useEoState'\nimport { LAYOUT_STATE } from '~/src/stores/layout'\nimport { NEWS_STATE } from '~/src/stores/news'\nimport { useCustomMuiTheme } from '~/src/hooks/useCustomMuiTheme'\n\nconst NewsContainer = () => {\n const { isLoading, fetch } = useFetchNewsFeed()\n const news = useEoValue(NEWS_STATE)\n const { isMobile } = useEoValue(LAYOUT_STATE)\n const theme = useCustomMuiTheme()\n\n useEffect(() => {\n void fetch()\n }, [])\n\n if (isLoading) {\n return \n }\n\n if (!news.length) {\n return \n }\n\n return (\n \n {news.map((newsFeed: NewsFeed) => (\n \n \n \n ))}\n \n )\n}\n\nexport default NewsContainer\n\n","import { SxProps } from '@mui/material'\nimport TemplateServiceStyleBase from '~/src/utils/template/TemplateServiceStyleBase'\nimport StylesNewsServiceInterface from '~/src/pages/news/styles/StylesNewsServiceInterface'\n\nexport default class StylesNewsServiceStyleTwo extends TemplateServiceStyleBase implements StylesNewsServiceInterface {\n public getPageSx(): SxProps {\n return {}\n }\n\n getGoBackButtonSx(): SxProps {\n return {}\n }\n\n getGridListSx(): SxProps {\n return {}\n }\n\n getLocationHeaderSx(): SxProps {\n return {}\n }\n\n getTitleSx(): SxProps {\n return {}\n }\n\n getLoadingSpinnerSx(): SxProps {\n return {}\n }\n}\n","import { SxProps } from '@mui/material'\nimport TemplateServiceStyleBase from '~/src/utils/template/TemplateServiceStyleBase'\nimport StylesNewsServiceInterface from '~/src/pages/news/styles/StylesNewsServiceInterface'\n\nexport default class StylesNewsServiceStyleThree extends TemplateServiceStyleBase implements StylesNewsServiceInterface {\n public getPageSx(): SxProps {\n return {\n py: 5,\n display: 'flex',\n flexDirection: 'column',\n gap: 5,\n [this.muiTheme.breakpoints.down('md')]: {\n gap: 2,\n px: 2,\n pt: `calc(var(--eo-safe-area-top) + ${this.muiTheme.spacing(5)})`,\n pb: 2\n }\n }\n }\n\n public getGoBackButtonSx(): SxProps {\n return {\n position: 'absolute',\n borderRadius: '9999px',\n minWidth: 'unset',\n p: 1.5,\n border: 'none',\n color: 'inherit',\n boxShadow: this.muiTheme.elevation,\n top: '-5px'\n }\n }\n\n public getLocationHeaderSx(): SxProps {\n return {\n position: 'relative'\n }\n }\n\n public getTitleSx(): SxProps {\n return {\n [this.muiTheme.breakpoints.down('md')]: {\n textAlign: 'center'\n }\n }\n }\n\n public getGridListSx(): SxProps {\n return {\n p: '0 !important'\n }\n }\n\n public getLoadingSpinnerSx(): SxProps {\n return {\n display: 'flex',\n justifyContent: 'center',\n mt: 20\n }\n }\n}\n","import { SxProps } from '@mui/material'\nimport TemplateServiceStyleBase from '~/src/utils/template/TemplateServiceStyleBase'\nimport StylesNewsServiceInterface from '~/src/pages/news/styles/StylesNewsServiceInterface'\n\nexport default class StylesNewsServiceStyleOne extends TemplateServiceStyleBase implements StylesNewsServiceInterface {\n public getPageSx(): SxProps {\n return {}\n }\n\n getGoBackButtonSx(): SxProps {\n return {}\n }\n\n getGridListSx(): SxProps {\n return {}\n }\n\n getLoadingSpinnerSx(): SxProps {\n return {}\n }\n\n getLocationHeaderSx(): SxProps {\n return {}\n }\n\n getTitleSx(): SxProps {\n return {}\n }\n}\n","import { CustomMuiTheme } from '~/src/hooks/useCustomMuiTheme'\nimport StylesNewsServiceInterface from '~/src/pages/news/styles/StylesNewsServiceInterface'\nimport StylesNewsServiceStyleTwo from '~/src/pages/news/styles/StylesNewsServiceStyleTwo'\nimport StylesNewsServiceStyleThree from '~/src/pages/news/styles/StylesNewsServiceStyleThree'\nimport StylesNewsServiceStyleOne from '~/src/pages/news/styles/StylesNewsServiceStyleOne'\nimport { TemplateEnum } from '@eo-storefronts/eo-core'\n\nconst getNewsTemplateService = (style: TemplateEnum | null, muiTheme: CustomMuiTheme): StylesNewsServiceInterface => {\n switch (style) {\n case TemplateEnum.STYLE_TWO:\n return new StylesNewsServiceStyleTwo(muiTheme)\n case TemplateEnum.STYLE_THREE:\n return new StylesNewsServiceStyleThree(muiTheme)\n default:\n return new StylesNewsServiceStyleOne(muiTheme)\n }\n}\n\nexport default getNewsTemplateService\n","import useGetPageStyle from '~/src/hooks/layout/useGetPageStyle'\nimport { useLayout } from '~/src/hooks/layout/useLayout'\nimport { useCustomMuiTheme } from '~/src/hooks/useCustomMuiTheme'\nimport StylesNewsServiceInterface from '~/src/pages/news/styles/StylesNewsServiceInterface'\nimport getNewsTemplateService from '~/src/pages/news/styles/GetNewsTemplateService'\n\nconst useGetNewsTemplate = (): StylesNewsServiceInterface => {\n const muiTheme = useCustomMuiTheme()\n const pageStyle = useGetPageStyle('news')\n\n useLayout('news')\n\n return getNewsTemplateService(pageStyle, muiTheme)\n}\n\nexport default useGetNewsTemplate\n","import { Box } from '@mui/material'\nimport PageHeader from '~/src/components/marketplace/utils/PageHeader'\nimport GoBackToTheShopButton from '~/src/components/navigation/GoBackToTheShopButton'\nimport NewsContainer from '~/src/components/news/NewsContainer'\nimport useGetNewsTemplate from '~/src/pages/news/styles/useGetNewsTemplate'\nimport DocumentTitleInjector from '~/src/components/root/DocumentTitleInjector'\nimport { useEoValue } from '~/src/hooks/useEoState'\nimport { useTranslations } from '~/src/hooks/useTranslations'\nimport { LAYOUT_STATE } from '~/src/stores/layout'\nimport RoutesEnum from '~/src/router/enums/routes.enum'\nimport SlideFromRight from '~/src/components/mui-wrappers/animations/motion/SlideFromRight'\n\nconst News = () => {\n const pageName: keyof typeof RoutesEnum = 'NEWS'\n\n const { isMobile } = useEoValue(LAYOUT_STATE)\n const { t } = useTranslations()\n\n useGetNewsTemplate()\n\n return (\n \n \n { !isMobile && (\n \n \n \n )}\n \n \n \n )\n}\n\nexport default News\n"],"names":["useFetchNewsFeed","isLoading","setIsLoading","useState","data","setData","error","setError","setNewsState","useSetEoState","NEWS_STATE","firm","useEoValue","FIRM_SELECTOR","brand","BRAND_STATE","setState","fetchNewsFeed","e","NewsCardContent","newsFeed","jsxs","CardContent","jsx","Typography","Title","NewsCard","setSelectedNews","SELECTED_NEWS_STATE","resolve","useFirmPathResolver","push","useRouterPush","handleOnClick","RoutesEnum","Card","CardMedia","NoNews","t","useTranslations","Container","ContentContainer","NewsContainer","fetch","news","isMobile","LAYOUT_STATE","theme","useCustomMuiTheme","useEffect","InPageLoader","GridList","GridListItem","StylesNewsServiceStyleTwo","TemplateServiceStyleBase","StylesNewsServiceStyleThree","StylesNewsServiceStyleOne","getNewsTemplateService","style","muiTheme","TemplateEnum","useGetNewsTemplate","pageStyle","useGetPageStyle","useLayout","News","pageName","SlideFromRight","DocumentTitleInjector","Box","GoBackToTheShopButton","PageHeader"],"mappings":"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"}