{
  "version": 3,
  "sources": ["../../../../../../owl-nest/ulule/features/project/src/public/views/detail/tabs/news/index.tsx", "../../../../../../owl-nest/ulule/features/project/src/public/views/detail/tabs/news/AddNews.tsx", "../../../../../../owl-nest/ulule/features/project/src/public/views/detail/tabs/news/Event/index.tsx", "../../../../../../owl-nest/ulule/features/project/src/public/views/detail/tabs/news/Event/Events.tsx", "../../../../../../owl-nest/ulule/features/project/src/public/views/detail/tabs/news/Event/Base.tsx"],
  "sourcesContent": ["import * as React from 'react'\nimport * as Redux from 'react-redux'\nimport styled from 'styled-components'\n\nimport * as api from '@owl-nest/api-client/latest'\nimport * as models from '@owl-nest/models'\nimport { t } from '@owl-nest/localize'\nimport { Button } from '@ulule/owl-kit-components/next'\n\nimport { AddNews } from './AddNews'\nimport { SidebarNewsCTA, SidebarRewardsCTA, SidebarDonationCTA } from '../../components/Sidebar'\nimport { News } from './News'\nimport { Event } from './Event'\nimport * as Styles from '../../style'\nimport { RootState } from '../../../../../reducers'\nimport { State as EventState } from '../../../../../reducers/events'\nimport * as eventAction from '../../../../../actions/events'\nimport { useListLoadingIndicator } from '../../hooks/useListLoadingIndicator'\nimport { TRACKING_SOURCE } from '../../utils/trackerEnums'\nimport { DisplayMode } from '../../../../context'\n\nimport type { ExtraFields, Project } from '../../../../models/project'\n\nexport function NewsTab(): React.ReactElement<unknown> {\n  const project = Redux.useSelector<RootState, Project>((state) => state.application.project.data)\n  const events = Redux.useSelector<RootState, EventState>((state) => state.application.events)\n  const dispatch = Redux.useDispatch()\n  const isEditMode = React.useContext(DisplayMode) === 'edit'\n\n  React.useEffect(() => {\n    dispatch(\n      eventAction.load(project, {\n        pagination: `?limit=${5}&since=${Math.floor(Date.now() / 1000)}`,\n        forceClean: true,\n        loadDrafts: true,\n      }),\n    )\n  }, [])\n\n  const list = events.list\n  const hasMore = list && list.next !== null\n  const hasNews = list && list.events.some((event) => event.type === api.EventType.NEWS)\n  const [isLoading, markLoadingStart] = useListLoadingIndicator(list?.events.length)\n\n  const indexFirstNews = list?.events.findIndex((event) => event.type === api.EventType.NEWS)\n\n  return (\n    <Styles.Main isEditMode={isEditMode}>\n      <Styles.Wrapper isEditMode={isEditMode}>\n        <Styles.Content isEditMode={isEditMode}>\n          <Feed>\n            {isEditMode ? <AddNews /> : !hasNews && <FullNewsCTA source={TRACKING_SOURCE.NEWS} />}\n\n            {events.draftNews.map((news) => {\n              return <News key={news.id} news={news} />\n            })}\n            {list?.events.map((event, index) => {\n              if (event.type === api.EventType.NEWS) {\n                const news = event.data\n                return <News key={news.id} news={news} full={index === indexFirstNews} />\n              } else {\n                return <Event key={Math.random()} event={event} />\n              }\n            })}\n          </Feed>\n          {hasMore && list && (\n            <SeeMoreWrapper>\n              <Button\n                kind=\"secondary\"\n                loading={isLoading}\n                onClick={() => {\n                  if (list.next) {\n                    dispatch(eventAction.load(project, { pagination: list.next }))\n                    markLoadingStart()\n                  }\n                }}\n              >\n                {t('See more')}\n              </Button>\n            </SeeMoreWrapper>\n          )}\n        </Styles.Content>\n        <Styles.Sidebar isEditMode={isEditMode}>\n          {models.project.isDonationBased(project) ? <SidebarDonationCTA /> : <SidebarRewardsCTA />}\n          {(isEditMode || hasNews) && <SidebarNewsCTA source={TRACKING_SOURCE.NEWS} />}\n        </Styles.Sidebar>\n      </Styles.Wrapper>\n    </Styles.Main>\n  )\n}\n\nconst FullNewsCTA = styled(SidebarNewsCTA)`\n  max-width: 620px;\n  margin-left: auto;\n  margin-right: auto;\n`\n\nconst Feed = styled.div`\n  & > *:first-child::before {\n    top: 0;\n  }\n\n  & > *:last-child::before {\n    bottom: 0;\n  }\n`\n\nconst SeeMoreWrapper = styled.div`\n  display: flex;\n  justify-content: center;\n`\n", "import * as React from 'react'\nimport * as Redux from 'react-redux'\nimport styled from 'styled-components'\n\nimport * as plume from '@ulule/owl-kit-components/next'\nimport { t } from '@owl-nest/localize'\nimport * as model from '@owl-nest/models'\n\nimport * as URLs from '../../../../utils/URLs'\nimport * as projectModel from '../../../../models/project'\nimport { RootState } from '../../../../../reducers'\nimport * as UFE from '../../../../../UFE'\n\nconst News = styled.div`\n  border: 1px solid ${plume.COLORS.PRIMARY_SAND};\n  height: auto;\n  justify-content: baseline;\n  text-align: center;\n  padding: 21px 18px;\n  background-color: ${plume.COLORS.PRIMARY_WHITE};\n  transition: 0.3s ease;\n  margin-bottom: 45px;\n\n  &:hover {\n    box-shadow: ${plume.EFFECTS.SHADOW_2};\n  }\n`\n\nconst TitleBlock = styled.div`\n  display: flex;\n  align-items: center;\n  align-content: center;\n  justify-content: center;\n`\nconst Icon = styled.a`\n  display: inline-flex;\n  align-items: center;\n  align-content: center;\n  justify-content: center;\n  margin-right: 8px;\n  margin-top: 5px;\n  height: 33px;\n  width: 33px;\n  border-radius: 50%;\n  background-color: ${plume.COLORS.BLUE_SHADE_1};\n\n  svg {\n    max-width: 19px;\n    max-height: 19px;\n    fill: ${plume.COLORS.PRIMARY_BLUE};\n  }\n`\n\nconst LinkToNewsCreation = styled(plume.styles.heading.L)`\n  text-decoration: none;\n`\n\nexport function AddNews(): React.ReactElement<unknown> {\n  const project = Redux.useSelector<RootState, projectModel.Project>((state) => state.application.project.data)\n  const newsHelper = model.i18n.get(UFE.LINKS.newsHelper)\n\n  return (\n    <News>\n      <TitleBlock>\n        <Icon href={URLs.getAddNewsURL(project)}>\n          <plume.glyphs.stroke.Plus />\n        </Icon>\n        <LinkToNewsCreation as=\"a\" href={URLs.getAddNewsURL(project)}>\n          {t('Add a post')}\n        </LinkToNewsCreation>\n      </TitleBlock>\n      <plume.styles.copy.S>\n        <plume.Link target=\"_blank\" rel=\"nooponer noreferrer\" href={newsHelper} tinted>\n          {t('10 tips for successful posts')}\n        </plume.Link>\n      </plume.styles.copy.S>\n    </News>\n  )\n}\n", "import * as React from 'react'\n\nimport * as api from '@owl-nest/api-client/latest'\n\nimport * as events from './Events'\nimport { EventProps } from './type'\n\nexport function Event({ event }: EventProps): React.ReactElement<EventProps> {\n  switch (event.type) {\n    case api.EventType.PROJECT_START: {\n      return <events.ProjectStart event={event} />\n    }\n    case api.EventType.PROJECT_END: {\n      return <events.ProjectEnd event={event} />\n    }\n    case api.EventType.PROJECT_END_EXTRATIME: {\n      return <events.ProjectEndExtratime event={event} />\n    }\n    case api.EventType.PERCENT_RAISED: {\n      if (event.data.percent === 100) {\n        return <events.GoalMet event={event} />\n      }\n      return <events.PercentRaised event={event} />\n    }\n    case api.EventType.FIRST_ORDER: {\n      return <events.FirstOrder event={event} />\n    }\n    case api.EventType.SPONSORSHIP: {\n      return <events.Sponsorship event={event} />\n    }\n  }\n}\n", "import * as React from 'react'\nimport * as Redux from 'react-redux'\n\nimport { t } from '@owl-nest/localize'\nimport * as api from '@owl-nest/api-client/latest'\nimport { illustrations, styles as S } from '@ulule/owl-kit-components/next'\nimport * as model from '@owl-nest/models'\n\nimport { SponsorshipTag } from '../../../components/SponsorshipTag'\nimport { RootState } from '../../../../../../reducers'\n\nimport { EventProps } from './type'\nimport { EventBase } from './Base'\nimport { User } from '../component/User'\n\nexport function ProjectStart({\n  event,\n}: EventProps<api.EventProjectStart>): React.ReactElement<EventProps<api.EventProjectStart>> {\n  return <EventBase date={event.time} title={t('Project started')} />\n}\n\nexport function ProjectEnd({\n  event,\n}: EventProps<api.EventProjectEnd>): React.ReactElement<EventProps<api.EventProjectEnd>> {\n  if (event.data.has_extra_time) {\n    return <EventBase date={event.time} title={t('Extended campaign')} />\n  } else if (event.data?.goal_status === api.EventGoalStatus.SUCCESS) {\n    return (\n      <EventBase\n        done\n        date={event.time}\n        title={t('Project ended')}\n        icon={<illustrations.twoToned.HeartWithConfetti size={40} inverted noBackground />}\n      />\n    )\n  }\n\n  return <EventBase date={event.time} title={t('Project ended')} />\n}\n\nexport function ProjectEndExtratime({\n  event,\n}: EventProps<api.EventProjectEndExtraTime>): React.ReactElement<EventProps<api.EventProjectEndExtraTime>> {\n  return (\n    <EventBase\n      done\n      date={event.time}\n      title={t('Project ended')}\n      icon={<illustrations.twoToned.HeartWithConfetti size={40} inverted noBackground />}\n    />\n  )\n}\n\nexport function GoalMet({\n  event,\n}: EventProps<api.EventPercentRaised>): React.ReactElement<EventProps<api.EventPercentRaised>> {\n  return (\n    <EventBase\n      done\n      date={event.time}\n      title={t('%(percent)s raised', { percent: `${event.data.percent}%` })}\n      icon={<illustrations.twoToned.CrackedEgg size={36} inverted noBackground />}\n    />\n  )\n}\n\nexport function PercentRaised({\n  event,\n}: EventProps<api.EventPercentRaised>): React.ReactElement<EventProps<api.EventPercentRaised>> {\n  return <EventBase date={event.time} title={t('%(percent)s raised', { percent: `${event.data.percent}%` })} />\n}\n\nexport function FirstOrder({\n  event,\n}: EventProps<api.EventFirstOrder>): React.ReactElement<EventProps<api.EventFirstOrder>> | null {\n  if (!event.data.user) {\n    return null\n  }\n\n  return <EventBase date={event.time} title={t('First backer')} backer={<User user={event.data.user} />} />\n}\n\nexport function Sponsorship({\n  event,\n}: EventProps<api.EventSponsorship>): React.ReactElement<EventProps<api.EventSponsorship>> {\n  const project = Redux.useSelector<RootState, api.Project>((state) => state.application.project.data)\n\n  return (\n    <EventBase\n      date={event.time}\n      title={t('New sponsor')}\n      sponsor={\n        <>\n          <S.image.Avatar type=\"extra-small\" src={model.sponsorship.avatar(event.data, 'small')} />\n          <S.heading.XS>{event.data.sponsor.name}</S.heading.XS>\n        </>\n      }\n      tag={<SponsorshipTag sponsorship={event.data} project={project} />}\n    />\n  )\n}\n", "import * as React from 'react'\nimport styled from 'styled-components'\n\nimport * as dateUtils from '@owl-nest/date'\nimport { COLORS, Pastille, styles as S } from '@ulule/owl-kit-components/next'\n\ntype EventBaseProps = {\n  date: string\n  title: string\n  done?: boolean\n  icon?: React.ReactNode\n  backer?: React.ReactNode\n  sponsor?: React.ReactNode\n  tag?: React.ReactNode\n}\n\nexport function EventBase({\n  date,\n  title,\n  done,\n  icon,\n  backer,\n  tag,\n  sponsor,\n}: EventBaseProps): React.ReactElement<EventBaseProps> {\n  return (\n    <Tiki done={done} icon={!!icon}>\n      {icon && (\n        <Pastille size=\"small\" style={{ backgroundColor: COLORS.BRAND_ACCENT_GREEN }}>\n          {icon}\n        </Pastille>\n      )}\n      <S.heading.XXXXXS>{dateUtils.format(dateUtils.parseISO(date), 'dd MMMM yyyy')}</S.heading.XXXXXS>\n      <Title>{title}</Title>\n      {backer}\n      {sponsor && <Sponsor>{sponsor}</Sponsor>}\n      {tag}\n    </Tiki>\n  )\n}\n\nconst Title = styled.div<{ done?: boolean }>`\n  font-weight: bold;\n  font-size: 18px;\n  line-height: 25px;\n  margin-bottom: 5px;\n`\nconst Tiki = styled.div<{ done?: boolean; icon?: boolean }>`\n  background-color: ${({ done }) => (done ? COLORS.SECONDARY_GREEN_800 : COLORS.PRIMARY_SAND)};\n  margin: ${({ icon }) => (icon ? '70px auto 40px' : '40px auto')};\n  text-align: center;\n  max-width: 346px;\n  padding-bottom: 8px;\n  position: relative;\n\n  &::before {\n    content: '';\n    position: absolute;\n    z-index: -1;\n    top: -40px;\n    left: 50%;\n    bottom: -40px;\n    border: 1px dashed ${COLORS.GREY_SHADE_4};\n    background: ${COLORS.PRIMARY_WHITE};\n  }\n\n  ${S.heading.XXXXXS} {\n    padding-top: ${({ icon }) => (icon ? '41px' : '11px')};\n    color: ${({ done }) => (done ? COLORS.PRIMARY_WHITE : COLORS.GREY_SHADE_2)};\n  }\n\n  ${Title} {\n    color: ${({ done }) => (done ? COLORS.PRIMARY_WHITE : COLORS.GREY_SHADE_2)};\n  }\n\n  ${Pastille} {\n    margin: 0 auto 5px;\n    position: absolute;\n    left: calc(50% - 30px);\n    top: -30px;\n\n    span {\n      font-size: 35px;\n    }\n  }\n\n  ${S.tag.Tag}, ${S.tag.RoleTag} {\n    position: absolute;\n    bottom: -10px;\n    left: 50%;\n    transform: translateX(-50%);\n  }\n`\n\nconst Sponsor = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin: 0 auto 11px;\n\n  ${S.image.Avatar} {\n    margin-right: 5px;\n    flex: none;\n  }\n`\n"],
  "mappings": "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",
  "names": ["init_define_process_env", "init_sentry_release_injection_stub", "React", "init_define_process_env", "init_sentry_release_injection_stub", "React", "_a", "News", "src_default", "__template", "colors_exports", "effects_exports", "_b", "TitleBlock", "_c", "Icon", "_d", "LinkToNewsCreation", "styles_exports", "AddNews", "project", "useSelector", "state", "newsHelper", "i18n_exports", "LINKS", "getAddNewsURL", "glyphs_exports", "Link", "init_define_process_env", "init_sentry_release_injection_stub", "React", "init_define_process_env", "init_sentry_release_injection_stub", "React", "init_define_process_env", "init_sentry_release_injection_stub", "React", "EventBase", "date", "title", "done", "icon", "backer", "tag", "sponsor", "Tiki", "Pastille", "colors_exports", "styles_exports", "format", "Title", "Sponsor", "_a", "src_default", "__template", "_b", "_c", "ProjectStart", "event", "EventBase", "ProjectEnd", "_a", "illustrations_exports", "ProjectEndExtratime", "GoalMet", "PercentRaised", "FirstOrder", "User", "Sponsorship", "project", "useSelector", "state", "styles_exports", "sponsorship_exports", "SponsorshipTag", "Event", "event", "ProjectStart", "ProjectEnd", "ProjectEndExtratime", "GoalMet", "PercentRaised", "FirstOrder", "Sponsorship", "NewsTab", "project", "useSelector", "state", "events", "dispatch", "useDispatch", "isEditMode", "DisplayMode", "load", "list", "hasMore", "hasNews", "event", "isLoading", "markLoadingStart", "useListLoadingIndicator", "indexFirstNews", "Main", "Wrapper", "Content", "Feed", "AddNews", "FullNewsCTA", "news", "News", "index", "Event", "SeeMoreWrapper", "Button", "Sidebar", "project_exports", "SidebarDonationCTA", "SidebarRewardsCTA", "SidebarNewsCTA", "_a", "src_default", "__template", "_b", "_c"]
}