{ "version": 3, "sources": ["../../../../../../owl-nest/common/redux-wrapper/src/user/identity/useAuth.ts", "../../../../../../owl-nest/common/redux-wrapper/hooks.ts", "../../../../../../owl-nest/ulule/features/project/src/actions/modal.ts", "../../../../../../owl-nest/ulule/features/project/src/public/hooks/useDisplayMode.ts", "../../../../../../owl-nest/ulule/features/project/src/public/hooks/useNavigation.ts", "../../../../../../owl-nest/ulule/features/project/src/public/views/detail/constants.ts", "../../../../../../owl-nest/ulule/features/project/src/public/paths.ts", "../../../../../../owl-nest/ulule/features/project/src/public/views/detail/style.tsx"], "sourcesContent": ["import * as redux from 'react-redux'\nimport * as service from '@owl-nest/services'\n\n/** @deprecated use `service.user.UseAuthExisting`\u00A0from `@owl-nest/services` */\nexport type UseAuthExisting = service.user.UseAuthExisting\n/** @deprecated use `service.user.UseAuthKnown`\u00A0from `@owl-nest/services` */\nexport type UseAuthKnown = service.user.UseAuthKnown\n/** @deprecated use `service.user.UseAuthNew`\u00A0from `@owl-nest/services` */\nexport type UseAuthNew = service.user.UseAuthNew\n/** @deprecated use `service.user.UseAuthUnknown`\u00A0from `@owl-nest/services` */\nexport type UseAuthUnknown = service.user.UseAuthUnknown\n/** @deprecated use `service.user.UseAuth`\u00A0from `@owl-nest/services` */\nexport type UseAuth = service.user.UseAuth\n\n/** @deprecated use `service.user.useAuth`\u00A0from `@owl-nest/services` */\nexport function useAuth(\n options: service.user.AuthOptions = {},\n): service.user.UseAuth {\n const dispatch = redux.useDispatch()\n\n return service.user.useAuth({\n reduxDispatch: dispatch,\n ...options,\n })\n}\n\n/** @deprecated use `service.user.useSafeAuth`\u00A0from `@owl-nest/services` */\nexport function useSafeAuth(): service.user.UseAuthLoggedin {\n const _auth = useAuth()\n if (_auth.type === 'loggedin') {\n return _auth\n }\n throw Error('the user is not loggedin !')\n}\n\n/** @deprecated use `service.user.isLoggedIn`\u00A0from `@owl-nest/services` */\nexport function isLoggedIn(auth: service.user.UseAuth): auth is service.user.UseAuthLoggedin {\n return auth.type === 'loggedin'\n}\n", "export { useOrder } from './src/user/order/useOrder'\nexport { useAddress } from './src/user/address/useAddress'\nexport { useAuth, useSafeAuth } from './src/user/identity/useAuth'\nexport { useMessage } from './src/messages/useMessage'\n", "export enum ACTION_TYPE {\n SET_REWARD_ID = 'MODAL.SET_REWARD_ID',\n SET_SELECTED_REWARD_ID = 'MODAL.SET_SELECTED_REWARD_ID',\n STORE_SUBMIT_CONFIRMATION_HANDLER = 'MODAL.STORE_SUBMIT_CONFIRMATION_HANDLER',\n TOGGLE_MODAL_FOLLOW = 'MODAL.TOGGLE_MODAL_FOLLOW',\n TOGGLE_MODAL_PAYMENT_DISTURBANCE = 'TOGGLE_MODAL_PAYMENT_DISTURBANCE',\n TOGGLE_MODAL_POSTCAMPAIGN = 'MODAL.TOGGLE_MODAL_POSTCAMPAIGN',\n TOGGLE_MODAL_REWARD = 'MODAL.TOGGLE_MODAL_REWARD',\n TOGGLE_MODAL_SUBMIT_FOR_REVIEW = 'MODAL.TOGGLE_MODAL_SUBMIT_FOR_REVIEW',\n TOGGLE_MODAL_VARIANT = 'MODAL.TOGGLE_MODAL_VARIANT',\n TOGGLE_MODAL_WIDGET = 'MODAL.TOGGLE_MODAL_WIDGET',\n TOGGLE_SHARE_OVERLAY = 'MODAL.TOGGLE_SHARE_OVERLAY',\n}\n\ntype SetRewardId = { type: ACTION_TYPE.SET_REWARD_ID; id: string }\ntype SetSelectedRewardId = { type: ACTION_TYPE.SET_SELECTED_REWARD_ID; id: string }\n\ntype StoreSubmitConfirmationHandler = {\n type: ACTION_TYPE.STORE_SUBMIT_CONFIRMATION_HANDLER\n handleClose: () => void\n handleSubmit: () => void\n}\ntype ToggleModalFollow = { type: ACTION_TYPE.TOGGLE_MODAL_FOLLOW; isOpen: boolean }\ntype ToggleModalPaymentDisturbance = { type: ACTION_TYPE.TOGGLE_MODAL_PAYMENT_DISTURBANCE; isOpen: boolean }\ntype ToggleModalPostCampaign = { type: ACTION_TYPE.TOGGLE_MODAL_POSTCAMPAIGN; isOpen: boolean }\ntype ToggleModalReward = { type: ACTION_TYPE.TOGGLE_MODAL_REWARD; isOpen: boolean; extra?: { id: string } }\ntype ToggleModalSubmitForReview = { type: ACTION_TYPE.TOGGLE_MODAL_SUBMIT_FOR_REVIEW; isOpen: boolean }\ntype ToggleModalVariant = { type: ACTION_TYPE.TOGGLE_MODAL_VARIANT; isOpen: boolean; extra?: { id: string } }\ntype ToggleShareOverlay = { type: ACTION_TYPE.TOGGLE_SHARE_OVERLAY; isOpen: boolean }\n\nexport type ModalAction =\n | SetRewardId\n | SetSelectedRewardId\n | StoreSubmitConfirmationHandler\n | ToggleModalFollow\n | ToggleModalPaymentDisturbance\n | ToggleModalPostCampaign\n | ToggleModalReward\n | ToggleModalSubmitForReview\n | ToggleModalVariant\n | ToggleShareOverlay\n\nexport function setRewardId(id: string): any {\n return {\n type: ACTION_TYPE.SET_REWARD_ID,\n id,\n }\n}\n\nexport function setSelectedRewardId(id: string): any {\n return {\n type: ACTION_TYPE.SET_SELECTED_REWARD_ID,\n id,\n }\n}\n\nexport function storeSubmitConfirmationHandler(handleClose: () => void, handleSubmit: () => void): any {\n return {\n type: ACTION_TYPE.STORE_SUBMIT_CONFIRMATION_HANDLER,\n handleClose,\n handleSubmit,\n }\n}\n\nexport function toggleModalFollow(isOpen: boolean): any {\n return {\n type: ACTION_TYPE.TOGGLE_MODAL_FOLLOW,\n isOpen,\n }\n}\n\nexport function toggleModalPaymentDisturbance(isOpen: boolean): any {\n return {\n type: ACTION_TYPE.TOGGLE_MODAL_PAYMENT_DISTURBANCE,\n isOpen,\n }\n}\n\nexport function toggleModalPostCampaign(isOpen: boolean): any {\n return {\n type: ACTION_TYPE.TOGGLE_MODAL_POSTCAMPAIGN,\n isOpen,\n }\n}\n\nexport function toggleModalReward(isOpen: boolean, extra?: { id: string }): any {\n return {\n type: ACTION_TYPE.TOGGLE_MODAL_REWARD,\n isOpen,\n extra,\n }\n}\n\nexport function toggleModalSubmitForReview(isOpen: boolean): any {\n return {\n type: ACTION_TYPE.TOGGLE_MODAL_SUBMIT_FOR_REVIEW,\n isOpen,\n }\n}\n\nexport function toggleModalVariant(isOpen: boolean, extra?: { id: string }): any {\n return {\n type: ACTION_TYPE.TOGGLE_MODAL_VARIANT,\n isOpen,\n extra,\n }\n}\n\nexport function toggleShareOverlay(isOpen: boolean): ToggleShareOverlay {\n return {\n type: ACTION_TYPE.TOGGLE_SHARE_OVERLAY,\n isOpen,\n }\n}\n", "import { useLocation } from 'react-router-dom'\n\nimport * as api from '@owl-nest/api-client/latest'\nimport * as model from '@owl-nest/models'\n\nimport * as projectModel from '../models/project'\n\nexport type DisplayMode = 'preview' | 'edit' | 'view'\n\nexport function useDisplayMode(project: projectModel.Project): DisplayMode {\n const location = useLocation()\n const userPermissions = project.permissions.self\n\n const preview = isPreview(location.pathname)\n const isProjectCancelled = model.project.isCancelled(project)\n\n if (isProjectCancelled) {\n // no preview when project is archived/cancelled\n return userPermissions?.includes(api.ProjectSelfPermission.UPDATE) ? 'edit' : 'view'\n } else {\n return userPermissions?.includes(api.ProjectSelfPermission.UPDATE) ? (preview ? 'preview' : 'edit') : 'view'\n }\n}\n\nexport function isPreview(pathname: string): boolean {\n return pathname.includes('/preview/')\n}\n", "import * as React from 'react'\nimport * as Redux from 'react-redux'\nimport * as history from 'history'\n\nimport { useLocation, useNavigate } from 'react-router-dom'\nimport { PATHS, StringPaths, FunctionPaths } from '../paths'\nimport { isPreview } from './useDisplayMode'\nimport * as modalActions from '../../actions/modal'\n\n/**\n * Given the fact that we use browser history based routing, we do not have access to routes with a hash natively.\n * Still, we need to prepend the hash on some routes to exclude them from search engine crawlers.\n * This hook is here because of that, otherwise the browser would just 'ignore' the part after the hash\n * assuming it is a local anchor.\n */\nexport function useHashRouting(): void {\n const location = useLocation()\n const dispatch = Redux.useDispatch()\n\n React.useEffect(() => {\n // Now that we use react-router v6, everything related to hash navigation\n // is done somewhere else (in the `TabRouter.tsx` file). These conditions\n // are no more needed (except the last one). In order to avoid regressions\n // on the condition for the display of the share modal, the useless\n // conditions are preserved with empty blocks (thus preserving the logic).\n if (location.hash.includes('#comments')) {\n // NOOP\n } else if (location.hash.includes('#faq')) {\n // NOOP\n } else if (location.hash.includes('#rewards')) {\n // NOOP\n } else if (location.hash.includes('#share')) {\n dispatch(modalActions.toggleShareOverlay(true))\n }\n }, [location.hash])\n}\n\ntype UseNavigation = {\n is: (path: StringPaths) => boolean\n to: (path: StringPaths, state?: Record) => void\n pathTo: (path: StringPaths | FunctionPaths) => { pathname: string; search?: string; hash?: string }\n}\n\nexport function useNavigation(): UseNavigation {\n const location = useLocation()\n const navigate = useNavigate()\n\n return { is, to, pathTo }\n\n function is(path: StringPaths): boolean {\n const pathname = pathTo(path).pathname\n const hash = pathTo(path).hash\n\n let comparedPathname = pathname\n if (hash) {\n comparedPathname = comparedPathname + hash\n }\n\n // compare without trailing slash\n let currentLocation = location.pathname\n if (['#comments/', '#faq/', '#rewards/'].includes(location.hash)) {\n currentLocation = location.pathname + location.hash\n }\n\n return currentLocation.replace(/\\/$/, '') === comparedPathname.replace(/\\/$/, '')\n }\n\n function to(path: StringPaths, state?: Record): void {\n const routerPath = pathTo(path)\n navigate(`${routerPath.pathname}${routerPath.hash ?? ''}`, { state })\n }\n\n function pathTo(path: StringPaths | FunctionPaths): { pathname: string; search?: string; hash?: string } {\n const pathname = typeof path === 'string' ? path : path.path(path.params)\n\n const hashIndex = pathname.indexOf('#')\n const hash = pathname.slice(hashIndex)\n\n if (isPreview(location.pathname)) {\n if (hashIndex === -1) {\n return {\n pathname: `${pathname}preview/`,\n search: location.search,\n }\n }\n\n if (['/#comments/', '/#faq/', '/#rewards/'].includes(pathname)) {\n return {\n pathname: `/preview/`,\n hash,\n search: location.search,\n }\n }\n\n return {\n pathname: `${pathname}preview/`,\n hash,\n search: location.search,\n }\n }\n\n if (['/#comments/', '/#faq/', '/#rewards/'].includes(pathname)) {\n return {\n hash,\n pathname: '/',\n }\n }\n\n return { pathname }\n }\n}\n", "export const EDIT_MODE_SMALL_LAPTOP = '(min-width: 1169px)'\nexport const EDIT_MODE_LAPTOP_BREAKPOINT = '(min-width: 1200px)'\nexport const EDIT_MODE_TABLET_BREAKPOINT = '(min-width: 995px)'\nexport const MIDDLE_TABLET_LAPTOP_BREAKPOINT = '(min-width: 941px)'\n", "/**\n * NOTE: We prepend a hash to the URLs we do not want crawled by search engines.\n * If you need to add more of these, please check `useHashRouting` and see how we handle\n * routing to #faq, #comments and #rewards as an example to follow.\n */\nexport const PATHS = {\n PROJECT: '/',\n REWARDS: '/#rewards/',\n FAQ: '/#faq/',\n NEWS: '/news/',\n NEWS_PERMALINK: (params: { slug: string }) => `/news/${params.slug}/`,\n SUPPORTERS: '/supporters/',\n COMMENTS: '/#comments/',\n COMING_SOON: '/coming-soon/',\n} as const\n\ntype Paths = typeof PATHS\nexport type StringPaths = { [K in keyof Paths]: Paths[K] extends string ? Paths[K] : never }[keyof Paths]\nexport type FunctionPaths = {\n [K in keyof Paths]: Paths[K] extends (params: infer PARAMS) => string ? { path: Paths[K]; params: PARAMS } : never\n}[keyof Paths]\n", "import styled, { css } from 'styled-components'\nimport { BREAKPOINTS, COLORS, styles as S, ZINDEX } from '@ulule/owl-kit-components/next'\n\nimport { EDIT_MODE_SMALL_LAPTOP } from './constants'\n\nexport const SIDEBAR_MAX_WIDTH = '395px'\n\nexport const Content = styled.div<{ isEditMode?: boolean }>`\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n margin: 0 auto;\n max-width: 760px;\n`\n\nexport const Main = styled.div<{ isEditMode?: boolean }>`\n padding: 30px 0;\n border-bottom: 1px solid ${COLORS.GREY_SHADE_5};\n\n @media screen and ${({ isEditMode }) => (isEditMode ? EDIT_MODE_SMALL_LAPTOP : BREAKPOINTS.LAPTOP)} {\n padding: 60px 0;\n box-sizing: border-box;\n margin: 0 auto;\n width: 100%;\n }\n`\n\nexport const Wrapper = styled.div<{ isEditMode?: boolean }>`\n padding: 0 10px;\n\n @media screen and ${({ isEditMode }) => (isEditMode ? EDIT_MODE_SMALL_LAPTOP : BREAKPOINTS.LAPTOP)} {\n box-sizing: content-box;\n display: flex;\n margin: 0 auto;\n max-width: 1200px;\n }\n`\n\nexport const OnlyDesktopShow = styled.div<{ isEditMode: boolean }>`\n display: none;\n\n @media screen and ${({ isEditMode }) => (isEditMode ? EDIT_MODE_SMALL_LAPTOP : BREAKPOINTS.LAPTOP)} {\n display: initial;\n }\n`\n\nexport const OnlyMobileShow = styled.div`\n margin-left: -10px;\n margin-right: -10px;\n\n @media screen and ${BREAKPOINTS.LAPTOP} {\n display: none;\n }\n`\n\nexport const StickyMobileNav = styled(OnlyMobileShow)`\n background-color: red;\n bottom: 0;\n display: block;\n left: 0;\n position: fixed;\n width: 100%;\n`\n\nexport const Sidebar = styled.div<{ isEditMode: boolean }>`\n margin-top: 40px;\n\n & > *:not(:last-child) {\n margin-bottom: 38px;\n }\n\n @media screen and ${({ isEditMode }) => (isEditMode ? EDIT_MODE_SMALL_LAPTOP : BREAKPOINTS.LAPTOP)} {\n margin-top: 0;\n width: ${({ isEditMode }) => (isEditMode ? 'fit-content' : SIDEBAR_MAX_WIDTH)};\n min-width: 336px;\n max-width: ${({ isEditMode }) => (isEditMode ? '336px' : SIDEBAR_MAX_WIDTH)};\n margin-left: 45px;\n }\n\n @media screen and ${BREAKPOINTS.LAPTOP_L} {\n width: ${SIDEBAR_MAX_WIDTH};\n max-width: ${SIDEBAR_MAX_WIDTH};\n\n flex: none;\n }\n`\n\nexport const SidebarHeading = styled.div`\n margin-bottom: 30px;\n\n ${S.heading.M} {\n margin-bottom: 13px;\n }\n`\n\nexport const SidebarItem = styled.div<{ forceBorder?: boolean }>`\n border-bottom: 1px solid ${COLORS.GREY_SHADE_5};\n margin-bottom: 28px;\n padding-bottom: 30px;\n position: relative;\n\n &:last-child {\n border-bottom-width: ${({ forceBorder }) => (forceBorder ? '1px' : '0px')};\n }\n\n @media screen and ${BREAKPOINTS.LAPTOP} {\n margin: 0px;\n margin-bottom: 28px;\n }\n`\n\n// Backer and Sponsor blocks\nexport const BackerContainer = styled.div<{ variant?: string }>`\n display: flex;\n padding: 15px;\n align-items: start;\n align-content: start;\n background-color: ${(props) => (props.variant === 'sponsor' ? COLORS.PRIMARY_SAND : COLORS.PRIMARY_WHITE)};\n box-shadow: 0 0 0 1px ${COLORS.GREY_SHADE_5};\n\n @media screen and ${BREAKPOINTS.LAPTOP} {\n align-content: center;\n }\n\n ${(props) =>\n props.variant === 'light' &&\n css`\n @media screen and ${BREAKPOINTS.LAPTOP} {\n align-items: start;\n align-content: start;\n padding: 10px 0;\n box-shadow: none;\n }\n `}\n`\n\nexport const BackerCommentWrapper = styled(S.copy.S)`\n background-color: ${COLORS.PRIMARY_SAND};\n border-radius: 0px 4px 4px 4px;\n margin-left: 20px;\n padding: 10px 20px;\n position: relative;\n width: fit-content;\n\n &::before {\n content: '';\n background-color: ${COLORS.PRIMARY_SAND};\n clip-path: polygon(0 0, 100% 0, 100% 100%);\n @supports (clip-path: path('M 0 0')) {\n clip-path: path('M 20 0 L 20 20 L 4 4 Q 0 0 5 0 L 20 0');\n }\n height: 20px;\n left: -19px;\n position: absolute;\n top: 0%;\n width: 20px;\n }\n`\n\nexport const Avatar = styled.a<{ variant?: string }>`\n margin-right: 10px;\n\n ${S.image.Avatar} {\n width: 36px;\n height: 36px;\n }\n\n @media screen and ${BREAKPOINTS.LAPTOP} {\n ${S.image.Avatar} {\n width: 52px;\n height: 52px;\n }\n }\n\n ${(props) =>\n props.variant === 'light' &&\n css`\n @media screen and ${BREAKPOINTS.LAPTOP} {\n ${S.image.Avatar} {\n width: 36px;\n height: 36px;\n }\n }\n `}\n`\n\nexport const BackerInfo = styled.div<{ variant?: string }>`\n flex-grow: 1;\n display: block;\n\n ${(props) =>\n props.variant === 'sponsor' &&\n css`\n justify-content: space-between;\n align-items: center;\n align-content: center;\n `}\n a {\n text-decoration: none;\n }\n\n br {\n display: block;\n }\n\n ${S.copy.M}, a, ${S.heading.XS} {\n display: inline-block;\n }\n\n ${S.heading.XS}, ${S.tag.RoleTag}, ${S.copy.M} {\n margin-right: 5px;\n }\n\n ${S.copy.M}[href] {\n color: ${COLORS.PRIMARY_BLUE};\n transition: 0.15s ease;\n\n &:hover {\n color: ${COLORS.PRIMARY_BLUE_HOVER};\n }\n }\n\n ${S.heading.XS} {\n font-size: 16px;\n }\n\n ${S.heading.XXXXXS} {\n display: block;\n margin-top: 5px;\n margin-right: 10px;\n }\n\n @media screen and ${BREAKPOINTS.MOBILE_L} {\n display: flex;\n justify-content: space-between;\n align-content: center;\n\n ${S.heading.XS} {\n font-size: 19px;\n }\n\n br {\n display: none;\n }\n\n ${S.heading.XXXXXS} {\n flex: none;\n display: inline-block;\n margin-top: 10px;\n }\n }\n\n ${(props) =>\n props.variant === 'light' &&\n css`\n align-items: start;\n align-content: start;\n\n @media screen and ${BREAKPOINTS.LAPTOP} {\n margin-top: 6px;\n\n ${S.heading.XS} {\n font-size: 16px;\n }\n\n br {\n display: block;\n }\n\n ${S.heading.XXXXXS} {\n display: block;\n margin-top: 5px;\n }\n }\n `}\n`\n\nexport const Blurred = styled.div`\n display: flex;\n filter: blur(8px);\n position: relative;\n\n &::before {\n background-color: ${COLORS.GREY_SHADE_5};\n border-radius: 6px;\n content: '';\n height: 20px;\n position: absolute;\n width: 60px;\n z-index: ${ZINDEX.BELOW};\n }\n`\n"], "mappings": "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", "names": ["init_define_process_env", "init_sentry_release_injection_stub", "useAuth", "options", "dispatch", "useDispatch", "user_exports", "__spreadValues", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "setRewardId", "id", "storeSubmitConfirmationHandler", "handleClose", "handleSubmit", "toggleModalFollow", "isOpen", "toggleModalPaymentDisturbance", "toggleModalPostCampaign", "toggleModalReward", "extra", "toggleModalSubmitForReview", "toggleShareOverlay", "isOpen", "init_define_process_env", "init_sentry_release_injection_stub", "useDisplayMode", "project", "location", "useLocation", "userPermissions", "preview", "isPreview", "project_exports", "pathname", "init_define_process_env", "init_sentry_release_injection_stub", "React", "useHashRouting", "location", "useLocation", "dispatch", "useDispatch", "toggleShareOverlay", "useNavigation", "navigate", "useNavigate", "is", "to", "pathTo", "path", "pathname", "hash", "comparedPathname", "currentLocation", "state", "_a", "routerPath", "hashIndex", "isPreview", "init_define_process_env", "init_sentry_release_injection_stub", "EDIT_MODE_SMALL_LAPTOP", "EDIT_MODE_LAPTOP_BREAKPOINT", "EDIT_MODE_TABLET_BREAKPOINT", "MIDDLE_TABLET_LAPTOP_BREAKPOINT", "init_define_process_env", "init_sentry_release_injection_stub", "PATHS", "params", "init_define_process_env", "init_sentry_release_injection_stub", "SIDEBAR_MAX_WIDTH", "_a", "Content", "src_default", "__template", "_b", "Main", "colors_exports", "isEditMode", "EDIT_MODE_SMALL_LAPTOP", "breakpoints_exports", "_c", "Wrapper", "_d", "OnlyDesktopShow", "_e", "OnlyMobileShow", "_f", "StickyMobileNav", "_g", "Sidebar", "_h", "SidebarHeading", "styles_exports", "_i", "SidebarItem", "forceBorder", "_j", "_k", "BackerContainer", "props", "css", "_l", "BackerCommentWrapper", "_m", "_n", "Avatar", "_o", "_p", "_q", "BackerInfo", "_r", "Blurred", "zindex_exports"] }