{ "version": 3, "sources": ["../../../../../../internal/esbuild/entrypoints/modern/classic/channels.ts", "sentry-debug-id-stub:_sentry-debug-id-injection-stub?sentry-module-id=daa6f336-1148-40d7-b85b-b1f3677847d6", "../../../../../../internal/esbuild/entrypoints/modern/classic/channels.ts", "../../src/modern/features/channel/index.js", "../../src/modern/features/channel/store.js", "../../src/modern/redux/reducers/channels.js", "../../src/modern/redux/actions/channels.js", "../../src/modern/features/channel/Router.js", "../../src/modern/features/channel/detail/index.js", "../../src/modern/features/channel/prop-types.js", "../../src/modern/features/channel/detail/views/Partner.js", "../../src/modern/components/BigProjectCard/BigProjectCard.js", "../../src/modern/features/channel/detail/components/EditorialContent.js", "../../src/modern/features/channel/detail/components/ThemedCard/index.js", "../../src/modern/features/channel/detail/components/ThemedCard/styles.js", "../../src/modern/features/channel/styles.js", "../../src/modern/features/channel/detail/components/TaggedProjectList.js", "../../src/modern/components/ChannelSubButton.js", "../../src/modern/features/channel/detail/views/User.js", "../../src/modern/features/channel/detail/components/CuratedProjectList.js", "../../src/modern/features/channel/context.js", "../../src/modern/features/channel/components/ModalChannelNoAuth.js", "../../src/modern/features/channel/components/ModalChannelSuccess.js", "../../src/modern/features/channel/list/index.js", "../../src/modern/features/channel/list/List.js", "../../src/modern/features/channel/list/TvBox.js"], "sourcesContent": ["\n import \"_sentry-debug-id-injection-stub\";\n import * as OriginalModule from \"./internal/esbuild/entrypoints/modern/classic/channels.ts\";\n export default OriginalModule.default;\n export * from \"./internal/esbuild/entrypoints/modern/classic/channels.ts\";", ";{try{let e=\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]=\"d69c3248-e951-4cc0-93ec-badacb56d745\",e._sentryDebugIdIdentifier=\"sentry-dbid-d69c3248-e951-4cc0-93ec-badacb56d745\")}catch(e){}};", "import '@owl-nest/polyfill'\nimport '../../../../../src/ulule/static/site/src/modern/features/init/index.js'\nimport '../../../../../src/ulule/static/site/src/modern/features/channel/index.js'\n", "import * as React from 'react'\nimport * as ReactDOM from 'react-dom/client'\nimport { Provider } from 'react-redux'\nimport { BrowserRouter as Router } from 'react-router-dom'\n\nimport { getCurrentLanguage, getDefaultLanguage } from '$features/init/language'\n\nimport store from './store'\n\nimport ChannelRouter from './Router'\n\nconst Channel = (language, country) => {\n const container = document.querySelector('#js-channels-app')\n\n const root = ReactDOM.createRoot(container)\n root.render(\n \n \n \n \n \n )\n}\n\nwindow.addEventListener('js:location:loaded', (event) => {\n const currentLocation = event.detail\n const currentCountryCode =\n currentLocation && currentLocation.country_code ? currentLocation.country_code : window.UFE.defaultCountry\n\n const currentLanguage = getCurrentLanguage() || getDefaultLanguage()\n\n Channel(currentLanguage, currentCountryCode)\n})\n", "import { applyMiddleware, combineReducers, createStore } from 'redux'\nimport { thunk } from 'redux-thunk'\n\nimport { callAPIMiddleware } from '$redux/middleware/callAPI'\nimport { channels } from '$redux/reducers/channels'\nimport partners from '$redux/reducers/partner'\n\nimport config from '$utils/config'\n\nconfig.set({\n ...window.CHANNEL_LIST_DATA,\n channel: window.CHANNEL_DATA\n})\n\nconst reducers = combineReducers({\n channels,\n partners\n})\n\nexport default createStore(\n reducers,\n {\n channels: {\n detail: {\n showFirstTime: false,\n showNoAuth: false,\n subscriptionStatus: 'PRISTINE',\n error: false,\n isLoading: false,\n channel: config.get('channel')\n }\n }\n },\n applyMiddleware(thunk, callAPIMiddleware)\n)\n", "import { combineReducers } from 'redux'\n\nimport * as ActionTypes from '../actions/channels'\n\nconst initialState = {\n detail: {\n showFirstTime: false,\n showNoAuth: false,\n subscriptionStatus: 'PRISTINE',\n error: false,\n isLoading: false,\n channel: null\n },\n list: {\n showFirstTime: false,\n showNoAuth: false,\n subscriptionStatus: 'PRISTINE',\n channels: null,\n error: false,\n isLoadingChannels: false,\n meta: null\n }\n}\n\nconst channelDetail = (state = initialState.detail, action) => {\n switch (action.type) {\n case ActionTypes.GET_CHANNEL_REQUEST: {\n return {\n ...state,\n isLoading: true\n }\n }\n\n case ActionTypes.GET_CHANNEL_SUCCESS: {\n const channel = action.response\n\n return {\n ...state,\n error: null,\n channel,\n isLoading: false\n }\n }\n\n // TODO: More detailed error handling\n case ActionTypes.GET_CHANNEL_FAILURE: {\n const { error } = action\n\n return {\n ...state,\n ...(error && { error: true }),\n channel: null,\n isLoading: false\n }\n }\n case ActionTypes.SUBSCRIBE_DETAIL_CHANNEL_REQUEST: {\n return {\n ...state,\n subscriptionStatus: 'PENDING'\n }\n }\n case ActionTypes.SUBSCRIBE_DETAIL_CHANNEL_SUCCESS: {\n const { isSubscribed, response } = action\n return {\n ...state,\n subscriptionStatus: 'SUCCESS',\n showFirstTime: response === 1,\n channel: {\n ...state.channel,\n is_subscribed: !isSubscribed\n }\n }\n }\n case ActionTypes.SUBSCRIBE_DETAIL_CHANNEL_FAILURE: {\n return {\n ...state,\n subscriptionStatus: 'FAILURE'\n }\n }\n case ActionTypes.CLOSE_MODALS:\n return {\n ...state,\n showFirstTime: false,\n showNoAuth: false\n }\n case ActionTypes.OPEN_NO_AUTH:\n return {\n ...state,\n showNoAuth: true\n }\n default:\n return state\n }\n}\n\nconst channelList = (state = initialState.list, action) => {\n switch (action.type) {\n case ActionTypes.GET_CHANNELS_SUCCESS: {\n const channels = state.channels ? [...state.channels, ...action.response.channels] : action.response.channels\n const meta = action.response.meta\n\n return {\n ...state,\n channels,\n meta,\n isLoadingChannels: false\n }\n }\n\n case ActionTypes.GET_CHANNELS_REQUEST: {\n return {\n isLoadingChannels: true,\n ...state\n }\n }\n case ActionTypes.GET_CHANNELS_FAILURE: {\n const { error } = action\n return {\n ...state,\n ...(error && { error: true }),\n channels: null,\n isLoadingChannels: false\n }\n }\n\n case ActionTypes.SUBSCRIBE_CHANNEL_REQUEST: {\n return {\n ...state,\n subscriptionStatus: 'PENDING'\n }\n }\n case ActionTypes.SUBSCRIBE_CHANNEL_SUCCESS: {\n const { response } = action\n\n return {\n ...state,\n subscriptionStatus: 'SUCCESS',\n showFirstTime: response === 1,\n channels: state.channels.map(channel => {\n if (channel.id === action.id) {\n return {\n ...channel,\n is_subscribed: !action.isSubscribed\n }\n }\n return channel\n })\n }\n }\n case ActionTypes.SUBSCRIBE_CHANNEL_FAILURE: {\n return {\n ...state,\n subscriptionStatus: 'FAILURE'\n }\n }\n\n case ActionTypes.CLOSE_MODALS: {\n return {\n ...state,\n showFirstTime: false,\n showNoAuth: false\n }\n }\n case ActionTypes.OPEN_NO_AUTH: {\n return {\n ...state,\n showNoAuth: true\n }\n }\n\n default:\n return state\n }\n}\n\nexport const channels = combineReducers({\n detail: channelDetail,\n list: channelList\n})\n", "import { api } from '$utils/apiRequester'\n\nexport const GET_CHANNEL_REQUEST = 'GET_CHANNEL_REQUEST'\nexport const GET_CHANNEL_SUCCESS = 'GET_CHANNEL_SUCCESS'\nexport const GET_CHANNEL_FAILURE = 'GET_CHANNEL_FAILURE'\n\nexport const GET_CHANNELS_REQUEST = 'GET_CHANNELS_REQUEST'\nexport const GET_CHANNELS_SUCCESS = 'GET_CHANNELS_SUCCESS'\nexport const GET_CHANNELS_FAILURE = 'GET_CHANNELS_FAILURE'\n\nexport const SUBSCRIBE_CHANNEL_REQUEST = 'SUBSCRIBE_CHANNEL_REQUEST'\nexport const SUBSCRIBE_CHANNEL_SUCCESS = 'SUBSCRIBE_CHANNEL_SUCCESS'\nexport const SUBSCRIBE_CHANNEL_FAILURE = 'SUBSCRIBE_CHANNEL_FAILURE'\n\nexport const SUBSCRIBE_DETAIL_CHANNEL_REQUEST = 'SUBSCRIBE_DETAIL_CHANNEL_REQUEST'\nexport const SUBSCRIBE_DETAIL_CHANNEL_SUCCESS = 'SUBSCRIBE_DETAIL_CHANNEL_SUCCESS'\nexport const SUBSCRIBE_DETAIL_CHANNEL_FAILURE = 'SUBSCRIBE_DETAIL_CHANNEL_FAILURE'\n\nexport const CLOSE_MODALS = 'CLOSE_MODALS'\nexport const OPEN_NO_AUTH = 'OPEN_NO_AUTH'\n\n/**\n * getChannel\n * @param {number} id ID of the channel to load\n * @return {object} redux action\n */\nexport const getChannel = id => {\n return {\n types: [GET_CHANNEL_REQUEST, GET_CHANNEL_SUCCESS, GET_CHANNEL_FAILURE],\n promise: () => api('ulule').get(`/channels/${id}`)\n }\n}\n\nexport const getChannels = (lang, country, limit = 18, extraFields, isAuthenticated, next) => {\n return {\n types: [GET_CHANNELS_REQUEST, GET_CHANNELS_SUCCESS, GET_CHANNELS_FAILURE],\n promise: () =>\n api('ulule').get(\n `/channels?limit=${limit}${lang ? `&lang=${lang}` : ''}${country ? `&country=${country}` : ''}${\n extraFields && isAuthenticated ? `&extra_fields=${extraFields}` : ''\n }${next ? `&next=${next}` : ''}`,\n {\n withAccessToken: isAuthenticated\n }\n )\n }\n}\nexport const openNoAuth = () => {\n return { type: OPEN_NO_AUTH }\n}\nexport const closeModals = () => {\n return { type: CLOSE_MODALS }\n}\nexport const subscribeChannel = (id, isSubscribed, detailPage = false) => {\n return {\n id,\n isSubscribed,\n types: detailPage\n ? [SUBSCRIBE_DETAIL_CHANNEL_REQUEST, SUBSCRIBE_DETAIL_CHANNEL_SUCCESS, SUBSCRIBE_DETAIL_CHANNEL_FAILURE]\n : [SUBSCRIBE_CHANNEL_REQUEST, SUBSCRIBE_CHANNEL_SUCCESS, SUBSCRIBE_CHANNEL_FAILURE],\n promise: async () => {\n const postRes = await api('ulule').post(`/channels/${id}/${isSubscribed ? 'unsubscribe' : 'subscribe'}`, {\n withAccessToken: true\n })\n return isSubscribed ? false : postRes.subscriptions_count\n }\n }\n}\n", "import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Route, Routes } from 'react-router-dom'\n\nimport config from '$utils/config'\n\nimport ChannelDetail from './detail'\nimport ChannelList from './list'\n\nconfig.set({\n ...window.CHANNEL_LIST_DATA,\n channel: window.CHANNEL_DATA,\n})\n\nconst Router = ({ country, language }) => {\n const channelTvImages = config.get('channelImg')\n\n return (\n \n }\n />\n } />\n \n )\n}\n\nRouter.propTypes = {\n country: PropTypes.string.isRequired,\n language: PropTypes.string.isRequired,\n}\n\nexport default Router\n", "import React from 'react'\nimport PropTypes from 'prop-types'\nimport { connect } from 'react-redux'\nimport { ThemeProvider } from 'styled-components'\n\nimport { COLORS } from '@ulule/owl-kit-components'\n\nimport { getResourceUrl } from '$models/resources'\nimport { projectShape, userShape } from '$utils/prop-types'\n\nimport { editorialContentShape } from '../prop-types'\n\nimport PartnerChannelView from './views/Partner'\nimport UserChannelView from './views/User'\n\nimport * as S from '../styles'\n\nimport { UserSettingsContext } from '../context'\n\nimport { subscribeChannel, openNoAuth, closeModals } from '$redux/actions/channels'\n\nimport ModalChannelNoAuth from '../components/ModalChannelNoAuth'\nimport ModalChannelSuccess from '../components/ModalChannelSuccess'\n\nconst SEARCH_DATA = { ...window.CHANNEL_PAGE_SEARCH_DATA }\n\nconst ChannelPage = ({ channel, showFirstTime, showNoAuth, subscribeChannel, openNoAuth, closeModals }) => {\n const {\n accent_color: accentColor,\n background,\n bg_color: bgColor,\n cta_description: ctaLabel,\n cta_url: ctaUrl,\n description,\n featured_project: featuredProject,\n id,\n is_subscribed: isSubscribed,\n links,\n name,\n partner: channelPartner,\n selection_first: isSelectionFirst,\n slug,\n title,\n user: channelOwner,\n } = channel\n\n const initialSearchSettings = {\n partner: {\n taggedProjects: {\n filters: {\n channels: [id],\n statuses: ['all'],\n },\n sorting: 'new',\n },\n curatedProjects: {\n filters: {\n channels: [id],\n statuses: ['all'],\n },\n sorting: 'position',\n },\n },\n user: {\n taggedProjects: {\n filters: {\n channels: [id],\n statuses: ['all'],\n },\n sorting: 'popular',\n },\n curatedProjects: {\n filters: {\n channels: [id],\n statuses: ['all'],\n },\n sorting: 'position',\n },\n },\n }\n\n const theme = {\n colors: {\n accent: accentColor,\n primary: bgColor || COLORS.PRIMARY_BLUE,\n },\n layout: {\n isLarge: !featuredProject,\n },\n }\n\n const titleImage = getResourceUrl(title)\n\n const context = React.useContext(UserSettingsContext)\n\n const isAuth = context.currentUser && context.currentUser.is_authenticated\n\n const handleSubscription = isAuth ? () => subscribeChannel(id, isSubscribed) : () => openNoAuth()\n\n return (\n \n <>\n closeModals()} />\n closeModals()} />\n \n \n \n {titleImage ? (\n \n ) : (\n {name}\n )}\n \n \n {channelPartner ? (\n \n ) : (\n \n )}\n \n \n )\n}\n\nChannelPage.defaultProps = {\n channel: {},\n}\n\nChannelPage.propTypes = {\n channel: PropTypes.shape({\n accent_color: PropTypes.string,\n background: PropTypes.shape({\n versions: PropTypes.shape({\n full: PropTypes.shape({\n height: PropTypes.number,\n url: PropTypes.string,\n width: PropTypes.number,\n }),\n }),\n }),\n bg_color: PropTypes.string,\n cta_description: PropTypes.string,\n description: PropTypes.string,\n featured_project: projectShape,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n is_subscribed: PropTypes.boolean,\n links: PropTypes.arrayOf(editorialContentShape),\n name: PropTypes.string.isRequired,\n partner: PropTypes.shape({\n name: PropTypes.string,\n }),\n title: PropTypes.shape({\n value: PropTypes.string.isRequired,\n versions: PropTypes.shape({\n full: PropTypes.shape({\n height: PropTypes.string,\n url: PropTypes.string.isRequired,\n width: PropTypes.string,\n }).isRequired,\n }),\n }),\n user: userShape.isRequired,\n }),\n}\n\nconst mapStateToProps = (state) => ({\n channel: state.channels.detail.channel,\n error: state.channels.detail.error,\n isLoading: state.channels.detail.isLoading,\n showFirstTime: state.channels.detail.showFirstTime,\n showNoAuth: state.channels.detail.showNoAuth,\n})\n\nconst mapDispatchToProps = (dispatch) => ({\n subscribeChannel(id, isSubscribed) {\n dispatch(subscribeChannel(id, isSubscribed, true))\n },\n openNoAuth() {\n dispatch(openNoAuth())\n },\n closeModals() {\n dispatch(closeModals())\n },\n})\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ChannelPage)\n", "import PropTypes from 'prop-types'\n\nexport const editorialContentShape = PropTypes.shape({\n ctaLabel: PropTypes.string,\n ctaLink: PropTypes.string,\n description: PropTypes.objectOf(PropTypes.string).isRequired,\n image: PropTypes.shape({\n value: PropTypes.string.isRequired,\n versions: PropTypes.shape({\n full: PropTypes.shape({\n height: PropTypes.string,\n url: PropTypes.string.isRequired,\n width: PropTypes.string\n }).isRequired\n })\n }),\n title: PropTypes.string,\n url: PropTypes.string,\n video: PropTypes.string\n})\n", "import React from 'react'\nimport PropTypes from 'prop-types'\nimport { connect } from 'react-redux'\n\nimport { t, tc } from '@owl-nest/localize'\nimport { LoadMoreButton } from '@ulule/owl-kit-components'\n\nimport { listPartnerProjects } from '$redux/actions/partner'\nimport { projectShape, userShape } from '$utils/prop-types'\n\nimport { editorialContentShape } from '../../prop-types'\n\nimport BigProjectCard from '$components/BigProjectCard/BigProjectCard'\nimport EditorialContent from '../components/EditorialContent'\nimport ProjectList from '$components/ProjectsList/ProjectsList'\nimport SponsorshipTracker from '$components/SponsorshipTracker/SponsorshipTracker'\nimport TaggedProjectList from '../components/TaggedProjectList'\n\nimport ChannelSubButton from '$components/ChannelSubButton'\n\nimport * as S from '../../styles'\n\nconst CURRENCY_RATES = window.CURRENCIES && { ...window.CURRENCIES.RATES }\nconst { remindMe: REMIND_ME_IMAGE } = { ...window.CHANNEL_PAGE_TAGGED_PROJECTS_ASSETS }\nconst URLS = { ...window.UFE.urls }\n\nconst Partner = ({\n channelDescription,\n channelName,\n channelOwnerProfileURL,\n channelSlug,\n ctaLabel,\n ctaUrl,\n currentCurrency,\n currentLanguage,\n currentUser,\n editorialContent,\n featuredProject,\n initialSearchSettings,\n isSelectionFirst,\n listProjects,\n meta,\n partnerLogo,\n partnerName,\n partnerOwnerId,\n partnerSlug,\n sponsoredProjects,\n sponsoredProjectsAreLoading,\n taggedProjectsData,\n isSubscribed,\n handleSubscription,\n}) => {\n React.useEffect(() => {\n listProjects()\n }, [])\n\n const taggedProjectsNode = (\n \n \n \n )\n\n const sponsorProjectNode = (\n \n \n {tc('[em: %(channelName)s] prizewinners', {\n em: ,\n channelName,\n })}\n \n\n \n \n \n\n {meta && meta.next && (\n \n listProjects(meta.next)}\n translations={{\n initialLabel: t('More projects'),\n errorLabel: t('Retry'),\n }}\n />\n \n )}\n \n )\n\n const hasSponsorProjects = sponsoredProjectsAreLoading || (sponsoredProjects && sponsoredProjects.length > 0)\n\n const taggedProjectsOnFeaturePosition =\n !featuredProject && taggedProjectsData && (!isSelectionFirst || (isSelectionFirst && !hasSponsorProjects))\n const taggedProjectsOnFirstPosition =\n taggedProjectsData &&\n ((!isSelectionFirst && featuredProject) ||\n (isSelectionFirst && ((!featuredProject && hasSponsorProjects) || (featuredProject && !hasSponsorProjects))))\n const taggedrojectsOnLastPosition = isSelectionFirst && featuredProject && hasSponsorProjects && taggedProjectsData\n\n const sponsorProjectsOnFeaturePosition = isSelectionFirst && !featuredProject && hasSponsorProjects\n const sponsorProjectsOnFirstPosition = isSelectionFirst && featuredProject && hasSponsorProjects\n const sponsorProjectsOnLastPosition = !isSelectionFirst && hasSponsorProjects\n\n const dataUTMPageContext = { isFeaturedProject: true, type: 'channel', value: channelName }\n\n return (\n <>\n \n \n handleSubscription()} />\n \n \n \n {featuredProject && (\n \n )}\n {taggedProjectsOnFeaturePosition && taggedProjectsNode}\n {sponsorProjectsOnFeaturePosition && sponsorProjectNode}\n \n\n \n \n \n {t('With the support of')}\n \n \n \n \n \n {channelDescription && (\n \n )}\n {ctaUrl && (\n \n \n {ctaLabel || t('Learn more')}\n \n \n )}\n \n \n \n \n\n {taggedProjectsOnFirstPosition && taggedProjectsNode}\n {sponsorProjectsOnFirstPosition && sponsorProjectNode}\n \n\n \n \n\n {taggedrojectsOnLastPosition && taggedProjectsNode}\n {sponsorProjectsOnLastPosition && sponsorProjectNode}\n \n \n )\n}\n\nPartner.defaultProps = {\n channelDescription: null,\n ctaLabel: null,\n ctaUrl: null,\n editorialContent: [],\n featuredProject: null,\n listProjects: () => {},\n meta: null,\n sponsoredProjects: [],\n sponsoredProjectsAreLoading: true,\n}\n\nPartner.propTypes = {\n channelDescription: PropTypes.string,\n channelName: PropTypes.string.isRequired,\n channelOwnerProfileURL: PropTypes.string.isRequired,\n channelSlug: PropTypes.string.isRequired,\n ctaLabel: PropTypes.string,\n ctaUrl: PropTypes.string,\n currentCurrency: PropTypes.string.isRequired,\n currentLanguage: PropTypes.string.isRequired,\n currentUser: userShape.isRequired,\n editorialContent: PropTypes.arrayOf(editorialContentShape),\n featuredProject: projectShape,\n initialSearchSettings: PropTypes.shape({\n taggedProjects: PropTypes.shape({\n filters: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]))),\n sorting: PropTypes.string,\n }),\n }).isRequired,\n listProjects: PropTypes.func,\n meta: PropTypes.shape({\n limit: PropTypes.number,\n next: PropTypes.string,\n offset: PropTypes.number,\n total_count: PropTypes.number,\n }),\n partnerLogo: PropTypes.string.isRequired,\n partnerName: PropTypes.string.isRequired,\n partnerOwnerId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n partnerSlug: PropTypes.string.isRequired,\n sponsoredProjects: PropTypes.arrayOf(projectShape),\n sponsoredProjectsAreLoading: PropTypes.bool,\n taggedProjectsData: PropTypes.shape({\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n options: PropTypes.arrayOf(PropTypes.shape({})),\n position: PropTypes.number,\n })\n ).isRequired,\n projects: PropTypes.arrayOf(PropTypes.number),\n sorting: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n })\n ).isRequired,\n }).isRequired,\n isSubscribed: PropTypes.bool.isRequired,\n handleSubscription: PropTypes.func.isRequired,\n}\n\nconst mapStateToProps = (state) => ({\n meta: state.partners.meta,\n sponsoredProjects: state.partners.list,\n sponsoredProjectsAreLoading: state.partners.isLoading,\n})\n\nconst mapDispatchToProps = (dispatch, ownProps) => ({\n listProjects: (next = null) => {\n const { currentUser, partnerSlug } = ownProps\n const withAccessToken = currentUser && currentUser.is_authenticated\n const extraFields = withAccessToken ? 'user_role' : null\n const isWinner = true\n const status = 'online'\n\n dispatch(listPartnerProjects({ extraFields, next, partnerSlug, withAccessToken, isWinner, status }))\n },\n})\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Partner)\n", "import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { text } from '@owl-nest/utils'\nimport * as duvet from '@ulule/duvet'\nimport { t, tn } from '@ulule/localize'\n\nimport { getComingSoonLabel, getProgress, getShortCountdown, getFinishTrad } from '$models/projects'\nimport { updateUserRole, saveAction } from '../../features/init/services'\nimport * as cookie from '$utils/cookie'\nimport { projectShape, dataUTMPageContextShape } from '$utils/prop-types'\n\nimport { ModalProjectRemindMe, ModalProjectNoAuth } from '$components/Project/Modals'\n\nconst USER_ROLE_STATUS = {\n neutral: null,\n listed: 'fan',\n created: 'owner',\n backed: 'supporter',\n}\n\nconst LOCALSTORAGE_NAMESPACE = 'ul_modalShowedUp'\nconst COOKIE_MODAL_NAMESPACE = 'ul_modal_remind_me'\n\nconst getRelatedUserRole = (userRole) => {\n switch (userRole) {\n case 'fan':\n return {\n status: 'listed',\n label: t('Listed'),\n apiAction: 'unlike',\n roundButton: {\n text: t('Listed'),\n icon: 'active-heart',\n isCompact: true,\n },\n }\n\n case 'supporter':\n return {\n status: 'backed',\n label: t('Backed'),\n apiAction: null,\n roundButton: {\n text: t('Backed'),\n icon: 'backed',\n },\n }\n\n case 'owner':\n case 'editor':\n case 'moderator':\n return {\n status: 'created',\n label: t('Created'),\n apiAction: null,\n roundButton: {\n text: t('Created'),\n icon: 'created',\n },\n }\n\n default:\n return {\n status: 'neutral',\n label: t('Add to my list'),\n apiAction: 'like',\n roundButton: {\n text: t('Add to my list'),\n icon: 'inactive-heart',\n isCompact: true,\n },\n }\n }\n}\n\nclass BigProjectCard extends React.Component {\n constructor(props) {\n super(props)\n\n const { project } = props\n if (project && project.user_role === undefined) return\n\n this.state = {\n ...getRelatedUserRole(project && project.user_role),\n postAction: {\n onBeforeAction: this.checkAuth,\n onSuccess: this.handleModal,\n onError: this.onError,\n },\n isOpen: false,\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { project } = this.props\n const { status } = this.state\n const prevStatus = prevState && prevState.status\n\n if (status !== prevStatus) {\n if (project && project.user_role === undefined) return\n this.setState({\n ...getRelatedUserRole(USER_ROLE_STATUS[status]),\n })\n }\n\n if (window.localStorage.getItem(LOCALSTORAGE_NAMESPACE) === 'true') {\n return {\n modalShowedUp: true,\n }\n }\n }\n\n handleModal = (project, status) => {\n // we don't want to show modal for unlike event\n if (status && status === 'neutral') return\n\n const { isOpen } = this.state\n\n const { isAuthenticated } = this.props\n const hasCookie = cookie.get(COOKIE_MODAL_NAMESPACE) === 'true'\n if (hasCookie) {\n this.setState({\n modalShowedUp: true,\n })\n }\n\n // do not display modal if project ended\n // also shutdown the modal if cookie is here and\n // user is authenticated\n if ((isAuthenticated && hasCookie) || project.finished) {\n this.setState({\n isOpen: false,\n })\n return\n }\n\n this.setState(\n {\n isOpen: !isOpen,\n },\n () => {\n cookie.set(COOKIE_MODAL_NAMESPACE, true, { expires: +new Date(), path: '/', domain: 'ulule.com' })\n },\n )\n }\n\n onError = () => {\n const { isAuthenticated } = this.props\n\n if (!isAuthenticated) {\n this.setState({\n isOpen: true,\n })\n }\n }\n\n handleCloseModal = () => {\n this.setState({\n isOpen: false,\n })\n }\n\n onClick = (event) => {\n event.preventDefault()\n\n const { project, isAuthenticated } = this.props\n const { apiAction, postAction, status } = this.state\n if (isAuthenticated) {\n if (status && (status === 'created' || status === 'backed')) return\n\n const newStatus = status && status === 'listed' ? 'neutral' : 'listed'\n\n this.setState({\n status: newStatus,\n })\n\n updateUserRole(project && project.id, apiAction).then(() => {\n if (window.dataLayer) {\n window.dataLayer.push({\n event: 'socialInt',\n socialNetwork: 'Ulule',\n socialAction: newStatus === 'listed' ? 'Like' : 'Unlike',\n socialTarget: project && project.absolute_url,\n ululeProjectId: project && project.id,\n })\n }\n postAction.onSuccess(project, newStatus)\n }, postAction.onError)\n return\n }\n saveAction(project.id, apiAction)\n\n postAction.onError()\n }\n\n getStatus = () => {\n const { project } = this.props\n\n const { date_end: endDate, is_in_extra_time: extraTime, finished: isFinished, status: projectStatus } = project\n\n const isOnline = projectStatus === 'online'\n const countdownText = getShortCountdown(project)\n\n if (extraTime) {\n return t('Extension')\n } else if (isFinished) {\n return t('Finished')\n } else if (!endDate) {\n return ''\n }\n\n return isOnline && countdownText\n }\n\n render() {\n const { dataUTMPageContext, project } = this.props\n\n const progress = getProgress(project)\n\n const countdownText = getShortCountdown(project)\n\n const isOnline = project && project.status === 'online'\n const isProjectFinished = project && project.finished\n\n let textFinishProject = t('Finished')\n if (isProjectFinished) {\n textFinishProject = getFinishTrad(project.date_end)\n }\n\n const action =\n project.user_role !== undefined\n ? {\n ...this.state.roundButton,\n onClick: (event) => this.onClick(event),\n }\n : undefined\n\n return (\n \n \n {this.props.isAuthenticated && (\n \n )}\n {!this.props.isAuthenticated && (\n \n )}\n \n )\n }\n}\n\nBigProjectCard.defaultProps = {\n picture: null,\n rates: {},\n ribbonImage: null,\n srcSet: null,\n targetCurrency: 'EUR',\n}\n\nBigProjectCard.propTypes = {\n dataUTMPageContext: dataUTMPageContextShape,\n isAuthenticated: PropTypes.bool.isRequired,\n language: PropTypes.string.isRequired,\n modalImg: PropTypes.shape({\n x1: PropTypes.string,\n x2: PropTypes.string,\n x3: PropTypes.string,\n }).isRequired,\n picture: PropTypes.string,\n project: projectShape.isRequired,\n rates: PropTypes.objectOf(PropTypes.number),\n ribbonImage: PropTypes.string,\n srcSet: PropTypes.string,\n targetCurrency: PropTypes.string,\n}\n\nexport default BigProjectCard\n", "import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { getResourceUrl, getResourceWithLanguage } from '$models/resources'\n\nimport { editorialContentShape } from '../../prop-types'\n\nimport SponsorshipTracker from '$components/SponsorshipTracker/SponsorshipTracker'\nimport ThemedCard from './ThemedCard'\n\nimport * as S from '../../styles'\n\nconst getProperties = content => {\n const ctaLabel = getResourceWithLanguage(content.cta_label)\n const image = getResourceUrl(content.image)\n const text = getResourceWithLanguage(content.description)\n const title = getResourceWithLanguage(content.name)\n\n let videoHtml\n if (content.video) {\n videoHtml = ``\n }\n\n return {\n ctaLabel,\n id: content.id,\n image,\n text,\n title,\n url: content.url,\n videoHtml\n }\n}\n\nconst EditorialContent = ({ channelSlug, editorialContent, partnerOwnerId, partnerSlug }) => {\n if (!editorialContent || editorialContent.length < 1) return null\n\n if (editorialContent.length === 1) {\n const { ctaLabel, image, text, title, url: ctaLink, videoHtml } = getProperties(editorialContent[0])\n\n return (\n \n \n \n )\n }\n\n const nodes = editorialContent.map((content, index) => {\n const { ctaLabel, id, image, text, title, url: ctaLink, videoHtml } = getProperties(content)\n\n return (\n \n \n \n )\n })\n\n return (\n \n {nodes}\n \n )\n}\n\nEditorialContent.defaultProps = {\n channelSlug: 'channel',\n editorialContent: [],\n partnerOwnerId: undefined,\n partnerSlug: undefined\n}\n\nEditorialContent.propTypes = {\n channelSlug: PropTypes.string,\n editorialContent: PropTypes.arrayOf(editorialContentShape),\n partnerOwnerId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n partnerSlug: PropTypes.string\n}\n\nexport default EditorialContent\n", "import React from 'react'\nimport PropTypes from 'prop-types'\nimport { ThemeProvider } from 'styled-components'\n\nimport { Title1, VideoLoader } from '@ulule/owl-kit-components'\n\nimport * as S from './styles'\n\nconst ThemedCard = ({ ctaLabel, ctaLink, image, isVertical, text, theme: parentTheme, title, tracker, videoHtml }) => {\n const theme = {\n ...parentTheme,\n isVertical\n }\n\n const { element: Tracker, props: trackerProps } = tracker\n\n return (\n \n \n {image && (\n \n {videoHtml ? : {title}}\n \n )}\n \n {title && {title}}\n {text && {text}}\n {ctaLabel && ctaLink && (\n \n \n {ctaLabel}\n \n \n )}\n \n \n \n )\n}\n\nThemedCard.defaultProps = {\n ctaLabel: null,\n ctaLink: null,\n image: null,\n isVertical: false,\n text: null,\n theme: {},\n title: null,\n tracker: {\n element: React.Fragment,\n props: {}\n },\n videoHtml: null\n}\n\nThemedCard.propTypes = {\n ctaLabel: PropTypes.string,\n ctaLink: PropTypes.string,\n image: PropTypes.string,\n isVertical: PropTypes.bool,\n text: PropTypes.string,\n theme: PropTypes.shape({}),\n title: PropTypes.string,\n tracker: PropTypes.shape({\n element: PropTypes.elementType,\n props: PropTypes.shape({})\n }),\n videoHtml: PropTypes.string\n}\n\nexport default ThemedCard\n", "import styled from 'styled-components'\n\nimport { COLORS, Title1 } from '@ulule/owl-kit-components'\n\nimport { rem } from '$utils/styles'\n\nexport const CardWrapper = styled.div`\n background-color: ${COLORS.PRIMARY_SAND};\n color: ${COLORS.PRIMARY_WHITE};\n color: ${props => props.theme.colors.primary};\n display: flex;\n flex-direction: column;\n\n ${Title1} {\n color: ${props => props.theme.colors.primary};\n }\n\n @media screen and (min-width: 767px) {\n flex-direction: ${props => (props.theme.isVertical ? 'column' : 'row')};\n\n ${props =>\n props.theme.isVertical\n ? `\n height: 100%;\n padding: 7% 7% 8%;\n `\n : `\n padding: ${rem(42)} ${rem(36)};\n `}\n }\n`\n\nexport const MediaWrapper = styled.div`\n width: 100%;\n\n img {\n width: 100%;\n }\n\n @media screen and (min-width: 767px) {\n margin-right: ${props => (props.theme.isVertical ? 0 : `${rem(50)}`)};\n width: ${props => (props.theme.isVertical ? '100%' : '50%')};\n }\n`\n\nexport const OutlineButton = styled.span`\n align-self: baseline;\n border: 2px solid ${props => props.theme.colors.primary};\n border-radius: 2px;\n bottom: ${props => (props.theme.isVertical ? 0 : 'initial')};\n box-sizing: border-box;\n color: ${props => props.theme.colors.primary};\n display: inline-block;\n font-size: ${rem(13)};\n height: ${rem(48)};\n line-height: ${rem(46)};\n padding: 0 ${rem(32)};\n position: ${props => (props.theme.isVertical ? 'absolute' : 'initial')};\n text-align: center;\n transition: background-color 150ms ease-out, color 150ms ease-out;\n vertical-align: middle;\n width: 100%;\n\n &:focus,\n &:hover {\n background-color: ${props => props.theme.colors.primary};\n color: ${COLORS.PRIMARY_SAND};\n cursor: pointer;\n transition: background-color 200ms ease-in, color 200ms ease-in;\n }\n\n @media screen and (min-width: 767px) {\n width: initial;\n }\n`\n\nexport const Text = styled.div`\n font-size: ${rem(17)};\n font-weight: 300;\n line-height: ${rem(26)};\n margin: ${rem(21)} 0 ${rem(24)};\n margin-bottom: ${props => (props.theme.isVertical ? `${rem(78)}` : `${rem(24)}`)};\n\n @media screen and (min-width: 767px) {\n margin-bottom: ${rem(34)};\n\n ${props =>\n props.theme.isVertical &&\n `\n margin-bottom: ${rem(78)};\n margin-top: ${rem(16)};\n `}\n }\n`\n\nexport const TextWrapper = styled.div`\n margin: ${rem(28)} ${rem(16)};\n position: ${props => (props.theme.isVertical ? 'relative' : 'initial')};\n\n @media screen and (min-width: 767px) {\n margin: 0;\n\n ${props =>\n props.theme.isVertical &&\n `\n display: flex;\n flex-direction: column;\n height: 100%;\n margin-top: ${rem(34)};\n `}\n width: ${props => (props.theme.isVertical ? '100%' : '45%')};\n }\n`\n", "import styled from 'styled-components'\nimport {\n CallToAction,\n COLORS,\n FONTS,\n RegularText,\n SecondaryLink,\n Title1,\n Title2,\n Title5\n} from '@ulule/owl-kit-components'\n\nimport { rem } from '$utils/styles'\n\nconst DEFAULT_GRID_BASIS = 1012\nconst LARGE_GRID_BASIS = 1146\nconst HEIGHT_SHIFT = 128\nconst SPACING = 16\n\n/**\n * CHANNEL PAGE \u2014 HEADER LAYOUT\n */\n\nexport const ChannelPageCover = styled.div`\n background-color: ${props => props.theme.colors.accent || props.theme.colors.primary};\n border-bottom: 4px solid ${props => props.theme.colors.primary};\n min-height: ${rem(250)};\n background-image: ${props => `url(${props.background})`};\n background-position: center bottom;\n background-repeat: no-repeat;\n\n @media screen and (min-width: 768px) {\n min-height: ${rem(350)};\n }\n`\n\nexport const ChannelPageHeader = styled.header`\n position: relative;\n z-index: -1;\n /**\n &:after {\n content: '';\n width: 100%;\n height: 100%;\n display: block;\n position: absolute;\n top: 0px;\n left: 0px;\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 100%);\n }*/\n`\n\nexport const ChannelPageTitleContainer = styled.div`\n margin: auto;\n max-width: ${props => (props.theme.layout.isLarge ? rem(LARGE_GRID_BASIS) : rem(DEFAULT_GRID_BASIS))};\n padding: 0 ${rem(SPACING)};\n position: relative;\n z-index: 1;\n\n @media screen and (max-width: 767px) {\n margin-top: 12%;\n margin-bottom: -${rem(68)};\n }\n`\n\n/**\n * CHANNEL PAGE \u2014 HEADER COMPONENTS\n */\n\nexport const ChannelPageLogo = styled.img`\n bottom: ${rem(HEIGHT_SHIFT - SPACING)};\n margin: 0;\n max-width: 90%;\n position: absolute;\n`\n\nexport const ChannelPageTitle = styled.h1`\n bottom: ${rem(HEIGHT_SHIFT - SPACING)};\n color: ${COLORS.PRIMARY_WHITE};\n font-family: ${FONTS.PRIMARY_FONT};\n font-size: ${rem(55)};\n margin: 0;\n position: absolute;\n font-weight: 900;\n\n @media screen and (min-width: 768px) {\n max-width: 70%;\n font-size: ${rem(65)};\n }\n`\n\n/**\n * CHANNEL PAGE \u2014 BODY LAYOUT\n */\n\nexport const ChannelPageCuratedProjects = styled.div`\n margin-bottom: ${rem(64)};\n`\n\nexport const ChannelPageCuratedProjectsFooter = styled.div`\n margin-top: ${rem(32)};\n text-align: center;\n`\n\nexport const ChannelPageEditorialContent = styled.div`\n margin-bottom: ${rem(46)};\n\n ${props =>\n props.listMode &&\n `\n display: flex;\n justify-content: space-between;\n `}\n\n @media screen and (min-width: 768px) {\n margin-bottom: ${rem(84)};\n }\n`\n\nexport const ChannelPageFullWidthSection = styled.div`\n @media screen and (min-width: 768px) {\n margin: auto;\n max-width: ${props => (props.theme.layout.isLarge ? rem(LARGE_GRID_BASIS) : rem(DEFAULT_GRID_BASIS))};\n padding: 0 ${rem(SPACING)};\n }\n`\nexport const ChannelSubButton = styled.div`\n position: absolute;\n right: 1.230769rem;\n top: -55px;\n`\nexport const ChannelPageGutteredSection = styled.div`\n position: relative;\n margin: auto;\n max-width: ${props => (props.theme.layout.isLarge ? rem(LARGE_GRID_BASIS) : rem(DEFAULT_GRID_BASIS))};\n padding: 0 ${rem(SPACING)};\n\n ${props =>\n !props.theme.layout.isLarge &&\n props.raised &&\n `\n margin-top: -${rem(26)};\n `}\n\n @media screen and (min-width: 768px) {\n ${props =>\n !props.theme.layout.isLarge &&\n props.raised &&\n `\n margin-top: -${rem(90)};\n `}\n }\n`\n\nexport const ChannelPageRightAside = styled.aside`\n margin: 0 auto;\n max-width: ${rem(360)};\n width: 100%;\n\n ${props =>\n props.theme.layout.isLarge &&\n `\n margin-top: -${rem(20)};\n `}\n\n @media screen and (min-width: 768px) {\n ${props =>\n !props.theme.layout.isLarge &&\n `\n margin: 0;\n `}\n }\n`\n\nexport const ChannelPageFeaturedContent = styled.div`\n margin-bottom: ${props => !props.theme.layout.isLarge && `${rem(22)}`};\n width: 100%;\n\n @media screen and (min-width: 768px) {\n margin-bottom: 0;\n margin-right: ${rem(40)};\n }\n`\n\nexport const ChannelPageFeaturedSection = styled.div`\n display: flex;\n flex-direction: column;\n margin-bottom: ${rem(52)};\n\n @media (min-width: 768px) {\n flex-direction: row;\n }\n`\n\n/**\n * CHANNEL PAGE \u2014 BODY COMPONENTS\n */\n\nexport const ChannelPageCuratedProjectList = styled.div`\n margin-top: ${rem(32)};\n\n /* HACK: TODO: If you are reading this and the 'ProjectList' component\n ** has been migrated to SC, please use it here instead of the generic ul/li.\n */\n ul {\n @media screen and (max-width: 767px) {\n margin: 0;\n }\n }\n\n ul > li {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n justify-content: center;\n margin: 0;\n padding: ${rem(SPACING / 2)};\n width: 33%;\n\n @media screen and (max-width: 767px) {\n width: 50%;\n }\n\n @media screen and (max-width: 498px) {\n width: 100%;\n }\n }\n`\n\nexport const ChannelPageCuratedProjectsTitle = styled(Title1)`\n text-align: center;\n\n em {\n color: ${props => props.theme.colors.primary};\n font-style: normal;\n }\n`\n\nexport const ChannelPageEditorialContentItem = styled.li``\n\nexport const ChannelPageEditorialContentList = styled.ul`\n display: block;\n list-style: none;\n\n ${ChannelPageEditorialContentItem} + ${ChannelPageEditorialContentItem} {\n margin-top: ${rem(20)};\n }\n\n @media screen and (min-width: 768px) {\n display: inline-flex;\n\n ${ChannelPageEditorialContentItem} {\n width: ${props => props.itemCount && `${100 / props.itemCount}%`};\n }\n\n ${ChannelPageEditorialContentItem} + ${ChannelPageEditorialContentItem} {\n margin-top: 0;\n margin-left: ${props => (props.itemCount === 2 ? `${rem(46)}` : `${rem(14)}`)};\n }\n }\n`\n\nexport const ChannelPageOwnerCardTitle = styled(Title2)`\n margin-bottom: ${rem(22)};\n`\n\nexport const ChannelPageOwnerCard = styled.div`\n background: #ffffff;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n padding: ${rem(20)} ${rem(14)};\n width: 100%;\n\n ${ChannelPageOwnerCardTitle} {\n text-align: center;\n }\n\n @media (min-width: 768px) {\n padding: ${rem(23)};\n padding-bottom: ${rem(20)};\n }\n`\n\nexport const ChannelPageOwnerCardDescription = styled.div`\n font-size: 15px;\n font-weight: 300;\n line-height: 22px;\n margin-top: ${rem(28)};\n\n strong {\n font-weight: 500;\n }\n`\n\nexport const ChannelPageOwnerCardImage = styled.img`\n max-width: 250px;\n`\n\nexport const ChannelPagePartnerCard = styled.div``\n\nexport const ChannelPagePartnerCardCTA = styled(CallToAction)`\n background-color: ${props => props.theme.colors.primary || COLORS.PRIMARY_BLUE};\n margin-top: ${rem(20)};\n\n &:hover {\n background-color: ${props => props.theme.colors.primary || COLORS.PRIMARY_BLUE};\n opacity: 0.9;\n }\n`\n\nexport const ChannelPageTaggedProjects = styled.div`\n margin-bottom: ${props => (props.theme.layout.isLarge ? `${rem(42)}` : `${rem(62)}`)};\n margin-top: ${props => (props.theme.layout.isLarge ? `${rem(62)}` : 0)};\n\n @media screen and (min-width: 768px) {\n margin-bottom: ${rem(62)};\n margin-top: ${props => (props.theme.layout.isLarge ? `${rem(42)}` : 0)};\n }\n`\n\nexport const ChannelPageTaggedProjectsFooter = styled.footer`\n margin-top: ${rem(32)};\n text-align: center;\n`\n\nexport const ChannelPageTaggedProjectsHeader = styled.header`\n display: flex;\n justify-content: space-between;\n margin-bottom: ${rem(32)};\n width: 100%;\n\n @media screen and (max-width: 767px) {\n justify-content: center;\n }\n\n /* Sorting bar title */\n & > div {\n display: ${props => (!props.theme.layout.isLarge ? `flex` : `block`)};\n\n @media screen and (max-width: 820px) {\n display: block;\n }\n }\n\n strong {\n color: ${props => props.theme.colors.primary};\n font-size: 26px;\n margin-right: ${rem(10)};\n\n ${props =>\n props.theme.layout.isLarge &&\n `\n display: block;\n margin-bottom: ${rem(4)};\n `}\n\n @media screen and (max-width: 820px) {\n display: block;\n margin-bottom: ${rem(10)};\n }\n }\n\n /* Filter dropdown */\n & > span {\n display: none;\n max-height: ${rem(42)};\n\n @media screen and (min-width: 768px) {\n display: inline-flex;\n }\n }\n`\n\nexport const ChannelPageTaggedProjectList = styled.div`\n /* HACK: TODO: If you are reading this and the 'ProjectList' component\n ** has been migrated to SC, please use it here instead of the generic ul/li.\n */\n ul {\n position: relative;\n display: flex;\n flex-flow: row wrap;\n justify-content: center;\n list-style: none;\n margin: -${rem(SPACING * 0.5)};\n padding: 0;\n\n li {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n justify-content: center;\n margin: 0;\n padding: ${rem(SPACING / 2)};\n width: ${props => (props.theme.layout.isLarge ? '33%' : '25%')};\n\n @media screen and (max-width: 1139px) {\n ${props => props.theme.layout.isLarge && `width: 50%`};\n }\n\n @media screen and (max-width: 989px) {\n ${props => !props.theme.layout.isLarge && `width: 33%`};\n }\n\n @media screen and (max-width: 899px) {\n ${props => props.theme.layout.isLarge && `width: 100%`};\n }\n\n @media screen and (max-width: 767px) {\n width: 50%;\n }\n\n @media screen and (max-width: 498px) {\n width: 100%;\n }\n }\n }\n`\n\nexport const ChannelPageTaggedProjectsNoResults = styled.div`\n text-align: center;\n`\n\nexport const ChannelPageTaggedProjectsNoResultsText = styled.div`\n margin-top: ${rem(24)};\n`\n\nexport const ChannelPageTaggedProjectsResetFilters = styled(SecondaryLink)`\n align-items: center;\n display: inline-flex;\n height: ${rem(50)};\n\n > div:first-child {\n color: ${COLORS.GREY_SHADE_4};\n margin-right: ${rem(5)};\n transform: rotate(-180deg);\n transition: transform 200ms ease-out;\n }\n\n &:hover {\n > div:first-child {\n transition: transform 400ms ease-in;\n transform: rotate(180deg);\n }\n }\n`\n\nexport const ChannelPageUserCard = styled.div`\n /* NOTE: Reset image styling applied in the main css */\n img {\n margin: 0;\n }\n`\n\nexport const ChannelPageUserCardLabel = styled.div`\n align-items: center;\n display: flex;\n justify-content: center;\n`\n\nexport const ChannelPageUserCardName = styled(Title1)`\n margin: 0 ${rem(14)};\n max-width: ${rem(150)};\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:hover {\n color: ${props => props.theme.colors.primary};\n }\n`\n\nexport const ChannelPageUserCardProfileLink = styled.a`\n align-items: center;\n display: flex;\n justify-content: center;\n`\n\n/**\n * CHANNEL LIST\n */\n\nexport const ChannelHeader = styled.div`\n background-color: ${COLORS.PRIMARY_BLUE};\n margin-top: -20px;\n padding: 35px 0 60px;\n transform-origin: top left;\n transform: skew(0, -5deg);\n\n @media screen and (min-width: 768px) {\n padding: 7% 0 0 0;\n }\n`\n\nexport const ChannelContainer = styled.div`\n transform: skew(0, 5deg);\n color: ${COLORS.PRIMARY_WHITE};\n max-width: 1080px;\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n margin: 0 auto;\n\n @media (max-width: 1155px) {\n padding: 0 30px;\n }\n\n @media screen and (max-width: 767px) {\n flex-direction: column;\n margin-top: 30px;\n padding-bottom: 0;\n }\n`\n\nexport const ChannelTitle = styled(Title1)`\n color: ${COLORS.PRIMARY_WHITE};\n font-family: ${FONTS.EMPHASIS_FONT};\n font-size: 50px;\n font-weight: 900;\n font-style: italic;\n line-height: 1.1;\n margin-bottom: 10px;\n\n @media screen and (min-width: 768px) {\n font-size: 80px;\n min-width: 445px;\n }\n`\n\nexport const ChannelSubtitle = styled(RegularText)`\n color: ${COLORS.PRIMARY_WHITE};\n font-size: 18px;\n font-weight: 500;\n max-width: 615px;\n`\n\nexport const ChannelWrapper = styled.div`\n max-width: 1200px;\n margin: 0 auto;\n`\n\nexport const ChannelList = styled.ul`\n display: flex;\n margin-top: -60px;\n padding: 0;\n list-style: none;\n width: 100%;\n flex-wrap: wrap;\n justify-content: center;\n\n @media (min-width: 768px) {\n margin-top: 57px;\n }\n`\n\nexport const ChannelItem = styled.li`\n padding: 15px 15px 55px 15px;\n\n @media (max-width: 500px) {\n padding-bottom: 12px;\n padding-top: 12px;\n }\n`\n\nexport const ChannelCTAWrapper = styled.div`\n display: flex;\n justify-content: center;\n margin-bottom: 70px;\n\n @media (max-width: 500px) {\n margin-top: 25px;\n padding: 0 25px;\n margin-bottom: 40px;\n\n > span {\n width: 100%;\n max-width: 320px;\n }\n }\n`\n\nexport const ChannelTvBoxWrapper = styled.li`\n max-width: 1015px;\n min-height: 232px;\n max-height: 232px;\n width: 100%;\n background-color: ${COLORS.BLUE_SHADE_1};\n margin-bottom: 60px;\n margin-top: 50px;\n\n @media (max-width: 800px) {\n margin-top: 25px;\n margin-bottom: 30px;\n }\n`\n\nexport const ChannelTvBoxContainer = styled.div`\n display: flex;\n flex-direction: row;\n height: 100%;\n`\n\nexport const ChannelTvBoxImgWrapper = styled.div`\n margin: -40px 90px 0 90px;\n\n @media (max-width: 800px) {\n display: none;\n }\n`\n\nexport const ChannelTvBoxImg = styled.img`\n margin: 0;\n`\n\nexport const ChannelTvBoxContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding-right: 90px;\n\n @media (max-width: 800px) {\n padding: 30px;\n margin: 0 auto;\n align-items: center;\n }\n`\n\nexport const ChannelTvBoxTitle = styled(Title5)`\n font-size: 22px;\n margin-bottom: 20px;\n color: ${COLORS.BLUE_SHADE_2};\n font-weight: 600;\n\n @media (max-width: 800px) {\n margin-bottom: 16px;\n }\n`\n\nexport const ChannelTvBoxText = styled(RegularText)`\n color: ${COLORS.BLUE_SHADE_2};\n font-weight: 300;\n margin-bottom: 30px;\n font-size: 15px;\n\n @media (max-width: 800px) {\n margin-bottom: 25px;\n text-align: center;\n }\n`\n\nexport const ChannelTvBoxCTAWrapper = styled.div`\n @media (max-width: 800px) {\n width: 100%;\n max-width: 300px;\n }\n`\n\nexport const ChannelTvBoxCTA = styled(CallToAction)`\n width: 241px;\n\n @media (max-width: 800px) {\n width: 100%;\n }\n`\n", "import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { t, tc } from '@owl-nest/localize'\nimport { DropdownFilter, LoadMoreButton, Icon } from '@ulule/owl-kit-components'\n\nimport { projectShape } from '$utils/prop-types'\n\nimport ProjectList from '$components/ProjectsList/ProjectsList'\nimport SortingBar from '$features/discover/components/sortingbar'\nimport { withProjectResults, DEFAULT_LIMIT } from '$hocs/ProjectSearchResults'\n\nimport * as S from '../../styles'\n\nconst CURRENCY_RATES = window.CURRENCIES && { ...window.CURRENCIES.RATES }\nconst { noResults: NO_RESULTS_IMAGE, remindMe: REMIND_ME_IMAGE } = { ...window.CHANNEL_PAGE_TAGGED_PROJECTS_ASSETS }\n\nconst TaggedProjectList = ({\n channelName,\n currentFilters,\n currentCurrency,\n currentLanguage,\n currentSorting,\n errorFetchingMore,\n filters = [],\n isFetching,\n isFetchingMore,\n loadMoreProjects,\n moreProjectsToFetch,\n noProjectWithInitialParams,\n projectCount,\n results,\n sorting,\n updateFilter,\n updateSorting,\n userIsAuthenticated\n}) => {\n return noProjectWithInitialParams ? null : (\n \n \n \n {\n updateFilter(filters[0].name, event.target.value)\n }}\n options={filters[0].options}\n useDefault\n value={currentFilters.statuses[0]}\n />\n \n\n {!projectCount && !isFetching ? (\n \n \n \n {tc('[strong: No results]. We invite you to change your search criteria.', { strong: })}\n \n updateFilter('statuses', 'all')}>\n \n {t('Reinitialize filters')}\n \n \n ) : (\n \n \n \n )}\n\n {moreProjectsToFetch && (\n \n \n \n )}\n \n )\n}\n\nTaggedProjectList.defaultProps = {\n currentFilters: {},\n currentSorting: null,\n errorFetchingMore: false,\n isFetching: true,\n isFetchingMore: false,\n moreProjectsToFetch: false,\n noProjectWithInitialParams: false,\n projectCount: 0,\n results: [],\n userIsAuthenticated: false\n}\n\nTaggedProjectList.propTypes = {\n channelName: PropTypes.string.isRequired,\n currentFilters: PropTypes.objectOf(PropTypes.array),\n currentCurrency: PropTypes.string.isRequired,\n currentLanguage: PropTypes.string.isRequired,\n currentSorting: PropTypes.string,\n errorFetchingMore: PropTypes.bool,\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n options: PropTypes.arrayOf(PropTypes.shape({})),\n position: PropTypes.number\n })\n ).isRequired,\n isFetching: PropTypes.bool,\n isFetchingMore: PropTypes.bool,\n loadMoreProjects: PropTypes.func.isRequired,\n moreProjectsToFetch: PropTypes.bool,\n noProjectWithInitialParams: PropTypes.bool,\n projectCount: PropTypes.number,\n results: PropTypes.arrayOf(projectShape),\n sorting: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired\n })\n ).isRequired,\n updateFilter: PropTypes.func.isRequired,\n updateSorting: PropTypes.func.isRequired,\n userIsAuthenticated: PropTypes.bool\n}\n\nexport default withProjectResults(TaggedProjectList)\n", "import React from 'react'\nimport styled from 'styled-components'\nimport { PropTypes } from 'prop-types'\n\nimport { t } from '@ulule/localize'\nimport * as plume from '@ulule/owl-kit-components/next'\n\n//! Button glyphs\nconst InactiveHeart = styled(plume.glyphs.stroke.Heart)`\n position: relative;\n top: 1px;\n`\nconst ActiveHeart = styled(plume.glyphs.fill.Heart)`\n position: relative;\n top: 1px;\n`\nconst Label = styled.span`\n margin-right: 2px;\n`\n\nconst ChannelSubButton = ({ isActive, onClick }) => {\n const subscribe = t('Subscribe')\n const unsubscribe = t('Unsubscribe')\n const subscribed = t('Subscribed')\n\n return (\n \n \n \n \n ),\n inactiveHover: (\n <>\n \n \n \n ),\n active: (\n <>\n \n \n \n ),\n activeHover: <>{unsubscribe},\n }}\n />\n )\n}\nChannelSubButton.propTypes = {\n isActive: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n}\nexport default ChannelSubButton\n", "import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { t } from '@ulule/localize'\nimport { Avatar, Tag } from '@ulule/owl-kit-components'\n\nimport { getLabel } from '$models/profile'\nimport { getResourceUrl } from '$models/resources'\nimport { getFullName } from '$models/user'\nimport { projectShape, userShape } from '$utils/prop-types'\n\nimport { editorialContentShape } from '../../prop-types'\n\nimport BigProjectCard from '$components/BigProjectCard/BigProjectCard'\nimport CuratedProjectList from '../components/CuratedProjectList'\nimport EditorialContent from '../components/EditorialContent'\nimport TaggedProjectList from '../components/TaggedProjectList'\n\nimport ChannelSubButton from '$components/ChannelSubButton'\n\nimport * as S from '../../styles'\n\nconst CURRENCY_RATES = window.CURRENCIES && { ...window.CURRENCIES.RATES }\nconst { remindMe: REMIND_ME_IMAGE } = { ...window.CHANNEL_PAGE_TAGGED_PROJECTS_ASSETS }\nconst URLS = { ...window.UFE.urls }\n\nconst UserChannel = ({\n channelDescription,\n channelName,\n channelOwner,\n ctaLabel,\n ctaUrl,\n currentCurrency,\n currentLanguage,\n currentUser,\n editorialContent,\n featuredProject,\n initialSearchSettings,\n taggedProjectsData,\n isSubscribed,\n handleSubscription,\n}) => {\n const label = channelOwner && getLabel(channelOwner)\n const { absolute_url: channelOwnerProfileURL } = channelOwner\n const dataUTMPageContext = { isFeaturedProject: true, type: 'channel', value: channelName }\n\n return (\n <>\n \n \n handleSubscription()} />\n \n \n {featuredProject && (\n \n \n \n )}\n\n \n \n \n {t('Curated by')}\n \n \n \n \n {channelOwner && getFullName(channelOwner, true)}\n \n \n {label && {label.name}}\n \n {channelDescription && (\n \n )}\n {ctaUrl && (\n \n {ctaLabel || t('Learn more')}\n \n )}\n \n \n \n \n\n \n \n\n {/* TODO: Newsletter section */}\n\n \n \n \n\n \n {taggedProjectsData && (\n \n \n \n )}\n \n \n )\n}\n\nUserChannel.defaultProps = {\n channelDescription: null,\n ctaLabel: null,\n ctaUrl: null,\n editorialContent: [],\n taggedProjectsData: null,\n}\n\nUserChannel.propTypes = {\n channelDescription: PropTypes.string,\n channelName: PropTypes.string.isRequired,\n channelOwner: userShape.isRequired,\n ctaLabel: PropTypes.string,\n ctaUrl: PropTypes.string,\n currentCurrency: PropTypes.string.isRequired,\n currentLanguage: PropTypes.string.isRequired,\n currentUser: userShape.isRequired,\n editorialContent: PropTypes.arrayOf(editorialContentShape),\n featuredProject: projectShape.isRequired,\n initialSearchSettings: PropTypes.shape({\n curatedProjects: PropTypes.shape({\n filters: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]))),\n sorting: PropTypes.string,\n }),\n taggedProjects: PropTypes.shape({\n filters: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]))),\n sorting: PropTypes.string,\n }),\n }).isRequired,\n taggedProjectsData: PropTypes.shape({\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n options: PropTypes.arrayOf(PropTypes.shape({})),\n position: PropTypes.number,\n })\n ).isRequired,\n projects: PropTypes.arrayOf(PropTypes.number),\n sorting: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n })\n ).isRequired,\n }),\n isSubscribed: PropTypes.bool.isRequired,\n handleSubscription: PropTypes.func.isRequired,\n}\n\nexport default UserChannel\n", "import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { t, tc } from '@owl-nest/localize'\nimport { LoadMoreButton } from '@ulule/owl-kit-components'\n\nimport { projectShape } from '$utils/prop-types'\n\nimport ProjectList from '$components/ProjectsList/ProjectsList'\nimport { withProjectResults } from '$hocs/ProjectSearchResults'\n\nimport * as S from '../../styles'\n\nconst CURRENCY_RATES = window.CURRENCIES && { ...window.CURRENCIES.RATES }\nconst { remindMe: REMIND_ME_IMAGE } = { ...window.CHANNEL_PAGE_TAGGED_PROJECTS_ASSETS }\n\nconst CuratedProjectList = ({\n channelName,\n currentCurrency,\n currentLanguage,\n isFetching,\n limit,\n loadMoreProjects,\n moreProjectsToFetch,\n results,\n userIsAuthenticated\n}) => {\n return !isFetching && !results.length ? null : (\n \n \n {tc('The [em: %(channelName)s] selection', {\n em: ,\n channelName\n })}\n \n\n \n \n \n\n {moreProjectsToFetch && (\n \n \n \n )}\n \n )\n}\n\nCuratedProjectList.defaultProps = {\n isFetching: true,\n limit: 9,\n loadMoreProjects: () => {},\n moreProjectsToFetch: false,\n results: [],\n userIsAuthenticated: false\n}\n\nCuratedProjectList.propTypes = {\n channelName: PropTypes.string.isRequired,\n currentCurrency: PropTypes.string.isRequired,\n currentLanguage: PropTypes.string.isRequired,\n isFetching: PropTypes.bool,\n limit: PropTypes.number,\n loadMoreProjects: PropTypes.func,\n moreProjectsToFetch: PropTypes.bool,\n results: PropTypes.arrayOf(projectShape),\n userIsAuthenticated: PropTypes.bool\n}\n\nexport default withProjectResults(CuratedProjectList)\n", "import React from 'react'\n\nimport { getCurrentLanguage, getDefaultLanguage } from '$features/init/language'\n\nexport const UserSettingsContext = React.createContext({\n currentCountry: window.UFE.country,\n currentCurrency: window.CURRENCIES.CURRENT,\n currentLanguage: getCurrentLanguage() || getDefaultLanguage(),\n currentUser: window.UFE.user\n})\n", "import React from 'react'\nimport { PropTypes } from 'prop-types'\nimport styled from 'styled-components'\n\nimport { t, tc } from '@owl-nest/localize'\nimport * as plume from '@ulule/owl-kit-components/next'\n\nconst ModalChannelNoAuth = ({ open, onClose }) => (\n }\n svgScale={0.8}\n >\n {t('Subscribe to this channel')}\n \n {tc(\n \"[login: Login] to your Ulule account to follow this channel.[br] You don't have an account yet ? [br][signup: Signup].\",\n {\n login: (\n }\n svgScale={0.825}\n buttons={{\n type: 'button',\n props: {\n onClick: onClose,\n children: t('Ok, thanks'),\n },\n }}\n >\n {t(\"You're subscribed!\")}\n {t('You will receive by e-mail once a week the new projects added to this channel.')}\n \n)\nModalChannelSuccess.propTypes = {\n open: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n}\n\nconst ModalWithIcon = styled(plume.ModalWithIcon)`\n ${plume.ModalIconWrapper} {\n background-color: ${plume.COLORS.PRIMARY_BLUE_500};\n }\n`\n\nconst Title = styled(plume.styles.heading.XXS)`\n margin-bottom: 10px;\n margin-top: 10px;\n text-align: center;\n`\nconst Text = styled(plume.styles.copy.S)`\n display: block;\n text-align: center;\n`\n\nexport default ModalChannelSuccess\n", "import React from 'react'\nimport { connect } from 'react-redux'\nimport PropTypes from 'prop-types'\n\nimport { t } from '@ulule/localize'\nimport { LoadMoreButton } from '@ulule/owl-kit-components'\n\nimport ModalChannelNoAuth from '../components/ModalChannelNoAuth'\nimport ModalChannelSuccess from '../components/ModalChannelSuccess'\n\nimport { getChannels, subscribeChannel, openNoAuth, closeModals } from '$redux/actions/channels'\n\nimport { userShape } from '$utils/prop-types'\n\nimport { ChannelList as Channels } from './List'\nimport * as S from '../styles'\n\nclass ChannelList extends React.Component {\n componentDidMount() {\n const { getChannels, channels, language, country } = this.props\n\n const isAuthenticated = window.UFE.user.is_authenticated\n\n if (!channels) {\n getChannels(language, country, 18, 'is_subscribed', isAuthenticated)\n }\n }\n\n handleLoadMore = () => {\n const { getChannels, meta, language, country } = this.props\n const next = meta && meta.next\n\n const isAuthenticated = window.UFE.user.is_authenticated\n\n getChannels(language, country, 18, 'is_subscribed', isAuthenticated, next)\n }\n\n render() {\n const {\n channels,\n channelTvImages,\n error,\n isLoadingChannels,\n language,\n meta,\n subscribeChannel,\n showFirstTime,\n showNoAuth,\n openNoAuth,\n closeModals,\n } = this.props\n\n return (\n <>\n closeModals()} />\n closeModals()} />\n \n \n {t('Thematic channels')}\n \n {t(\n 'From local to global, from niche edition to upcycled wonders, discover topics that shake, inspire and change our daily routines.'\n )}\n \n \n \n \n {channels && (\n \n )}\n {meta && meta.next && (\n \n \n \n )}\n \n \n )\n }\n}\n\nChannelList.defaultProps = {\n channels: null,\n error: null,\n isLoadingChannels: false,\n meta: null,\n}\n\nChannelList.propTypes = {\n getChannels: PropTypes.func.isRequired,\n subscribeChannel: PropTypes.func.isRequired,\n showFirstTime: PropTypes.bool.isRequired,\n showNoAuth: PropTypes.bool.isRequired,\n closeModals: PropTypes.func.isRequired,\n openNoAuth: PropTypes.func.isRequired,\n channels: PropTypes.arrayOf(\n PropTypes.shape({\n absolute_url: PropTypes.string,\n background: PropTypes.shape({\n value: PropTypes.string,\n versions: PropTypes.shape({\n full: PropTypes.shape({\n height: PropTypes.number,\n url: PropTypes.string,\n width: PropTypes.number,\n }),\n }),\n }),\n bg_color: PropTypes.string,\n created_at: PropTypes.string,\n cta_background: PropTypes.shape({\n value: PropTypes.string,\n versions: PropTypes.shape({\n full: PropTypes.shape({\n height: PropTypes.number,\n url: PropTypes.string,\n width: PropTypes.number,\n }),\n }),\n }),\n description: PropTypes.shape({\n ca: PropTypes.string,\n de: PropTypes.string,\n en: PropTypes.string,\n es: PropTypes.string,\n fr: PropTypes.string,\n it: PropTypes.string,\n nl: PropTypes.string,\n pt: PropTypes.string,\n }),\n id: PropTypes.number,\n is_subscribed: PropTypes.bool,\n name: PropTypes.shape({\n ca: PropTypes.string,\n de: PropTypes.string,\n en: PropTypes.string,\n es: PropTypes.string,\n fr: PropTypes.string,\n it: PropTypes.string,\n nl: PropTypes.string,\n pt: PropTypes.string,\n }),\n position: PropTypes.number,\n slug: PropTypes.string,\n updated_at: PropTypes.string,\n user: userShape,\n })\n ),\n channelTvImages: PropTypes.shape({\n '1x': PropTypes.string.isRequired,\n '2x': PropTypes.string.isRequired,\n '3x': PropTypes.string.isRequired,\n }).isRequired,\n country: PropTypes.string.isRequired,\n error: PropTypes.bool,\n isLoadingChannels: PropTypes.bool,\n language: PropTypes.string.isRequired,\n meta: PropTypes.shape({\n limit: PropTypes.number,\n next: PropTypes.string,\n offset: PropTypes.number,\n previous: PropTypes.string,\n total_count: PropTypes.number,\n }),\n}\n\nconst mapStateToProps = (state) => ({\n showFirstTime: state.channels.list.showFirstTime,\n showNoAuth: state.channels.list.showNoAuth,\n channels: state.channels.list.channels,\n error: state.channels.list.error,\n isLoadingChannels: state.channels.list.isLoadingChannels,\n meta: state.channels.list.meta,\n})\n\nconst mapDispatchToProps = (dispatch) => ({\n getChannels(language, country, limit, extraFields, isAuthenticated, next) {\n dispatch(getChannels(language, country, limit, extraFields, isAuthenticated, next))\n },\n subscribeChannel(id, isSubscribed) {\n dispatch(subscribeChannel(id, isSubscribed))\n },\n openNoAuth() {\n dispatch(openNoAuth())\n },\n closeModals() {\n dispatch(closeModals())\n },\n})\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ChannelList)\n", "import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { t } from '@ulule/localize'\n\nimport { ChannelCard } from '@ulule/owl-kit-components/next'\nimport ChannelSubButton from '$components/ChannelSubButton'\n\nimport { getFullName } from '$models/user'\nimport { getResourceUrl, getResourceWithLanguage } from '$models/resources'\nimport { userShape } from '$utils/prop-types'\n\nimport { TvBox } from './TvBox'\nimport * as S from '../styles'\n\nexport const ChannelList = ({ channels, lang, channelTvImages, subscribeChannel, openNoAuth }) => {\n const channelsLength = channels && channels.length\n const isAuthenticated = window.UFE.user.is_authenticated\n\n return (\n \n {channels &&\n channels.map((channel, index) => {\n const isPartner = channel && channel.partner && channel.partner.id\n const user = channel && channel.user\n const description = isPartner\n ? t('With the support of %(name)s', { name: getFullName(user, false) })\n : t('Curated by %(name)s', { name: getFullName(user, true) })\n\n const isActive = Boolean(channel?.user && channel?.is_subscribed)\n const onClick = () =>\n isAuthenticated\n ? subscribeChannel(channel && channel.id, channel && channel.user && channel.is_subscribed)\n : openNoAuth()\n\n if (channelsLength && channelsLength <= 9 && index + 1 === channelsLength) {\n return (\n \n \n }\n />\n \n\n toto\n \n )\n }\n\n if (channelsLength > 9 && index + 1 === 9) {\n return (\n \n \n }\n />\n \n\n toto\n \n )\n }\n\n return (\n \n }\n />\n \n )\n })}\n \n )\n}\n\nChannelList.defaultProps = {\n channels: [],\n}\n\nChannelList.propTypes = {\n openNoAuth: PropTypes.func.isRequired,\n subscribeChannel: PropTypes.func.isRequired,\n channels: PropTypes.arrayOf(\n PropTypes.shape({\n absolute_url: PropTypes.string,\n background: PropTypes.shape({\n value: PropTypes.string,\n versions: PropTypes.shape({\n full: PropTypes.shape({\n height: PropTypes.number,\n url: PropTypes.string,\n width: PropTypes.number,\n }),\n }),\n }),\n bg_color: PropTypes.string,\n created_at: PropTypes.string,\n cta_background: PropTypes.shape({\n value: PropTypes.string,\n versions: PropTypes.shape({\n full: PropTypes.shape({\n height: PropTypes.number,\n url: PropTypes.string,\n width: PropTypes.number,\n }),\n }),\n }),\n description: PropTypes.shape({\n ca: PropTypes.string,\n de: PropTypes.string,\n en: PropTypes.string,\n es: PropTypes.string,\n fr: PropTypes.string,\n it: PropTypes.string,\n nl: PropTypes.string,\n pt: PropTypes.string,\n }),\n id: PropTypes.number,\n is_subscribed: PropTypes.bool,\n name: PropTypes.shape({\n ca: PropTypes.string,\n de: PropTypes.string,\n en: PropTypes.string,\n es: PropTypes.string,\n fr: PropTypes.string,\n it: PropTypes.string,\n nl: PropTypes.string,\n pt: PropTypes.string,\n }),\n position: PropTypes.number,\n slug: PropTypes.string,\n updated_at: PropTypes.string,\n user: userShape,\n })\n ),\n channelTvImages: PropTypes.shape({\n '1x': PropTypes.string.isRequired,\n '2x': PropTypes.string.isRequired,\n '3x': PropTypes.string.isRequired,\n }).isRequired,\n lang: PropTypes.string.isRequired,\n}\n", "import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { t } from '@ulule/localize'\n\nimport * as S from '../styles'\n\nexport const TvBox = ({ channelTvImages }) => (\n \n \n \n \n \n \n {t('A topic in mind?')}\n \n {t('Impactful and innovating projects selected for you, by you! Got a topic in mind?')}\n \n \n {t('Suggest a topic')}\n \n \n \n \n)\n\nTvBox.proptypes = {\n channelTvImages: PropTypes.shape({\n '1x': PropTypes.string.isRequired,\n '2x': PropTypes.string.isRequired,\n '3x': PropTypes.string.isRequired\n })\n}\n"], "mappings": "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", "names": ["init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "n", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "React", "ReactDOM", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "GET_CHANNEL_REQUEST", "GET_CHANNEL_SUCCESS", "GET_CHANNEL_FAILURE", "GET_CHANNELS_REQUEST", "GET_CHANNELS_SUCCESS", "GET_CHANNELS_FAILURE", "SUBSCRIBE_CHANNEL_REQUEST", "SUBSCRIBE_CHANNEL_SUCCESS", "SUBSCRIBE_CHANNEL_FAILURE", "SUBSCRIBE_DETAIL_CHANNEL_REQUEST", "SUBSCRIBE_DETAIL_CHANNEL_SUCCESS", "SUBSCRIBE_DETAIL_CHANNEL_FAILURE", "CLOSE_MODALS", "OPEN_NO_AUTH", "getChannels", "lang", "country", "limit", "extraFields", "isAuthenticated", "next", "GET_CHANNELS_REQUEST", "GET_CHANNELS_SUCCESS", "GET_CHANNELS_FAILURE", "api", "openNoAuth", "OPEN_NO_AUTH", "closeModals", "CLOSE_MODALS", "subscribeChannel", "id", "isSubscribed", "detailPage", "SUBSCRIBE_DETAIL_CHANNEL_REQUEST", "SUBSCRIBE_DETAIL_CHANNEL_SUCCESS", "SUBSCRIBE_DETAIL_CHANNEL_FAILURE", "SUBSCRIBE_CHANNEL_REQUEST", "SUBSCRIBE_CHANNEL_SUCCESS", "SUBSCRIBE_CHANNEL_FAILURE", "postRes", "initialState", "channelDetail", "state", "action", "GET_CHANNEL_REQUEST", "__spreadProps", "__spreadValues", "GET_CHANNEL_SUCCESS", "channel", "GET_CHANNEL_FAILURE", "error", "SUBSCRIBE_DETAIL_CHANNEL_REQUEST", "SUBSCRIBE_DETAIL_CHANNEL_SUCCESS", "isSubscribed", "response", "SUBSCRIBE_DETAIL_CHANNEL_FAILURE", "CLOSE_MODALS", "OPEN_NO_AUTH", "channelList", "GET_CHANNELS_SUCCESS", "channels", "meta", "GET_CHANNELS_REQUEST", "GET_CHANNELS_FAILURE", "SUBSCRIBE_CHANNEL_REQUEST", "SUBSCRIBE_CHANNEL_SUCCESS", "SUBSCRIBE_CHANNEL_FAILURE", "combineReducers", "config_default", "__spreadProps", "__spreadValues", "reducers", "combineReducers", "channels", "partner_default", "store_default", "createStore", "applyMiddleware", "thunk", "callAPIMiddleware", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "init_define_process_env", "init_sentry_release_injection_stub", "import_prop_types", "editorialContentShape", "PropTypes", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "import_localize", "USER_ROLE_STATUS", "LOCALSTORAGE_NAMESPACE", "COOKIE_MODAL_NAMESPACE", "getRelatedUserRole", "userRole", "BigProjectCard", "React", "props", "__publicField", "project", "status", "isOpen", "isAuthenticated", "hasCookie", "get", "set", "event", "apiAction", "postAction", "newStatus", "updateUserRole", "saveAction", "endDate", "extraTime", "isFinished", "projectStatus", "isOnline", "countdownText", "getShortCountdown", "__spreadProps", "__spreadValues", "prevProps", "prevState", "prevStatus", "dataUTMPageContext", "progress", "getProgress", "isProjectFinished", "textFinishProject", "getFinishTrad", "action", "CardTypeSelector", "text_exports", "getComingSoonLabel", "ModalProjectRemindMe", "ModalProjectNoAuth", "dataUTMPageContextShape", "PropTypes", "projectShape", "BigProjectCard_default", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "init_define_process_env", "init_sentry_release_injection_stub", "_a", "CardWrapper", "src_default", "__template", "colors_exports", "props", "Title1", "rem", "_b", "MediaWrapper", "_c", "OutlineButton", "_d", "Text", "_e", "TextWrapper", "ThemedCard", "ctaLabel", "ctaLink", "image", "isVertical", "text", "parentTheme", "title", "tracker", "videoHtml", "theme", "__spreadProps", "__spreadValues", "Tracker", "trackerProps", "React", "ThemeProvider", "CardWrapper", "MediaWrapper", "VideoLoader_default", "TextWrapper", "Title1", "Text", "OutlineButton", "PropTypes", "ThemedCard_default", "init_define_process_env", "init_sentry_release_injection_stub", "DEFAULT_GRID_BASIS", "LARGE_GRID_BASIS", "HEIGHT_SHIFT", "SPACING", "_a", "ChannelPageCover", "src_default", "__template", "props", "rem", "_b", "ChannelPageHeader", "_c", "ChannelPageTitleContainer", "_d", "ChannelPageLogo", "_e", "ChannelPageTitle", "colors_exports", "fonts_exports", "_f", "ChannelPageCuratedProjects", "_g", "ChannelPageCuratedProjectsFooter", "_h", "ChannelPageEditorialContent", "_i", "ChannelPageFullWidthSection", "_j", "ChannelSubButton", "_k", "ChannelPageGutteredSection", "_l", "ChannelPageRightAside", "_m", "ChannelPageFeaturedContent", "_n", "ChannelPageFeaturedSection", "_o", "ChannelPageCuratedProjectList", "_p", "ChannelPageCuratedProjectsTitle", "Title1", "_q", "ChannelPageEditorialContentItem", "_r", "ChannelPageEditorialContentList", "_s", "ChannelPageOwnerCardTitle", "Title2", "_t", "ChannelPageOwnerCard", "_u", "ChannelPageOwnerCardDescription", "_v", "ChannelPageOwnerCardImage", "_w", "ChannelPagePartnerCard", "_x", "ChannelPagePartnerCardCTA", "CallToAction", "_y", "ChannelPageTaggedProjects", "_z", "ChannelPageTaggedProjectsFooter", "_A", "ChannelPageTaggedProjectsHeader", "_B", "ChannelPageTaggedProjectList", "_C", "ChannelPageTaggedProjectsNoResults", "_D", "ChannelPageTaggedProjectsNoResultsText", "_E", "ChannelPageTaggedProjectsResetFilters", "SecondaryLink", "_F", "ChannelPageUserCard", "_G", "ChannelPageUserCardLabel", "_H", "ChannelPageUserCardName", "_I", "ChannelPageUserCardProfileLink", "_J", "ChannelHeader", "_K", "ChannelContainer", "_L", "ChannelTitle", "_M", "ChannelSubtitle", "RegularText", "_N", "ChannelWrapper", "_O", "ChannelList", "_P", "ChannelItem", "_Q", "ChannelCTAWrapper", "_R", "ChannelTvBoxWrapper", "_S", "ChannelTvBoxContainer", "_T", "ChannelTvBoxImgWrapper", "_U", "ChannelTvBoxImg", "_V", "ChannelTvBoxContent", "_W", "ChannelTvBoxTitle", "Title5", "_X", "ChannelTvBoxText", "_Y", "ChannelTvBoxCTAWrapper", "_Z", "ChannelTvBoxCTA", "getProperties", "content", "ctaLabel", "getResourceWithLanguage", "image", "getResourceUrl", "text", "title", "videoHtml", "EditorialContent", "channelSlug", "editorialContent", "partnerOwnerId", "partnerSlug", "ctaLink", "React", "ChannelPageEditorialContent", "ThemedCard_default", "SponsorshipTracker_default", "nodes", "index", "id", "ChannelPageEditorialContentItem", "ChannelPageEditorialContentList", "PropTypes", "editorialContentShape", "EditorialContent_default", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "CURRENCY_RATES", "__spreadValues", "NO_RESULTS_IMAGE", "REMIND_ME_IMAGE", "TaggedProjectList", "channelName", "currentFilters", "currentCurrency", "currentLanguage", "currentSorting", "errorFetchingMore", "filters", "isFetching", "isFetchingMore", "loadMoreProjects", "moreProjectsToFetch", "noProjectWithInitialParams", "projectCount", "results", "sorting", "updateFilter", "updateSorting", "userIsAuthenticated", "React", "ChannelPageTaggedProjectsHeader", "sortingbar_default", "DropdownFilter_default", "event", "ChannelPageTaggedProjectsNoResults", "ChannelPageTaggedProjectsNoResultsText", "ChannelPageTaggedProjectsResetFilters", "Icon_default", "ChannelPageTaggedProjectList", "ProjectsList_default", "DEFAULT_LIMIT", "ChannelPageTaggedProjectsFooter", "LoadMoreButton_default", "PropTypes", "projectShape", "TaggedProjectList_default", "withProjectResults", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "import_localize", "_a", "InactiveHeart", "src_default", "glyphs_exports", "__template", "_b", "ActiveHeart", "_c", "Label", "ChannelSubButton", "isActive", "onClick", "subscribe", "unsubscribe", "subscribed", "React", "ActionButton", "ChannelSubButton_default", "CURRENCY_RATES", "__spreadValues", "REMIND_ME_IMAGE", "URLS", "Partner", "channelDescription", "channelName", "channelOwnerProfileURL", "channelSlug", "ctaLabel", "ctaUrl", "currentCurrency", "currentLanguage", "currentUser", "editorialContent", "featuredProject", "initialSearchSettings", "isSelectionFirst", "listProjects", "meta", "partnerLogo", "partnerName", "partnerOwnerId", "partnerSlug", "sponsoredProjects", "sponsoredProjectsAreLoading", "taggedProjectsData", "isSubscribed", "handleSubscription", "React", "taggedProjectsNode", "ChannelPageTaggedProjects", "TaggedProjectList_default", "sponsorProjectNode", "ChannelPageCuratedProjects", "ChannelPageCuratedProjectsTitle", "ChannelPageCuratedProjectList", "ProjectsList_default", "ChannelPageCuratedProjectsFooter", "LoadMoreButton_default", "hasSponsorProjects", "taggedProjectsOnFeaturePosition", "taggedProjectsOnFirstPosition", "taggedrojectsOnLastPosition", "sponsorProjectsOnFeaturePosition", "sponsorProjectsOnFirstPosition", "sponsorProjectsOnLastPosition", "ChannelPageGutteredSection", "ChannelSubButton", "ChannelSubButton_default", "ChannelPageFeaturedSection", "ChannelPageFeaturedContent", "BigProjectCard_default", "__spreadProps", "ChannelPageRightAside", "ChannelPageOwnerCard", "ChannelPagePartnerCard", "ChannelPageOwnerCardTitle", "SponsorshipTracker_default", "ChannelPageOwnerCardImage", "ChannelPageOwnerCardDescription", "ChannelPagePartnerCardCTA", "ChannelPageFullWidthSection", "EditorialContent_default", "PropTypes", "userShape", "editorialContentShape", "projectShape", "mapStateToProps", "state", "mapDispatchToProps", "dispatch", "ownProps", "next", "withAccessToken", "listPartnerProjects", "Partner_default", "connect_default", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "import_localize", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "CURRENCY_RATES", "__spreadValues", "REMIND_ME_IMAGE", "CuratedProjectList", "channelName", "currentCurrency", "currentLanguage", "isFetching", "limit", "loadMoreProjects", "moreProjectsToFetch", "results", "userIsAuthenticated", "React", "ChannelPageCuratedProjects", "ChannelPageCuratedProjectsTitle", "ChannelPageCuratedProjectList", "ProjectsList_default", "ChannelPageCuratedProjectsFooter", "LoadMoreButton_default", "PropTypes", "projectShape", "CuratedProjectList_default", "withProjectResults", "CURRENCY_RATES", "__spreadValues", "REMIND_ME_IMAGE", "URLS", "UserChannel", "channelDescription", "channelName", "channelOwner", "ctaLabel", "ctaUrl", "currentCurrency", "currentLanguage", "currentUser", "editorialContent", "featuredProject", "initialSearchSettings", "taggedProjectsData", "isSubscribed", "handleSubscription", "label", "getLabel", "channelOwnerProfileURL", "React", "ChannelPageGutteredSection", "ChannelSubButton", "ChannelSubButton_default", "ChannelPageFeaturedSection", "ChannelPageFeaturedContent", "BigProjectCard_default", "__spreadProps", "ChannelPageRightAside", "ChannelPageOwnerCard", "ChannelPageUserCard", "ChannelPageOwnerCardTitle", "ChannelPageUserCardLabel", "ChannelPageUserCardProfileLink", "Avatar_default", "getResourceUrl", "ChannelPageUserCardName", "getFullName", "Tag_default", "ChannelPageOwnerCardDescription", "ChannelPagePartnerCardCTA", "CuratedProjectList_default", "ChannelPageFullWidthSection", "EditorialContent_default", "ChannelPageTaggedProjects", "TaggedProjectList_default", "PropTypes", "userShape", "editorialContentShape", "projectShape", "User_default", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "UserSettingsContext", "React", "getCurrentLanguage", "getDefaultLanguage", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "ModalChannelNoAuth", "open", "onClose", "React", "ModalWithIcon", "illustrations_exports", "Title", "Text", "Link", "_a", "src_default", "__template", "ModalIconWrapper", "colors_exports", "_b", "styles_exports", "_c", "ModalChannelNoAuth_default", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "import_localize", "ModalChannelSuccess", "open", "onClose", "React", "ModalWithIcon", "illustrations_exports", "Title", "Text", "_a", "src_default", "__template", "ModalIconWrapper", "colors_exports", "_b", "styles_exports", "_c", "ModalChannelSuccess_default", "SEARCH_DATA", "__spreadValues", "ChannelPage", "channel", "showFirstTime", "showNoAuth", "subscribeChannel", "openNoAuth", "closeModals", "accentColor", "background", "bgColor", "ctaLabel", "ctaUrl", "description", "featuredProject", "id", "isSubscribed", "links", "name", "channelPartner", "isSelectionFirst", "slug", "title", "channelOwner", "initialSearchSettings", "theme", "colors_exports", "titleImage", "getResourceUrl", "context", "React", "UserSettingsContext", "handleSubscription", "ThemeProvider", "ModalChannelNoAuth_default", "ModalChannelSuccess_default", "ChannelPageHeader", "ChannelPageCover", "ChannelPageTitleContainer", "ChannelPageLogo", "ChannelPageTitle", "Partner_default", "User_default", "PropTypes", "projectShape", "editorialContentShape", "userShape", "mapStateToProps", "state", "mapDispatchToProps", "dispatch", "detail_default", "connect_default", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "import_localize", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "import_localize", "init_define_process_env", "init_sentry_release_injection_stub", "import_react", "import_prop_types", "import_localize", "TvBox", "channelTvImages", "React", "ChannelTvBoxWrapper", "ChannelTvBoxContainer", "ChannelTvBoxImgWrapper", "ChannelTvBoxImg", "ChannelTvBoxContent", "ChannelTvBoxTitle", "ChannelTvBoxText", "ChannelTvBoxCTAWrapper", "ChannelTvBoxCTA", "PropTypes", "ChannelList", "channels", "lang", "channelTvImages", "subscribeChannel", "openNoAuth", "channelsLength", "isAuthenticated", "React", "channel", "index", "isPartner", "user", "description", "getFullName", "isActive", "onClick", "ChannelItem", "ChannelCard", "getResourceUrl", "getResourceWithLanguage", "ChannelSubButton_default", "TvBox", "PropTypes", "userShape", "ChannelList", "React", "__publicField", "getChannels", "meta", "language", "country", "next", "isAuthenticated", "channels", "channelTvImages", "error", "isLoadingChannels", "subscribeChannel", "showFirstTime", "showNoAuth", "openNoAuth", "closeModals", "ModalChannelNoAuth_default", "ModalChannelSuccess_default", "ChannelHeader", "ChannelContainer", "ChannelTitle", "ChannelSubtitle", "ChannelWrapper", "ChannelCTAWrapper", "LoadMoreButton_default", "PropTypes", "userShape", "mapStateToProps", "state", "mapDispatchToProps", "dispatch", "limit", "extraFields", "id", "isSubscribed", "list_default", "connect_default", "config_default", "__spreadProps", "__spreadValues", "Router", "country", "language", "channelTvImages", "React", "Routes", "Route", "list_default", "detail_default", "PropTypes", "Router_default", "Channel", "language", "country", "container", "Provider_default", "store_default", "BrowserRouter", "Router_default", "event", "currentLocation", "currentCountryCode", "currentLanguage", "getCurrentLanguage", "getDefaultLanguage", "channels_default"] }