{"version":3,"file":"js/7590-2d3e4456d12f28f3d60c.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectActionButtons/ProjectActionButtonsForProvider.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectNavbar/ProjectNavbar.scss?3fdc","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectNavbar/ProjectNavbar.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectStickyBar/ProjectStickyBar.scss?2d72","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectStickyBar/ProjectStickyBarUsersDropdown.scss?d476","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectStickyBar/ProjectStickyBarUsersDropdown.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectActionButtons/ProjectActionButtonsForUser.res.js","webpack://datacenters/./client/app/rescript/styleguide/icons/IconDataCenterLogo.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectStickyBar/ProjectStickyBarRolesDropdown.scss?5229","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectStickyBar/info/ProjectStickyBarAdminInfo.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectStickyBar/info/ProjectStickyBarOwnerInfo.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectStickyBar/info/ProjectStickyBarProviderInfo.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectStickyBar/ProjectStickyBarRolesDropdown.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectStickyBar/ProjectStickyBar.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectStickyBar/ProjectStickyBarData.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Tag/Tag.scss?3884","webpack://datacenters/./client/app/rescript/styleguide/components/Tag/Tag.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Image/ImageWithFallback.res.js","webpack://datacenters/./client/app/rescript/styleguide/forms/Picture/Picture.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectActionButtons/ProjectActionButtons.scss?42e7"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../../styleguide/components/Button/Button.res.js\";\nimport * as NoBidModal from \"../../../../../styleguide/modals/NoBidModal/NoBidModal.res.js\";\nimport * as Routes_Project from \"../../../../../routes/common/Routes_Project.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectActionButtonsScss from \"./ProjectActionButtons.scss\";\n\nvar css = ProjectActionButtonsScss;\n\nfunction reducer(state, action) {\n return {\n isNoBidModalShown: !state.isNoBidModalShown\n };\n}\n\nfunction ProjectActionButtonsForProvider(props) {\n var projectId = props.projectId;\n var match = React.useReducer(reducer, {\n isNoBidModalShown: false\n });\n var dispatch = match[1];\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Button.AsLink.make, {\n id: \"sendProposalButton\",\n href: Routes_Project.Proposal.$$new(projectId),\n size: \"XS\",\n color: \"Teal\",\n buttonClassName: css.headerButton,\n children: \"Send Proposal\"\n }),\n JsxRuntime.jsx(Button.make, {\n id: \"noBidButton\",\n size: \"XS\",\n color: \"Gray\",\n buttonClassName: Cx.cx([\n css.headerButton,\n css.noMarginRight\n ]),\n onClick: (function (param) {\n dispatch(\"ToogleNoBidModal\");\n }),\n children: \"No Bid\"\n }),\n match[0].isNoBidModalShown ? JsxRuntime.jsx(NoBidModal.make, {\n title: \"No Bid\",\n close: (function () {\n dispatch(\"ToogleNoBidModal\");\n }),\n projectId: projectId,\n userRole: props.userRole\n }) : null\n ],\n className: css.actionButtonsContainer\n });\n}\n\nvar make = ProjectActionButtonsForProvider;\n\nexport {\n css ,\n reducer ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var activeTab = \"ProjectNavbar__activeTab__sZUkr\";\nexport var barContainer = \"ProjectNavbar__barContainer__tuORh\";\nexport var column = \"ProjectNavbar__column__xD3u8\";\nexport var flex = \"ProjectNavbar__flex__yE2S7\";\nexport var flexColumn = \"ProjectNavbar__flexColumn__cQ7Ey\";\nexport var gap1 = \"ProjectNavbar__gap1__yupoJ\";\nexport var gap2 = \"ProjectNavbar__gap2__KLVYk\";\nexport var gap3 = \"ProjectNavbar__gap3__hmkRj\";\nexport var gap4 = \"ProjectNavbar__gap4__piiQj\";\nexport var gap5 = \"ProjectNavbar__gap5__oFqQJ\";\nexport var row = \"ProjectNavbar__row__uxxUU\";\nexport var tabItem = \"ProjectNavbar__tabItem__vHB5u\";\nexport var wrapper = \"ProjectNavbar__wrapper__Ao6rC\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Url from \"../../../../../utils/Url.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Routes_Project from \"../../../../../routes/common/Routes_Project.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectNavbarScss from \"./ProjectNavbar.scss\";\n\nvar css = ProjectNavbarScss;\n\nfunction ProjectNavbar(props) {\n var totalProposals = props.totalProposals;\n var projectId = props.projectId;\n var userRole = props.userRole;\n var activeTab = props.activeTab;\n var tmp;\n switch (props.viewContext) {\n case \"Personal\" :\n tmp = totalProposals !== undefined && totalProposals !== 0 ? (\n totalProposals !== 1 ? String(totalProposals) + \" Proposals\" : \"1 Proposal\"\n ) : \"Proposals\";\n break;\n case \"Admin\" :\n switch (userRole) {\n case \"Provider\" :\n tmp = totalProposals !== undefined && totalProposals !== 0 ? \"Your Proposal\" : \"Send Proposal\";\n break;\n case \"Visitor\" :\n tmp = \"\";\n break;\n default:\n tmp = totalProposals !== undefined && totalProposals !== 0 ? (\n totalProposals !== 1 ? String(totalProposals) + \" Proposals\" : \"1 Proposal\"\n ) : \"Proposals\";\n }\n break;\n case \"Visitor\" :\n tmp = \"\";\n break;\n \n }\n var tmp$1;\n switch (userRole) {\n case \"Provider\" :\n case \"User\" :\n case \"Visitor\" :\n tmp$1 = \"\";\n break;\n default:\n tmp$1 = \"Manage Providers\";\n }\n var tabs = [\n {\n id: \"Details\",\n label: \"Project Details\"\n },\n {\n id: \"Proposals\",\n label: tmp\n },\n {\n id: \"Providers\",\n label: tmp$1\n }\n ];\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: Belt_Array.mapWithIndex(tabs, (function (index, tab) {\n var match = tab.id;\n return JsxRuntime.jsx(\"span\", {\n children: tab.label,\n className: Cx.cx([\n css.tabItem,\n activeTab === tab.id ? css.activeTab : \"\"\n ]),\n id: match === \"Proposals\" ? \"proposalsTab\" : (\n match === \"Details\" ? \"detailsTab\" : \"providersTab\"\n ),\n onClick: (function (param) {\n var match = tab.id;\n if (match === \"Proposals\") {\n return Url.visit(Routes_Project.Proposal.index(projectId));\n } else if (match === \"Details\") {\n return Url.visit(Routes_Project.detail(projectId));\n } else {\n return Url.visit(Routes_Project.Provider.index(projectId));\n }\n })\n }, tab.label + String(index));\n })),\n className: css.barContainer\n }),\n className: css.wrapper\n });\n}\n\nvar make = ProjectNavbar;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"ProjectStickyBar__column__b3vOd\";\nexport var container = \"ProjectStickyBar__container__S4kS7\";\nexport var flex = \"ProjectStickyBar__flex__v06Hg\";\nexport var flexColumn = \"ProjectStickyBar__flexColumn__xra4v\";\nexport var gap1 = \"ProjectStickyBar__gap1__R2XeV\";\nexport var gap2 = \"ProjectStickyBar__gap2__uiutZ\";\nexport var gap3 = \"ProjectStickyBar__gap3__Oi8ZM\";\nexport var gap4 = \"ProjectStickyBar__gap4__GhSuy\";\nexport var gap5 = \"ProjectStickyBar__gap5__s74aI\";\nexport var providerDropdown = \"ProjectStickyBar__providerDropdown__xKcrm\";\nexport var rightCol = \"ProjectStickyBar__rightCol__nS3Yb\";\nexport var rolesContainer = \"ProjectStickyBar__rolesContainer__Nw459\";\nexport var row = \"ProjectStickyBar__row__Z7moE\";","// extracted by mini-css-extract-plugin\nexport var actionContainer = \"ProjectStickyBarUsersDropdown__actionContainer__tbBJ9\";\nexport var avatar = \"ProjectStickyBarUsersDropdown__avatar__wPaLD\";\nexport var avatarPic = \"ProjectStickyBarUsersDropdown__avatarPic__WkWBk\";\nexport var column = \"ProjectStickyBarUsersDropdown__column__zj0BF\";\nexport var container = \"ProjectStickyBarUsersDropdown__container__HTI8y\";\nexport var dropdownBody = \"ProjectStickyBarUsersDropdown__dropdownBody__Uloyr\";\nexport var dropdownTitle = \"ProjectStickyBarUsersDropdown__dropdownTitle__uXoh8\";\nexport var flex = \"ProjectStickyBarUsersDropdown__flex__H0mOc\";\nexport var flexColumn = \"ProjectStickyBarUsersDropdown__flexColumn__BcJnM\";\nexport var gap1 = \"ProjectStickyBarUsersDropdown__gap1__CuMsT\";\nexport var gap2 = \"ProjectStickyBarUsersDropdown__gap2__QFPKp\";\nexport var gap3 = \"ProjectStickyBarUsersDropdown__gap3__YibTm\";\nexport var gap4 = \"ProjectStickyBarUsersDropdown__gap4__QhP_j\";\nexport var gap5 = \"ProjectStickyBarUsersDropdown__gap5__VRlNj\";\nexport var item = \"ProjectStickyBarUsersDropdown__item__Im5_P\";\nexport var label = \"ProjectStickyBarUsersDropdown__label__a0pyl\";\nexport var list = \"ProjectStickyBarUsersDropdown__list__PsmV2\";\nexport var nameAndBadgeWrapper = \"ProjectStickyBarUsersDropdown__nameAndBadgeWrapper__LO7mM\";\nexport var pickedUsers = \"ProjectStickyBarUsersDropdown__pickedUsers__VxIJ8\";\nexport var roleTag = \"ProjectStickyBarUsersDropdown__roleTag__fqsEA\";\nexport var row = \"ProjectStickyBarUsersDropdown__row__s_M2w\";\nexport var save = \"ProjectStickyBarUsersDropdown__save__DAFDO\";\nexport var search = \"ProjectStickyBarUsersDropdown__search__tnNgK\";\nexport var searchFieldInput = \"ProjectStickyBarUsersDropdown__searchFieldInput__orS1y\";\nexport var searchIcon = \"ProjectStickyBarUsersDropdown__searchIcon__y_Pe9\";\nexport var selectAll = \"ProjectStickyBarUsersDropdown__selectAll__li2iU\";\nexport var selectButton = \"ProjectStickyBarUsersDropdown__selectButton__J75Ml\";\nexport var userJobTitle = \"ProjectStickyBarUsersDropdown__userJobTitle__M3mLV\";\nexport var userName = \"ProjectStickyBarUsersDropdown__userName__kTEbV\";\nexport var usersList = \"ProjectStickyBarUsersDropdown__usersList__T38P_\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../../../libs/ID.res.js\";\nimport * as Tag from \"../../../../../styleguide/components/Tag/Tag.res.js\";\nimport * as Role from \"../../../../../models/Role.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../../styleguide/components/Button/Button.res.js\";\nimport * as $$String from \"rescript/lib/es6/string.js\";\nimport * as Picture from \"../../../../../styleguide/forms/Picture/Picture.res.js\";\nimport * as Caml_obj from \"rescript/lib/es6/caml_obj.js\";\nimport * as Checkbox from \"../../../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Dropdown from \"../../../../../styleguide/forms/Dropdown/Dropdown.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Js_string from \"rescript/lib/es6/js_string.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Cloudinary from \"../../../../../libs/Cloudinary.res.js\";\nimport * as SearchField from \"../../../../../styleguide/forms/SearchField/SearchField.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectStickyBarUsersDropdownScss from \"./ProjectStickyBarUsersDropdown.scss\";\n\nvar css = ProjectStickyBarUsersDropdownScss;\n\nfunction ProjectStickyBarUsersDropdown$UserRow(props) {\n var updateSelectedUsers = props.updateSelectedUsers;\n var selectedUserIds = props.selectedUserIds;\n var user = props.user;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Checkbox.make, {\n id: \"project-sticky-bar-user\" + ID.toString(user.id),\n size: \"SM\",\n checked: (function (__x) {\n return Js_array.includes(user.id, __x);\n })(selectedUserIds),\n onChange: (function ($$event) {\n var checked = $$event.target.checked;\n if (checked) {\n return updateSelectedUsers(Belt_Array.concat(selectedUserIds, [user.id]));\n } else {\n return updateSelectedUsers(Belt_Array.keep(selectedUserIds, (function (value) {\n return Caml_obj.notequal(value, user.id);\n })));\n }\n })\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Picture.make, {\n src: Cloudinary.imageUrl(user.profilePic),\n large: [\n 40,\n 40\n ],\n crop: \"Fill\",\n imageClassName: css.avatarPic,\n fallbackSrc: Cloudinary.imageUrl(\"static/profile-avatar\")\n }),\n className: css.avatar\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"span\", {\n children: user.firstName + (\" \" + user.lastName),\n className: css.userName\n }),\n JsxRuntime.jsx(Tag.make, {\n text: Role.toCapital(user.role),\n className: css.roleTag\n })\n ],\n className: css.nameAndBadgeWrapper\n }),\n JsxRuntime.jsx(\"p\", {\n children: user.jobTitle,\n className: css.userJobTitle\n })\n ]\n })\n ],\n className: css.item\n });\n}\n\nvar UserRow = {\n make: ProjectStickyBarUsersDropdown$UserRow\n};\n\nfunction ProjectStickyBarUsersDropdown(props) {\n var save = props.save;\n var updateSelectedUsers = props.updateSelectedUsers;\n var selectedUserIds = props.selectedUserIds;\n var users = props.users;\n var title = props.title;\n var match = React.useState(function () {\n return \"\";\n });\n if (users.length === 0) {\n return null;\n }\n var setQuery = match[1];\n var query = match[0];\n var n = selectedUserIds.length;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: title,\n className: css.label\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(Dropdown.make, {\n className: css.usersList,\n children: [\n JsxRuntime.jsx(Dropdown.Trigger.make, {\n className: css.pickedUsers,\n iconSize: \"XS\",\n iconColor: \"LighterGray\",\n children: n !== 0 ? (\n n !== 1 ? String(n) + (\" \" + ($$String.lowercase_ascii(title) + \"s\")) : \"1 \" + $$String.lowercase_ascii(title)\n ) : \"Select\"\n }),\n JsxRuntime.jsxs(Dropdown.Body.make, {\n position: {\n TAG: \"Above\",\n _0: \"LeftEdge\"\n },\n className: css.dropdownBody,\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Select \" + title,\n className: css.dropdownTitle\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(SearchField.make, {\n id: \"project-sticky-bar-find-user\",\n value: query,\n placeholder: \"Search \" + ($$String.lowercase_ascii(title) + \" name or title\"),\n inputClassName: css.searchFieldInput,\n iconClassName: css.searchIcon,\n onChange: (function ($$event) {\n setQuery($$event.target.value);\n })\n }),\n className: css.search\n }),\n JsxRuntime.jsx(\"div\", {\n children: selectedUserIds.length === users.length ? JsxRuntime.jsx(\"span\", {\n children: \"Deselect all\",\n className: css.selectButton,\n onClick: (function (param) {\n updateSelectedUsers([]);\n })\n }) : JsxRuntime.jsx(\"span\", {\n children: \"Select all\",\n className: css.selectButton,\n onClick: (function (param) {\n updateSelectedUsers(Belt_Array.map(users, (function (user) {\n return user.id;\n })));\n })\n }),\n className: css.selectAll\n }),\n JsxRuntime.jsx(\"div\", {\n children: query === \"\" ? Belt_Array.map(users, (function (user) {\n return JsxRuntime.jsx(ProjectStickyBarUsersDropdown$UserRow, {\n user: user,\n selectedUserIds: selectedUserIds,\n updateSelectedUsers: updateSelectedUsers\n }, ID.toString(user.id));\n })) : Belt_Array.map(users.filter(function (item) {\n if ((function (__x) {\n return Js_string.includes(query.toLowerCase(), __x);\n })(item.firstName.toLowerCase())) {\n return true;\n } else {\n var __x = item.lastName.toLowerCase();\n return Js_string.includes(query.toLowerCase(), __x);\n }\n }), (function (user) {\n return JsxRuntime.jsx(ProjectStickyBarUsersDropdown$UserRow, {\n user: user,\n selectedUserIds: selectedUserIds,\n updateSelectedUsers: updateSelectedUsers\n }, ID.toString(user.id));\n })),\n className: css.list\n })\n ]\n })\n ]\n }),\n JsxRuntime.jsx(Button.make, {\n size: \"MD\",\n color: \"Teal\",\n busy: props.usersListStatus !== \"Ready\",\n className: css.save,\n onClick: (function (param) {\n save();\n }),\n children: \"Save\"\n })\n ],\n className: css.actionContainer\n })\n ],\n className: css.container,\n id: \"project-sticky-bar-users-dropdown\"\n });\n}\n\nvar make = ProjectStickyBarUsersDropdown;\n\nexport {\n css ,\n UserRow ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Api from \"../../../../../api/Api.res.js\";\nimport * as Url from \"../../../../../utils/Url.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../../styleguide/components/Button/Button.res.js\";\nimport * as Toggle from \"../../../../../styleguide/forms/Toggle/Toggle.res.js\";\nimport * as Popover from \"../../../../../styleguide/components/Popover/Popover.res.js\";\nimport * as Project from \"../../../../../models/Project.res.js\";\nimport * as $$Promise from \"../../../../../bindings/Promise.res.js\";\nimport * as IconMenu from \"../../../../../styleguide/icons/IconMenu.res.js\";\nimport * as SentryLogger from \"../../../../../loggers/SentryLogger.res.js\";\nimport * as ProjectService from \"../../../../../services/ProjectService.res.js\";\nimport * as Routes_Project from \"../../../../../routes/common/Routes_Project.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectActionButtonsScss from \"./ProjectActionButtons.scss\";\nimport * as ProjectProposalStatusDropdown from \"../ProjectProposalStatusDropdown/ProjectProposalStatusDropdown.res.js\";\nimport * as ProjectStickyBarUsersDropdown from \"../ProjectStickyBar/ProjectStickyBarUsersDropdown.res.js\";\n\nvar css = ProjectActionButtonsScss;\n\nfunction statusClass(status) {\n switch (status) {\n case \"Finalized\" :\n return css.finalizedText;\n case \"Review\" :\n return css.reviewText;\n default:\n return \"\";\n }\n}\n\nfunction statusContainerClass(status) {\n switch (status) {\n case \"Finalized\" :\n return css.finalizedContainer;\n case \"Review\" :\n return css.reviewContainer;\n default:\n return \"\";\n }\n}\n\nvar Helpers = {\n statusClass: statusClass,\n statusContainerClass: statusContainerClass\n};\n\nfunction reducer(state, action) {\n switch (action.TAG) {\n case \"UpdateProjectRole\" :\n return {\n userProjectRole: action._0,\n selectedManagers: state.selectedManagers,\n selectedConcierges: state.selectedConcierges,\n usersListStatus: state.usersListStatus,\n proposal: state.proposal\n };\n case \"UpdateManagers\" :\n return {\n userProjectRole: state.userProjectRole,\n selectedManagers: action._0,\n selectedConcierges: state.selectedConcierges,\n usersListStatus: state.usersListStatus,\n proposal: state.proposal\n };\n case \"UpdateStatus\" :\n return {\n userProjectRole: state.userProjectRole,\n selectedManagers: state.selectedManagers,\n selectedConcierges: state.selectedConcierges,\n usersListStatus: action._0,\n proposal: state.proposal\n };\n case \"UpdateProposal\" :\n return {\n userProjectRole: state.userProjectRole,\n selectedManagers: state.selectedManagers,\n selectedConcierges: state.selectedConcierges,\n usersListStatus: state.usersListStatus,\n proposal: action._0.proposal\n };\n case \"UpdateConcierges\" :\n return {\n userProjectRole: state.userProjectRole,\n selectedManagers: state.selectedManagers,\n selectedConcierges: action._0,\n usersListStatus: state.usersListStatus,\n proposal: state.proposal\n };\n \n }\n}\n\nfunction ProjectActionButtonsForUser$ProjectStickyBarProviderUsersDropdown(props) {\n var userProjectRole = props.userProjectRole;\n if (typeof userProjectRole !== \"object\" || userProjectRole._0.TAG !== \"Owner\") {\n return null;\n } else {\n return JsxRuntime.jsx(ProjectStickyBarUsersDropdown.make, {\n title: \"Manager\",\n users: props.users,\n selectedUserIds: props.selectedUserIds,\n updateSelectedUsers: props.updateSelectedUsers,\n usersListStatus: props.usersListStatus,\n save: props.save\n });\n }\n}\n\nvar ProjectStickyBarProviderUsersDropdown = {\n make: ProjectActionButtonsForUser$ProjectStickyBarProviderUsersDropdown\n};\n\nfunction ProjectActionButtonsForUser(props) {\n var mobile = props.mobile;\n var projectStickyBarData = props.projectStickyBarData;\n var userRole = props.userRole;\n var status = props.status;\n var projectId = projectStickyBarData.project.id;\n var category = Project.Category.fromString(projectStickyBarData.project.category, projectStickyBarData.project.subcategory);\n var initialState = React.useMemo((function () {\n var ids = projectStickyBarData.selectedManagers;\n var ids$1 = projectStickyBarData.selectedConcierges;\n return {\n userProjectRole: projectStickyBarData.userProjectRole,\n selectedManagers: ids !== undefined ? ids : [],\n selectedConcierges: ids$1 !== undefined ? ids$1 : [],\n usersListStatus: \"Ready\",\n proposal: projectStickyBarData.proposalDetails\n };\n }), []);\n var match = React.useReducer(reducer, initialState);\n var dispatch = match[1];\n var state = match[0];\n var saveConcierges = function () {\n dispatch({\n TAG: \"UpdateStatus\",\n _0: \"Saving\"\n });\n $$Promise.wait(Api.saveProjectConcierges(projectId, state.selectedConcierges), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"UpdateStatus\",\n _0: \"Ready\"\n });\n } else {\n return SentryLogger.error1({\n rootModule: \"ProjectActionButtonsForUser\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"ProjectActionButtonsForUser.make\"\n }, \"ProjectStickyBar::SaveConcierges::Error\", [\n \"Error\",\n x._0\n ]);\n }\n }));\n };\n var match$1 = React.useState(function () {\n return status;\n });\n var setStatus = match$1[1];\n var status$1 = match$1[0];\n var match$2 = React.useState(function () {\n return \"Hidden\";\n });\n var setDeleteModalVisibility = match$2[1];\n var updateProjectStatus = function (status) {\n $$Promise.wait(Api.updateProjectStatus(projectId, status), (function (x) {\n if (x.TAG !== \"Ok\") {\n return SentryLogger.error1({\n rootModule: \"ProjectActionButtonsForUser\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"ProjectActionButtonsForUser.make\"\n }, \"UpdateStatus::Error\", [\n \"Error\",\n x._0\n ]);\n }\n var match = x._0.project;\n if (match.TAG === \"Draft\") {\n return ;\n }\n var status = match.data.status;\n setStatus(function (param) {\n return status;\n });\n }));\n };\n var tmp;\n if (!mobile && userRole !== \"Provider\") {\n var tmp$1;\n var exit = 0;\n switch (status$1) {\n case \"Active\" :\n case \"Inactive\" :\n exit = 1;\n break;\n default:\n tmp$1 = null;\n }\n if (exit === 1) {\n var tmp$2;\n tmp$2 = status$1 === \"Active\" ? true : false;\n tmp$1 = JsxRuntime.jsx(Toggle.make, {\n on: tmp$2,\n size: \"SM\",\n onChange: (function () {\n var tmp;\n switch (status$1) {\n case \"Draft\" :\n tmp = \"Draft\";\n break;\n case \"Active\" :\n tmp = \"Inactive\";\n break;\n case \"Inactive\" :\n tmp = \"Active\";\n break;\n case \"Finalized\" :\n tmp = \"Finalized\";\n break;\n case \"Review\" :\n tmp = \"Review\";\n break;\n \n }\n updateProjectStatus(tmp);\n })\n });\n }\n tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"p\", {\n children: Project.Status.toString(status$1),\n className: Cx.cx([\n css.inactiveText,\n statusClass(status$1)\n ])\n }),\n tmp$1\n ],\n className: Cx.cx([\n css.toggleContainer,\n statusContainerClass(status$1)\n ])\n }),\n JsxRuntime.jsx(Button.make, {\n size: \"XS\",\n color: \"Teal\",\n buttonClassName: css.headerButton,\n onClick: (function (param) {\n Url.visit(Routes_Project.update(projectId));\n }),\n children: \"Edit Project\"\n })\n ]\n });\n } else {\n tmp = null;\n }\n var tmp$3;\n if (mobile || props.tablet) {\n var tmp$4;\n if (userRole !== \"Provider\" && props.viewContext === \"Admin\") {\n tmp$4 = JsxRuntime.jsx(ProjectStickyBarUsersDropdown.make, {\n title: \"Concierge\",\n users: projectStickyBarData.concierges,\n selectedUserIds: state.selectedConcierges,\n updateSelectedUsers: (function (selectedUserIds) {\n dispatch({\n TAG: \"UpdateConcierges\",\n _0: selectedUserIds\n });\n }),\n usersListStatus: state.usersListStatus,\n save: saveConcierges\n });\n } else {\n var proposal = state.proposal;\n tmp$4 = proposal !== undefined ? JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(ProjectActionButtonsForUser$ProjectStickyBarProviderUsersDropdown, {\n userProjectRole: state.userProjectRole,\n users: projectStickyBarData.providerMembers,\n selectedUserIds: state.selectedManagers,\n updateSelectedUsers: (function (selectedUserIds) {\n dispatch({\n TAG: \"UpdateManagers\",\n _0: selectedUserIds\n });\n }),\n usersListStatus: state.usersListStatus,\n save: props.saveManagers\n }),\n JsxRuntime.jsx(ProjectProposalStatusDropdown.make, {\n proposal: proposal,\n projectId: projectId,\n userViewContext: \"Admin\",\n iconSize: \"XS\",\n updateProposalStatus: props.updateProposalStatus,\n setBidModalVisibility: (function (prim) {\n \n }),\n className: css.providerDropdown,\n position: {\n TAG: \"Above\",\n _0: \"LeftEdge\"\n }\n })\n ]\n }) : null;\n }\n var tmp$5;\n if (mobile && userRole !== \"Provider\") {\n var tmp$6;\n var exit$1 = 0;\n switch (status$1) {\n case \"Active\" :\n case \"Inactive\" :\n exit$1 = 1;\n break;\n default:\n tmp$6 = null;\n }\n if (exit$1 === 1) {\n var tmp$7;\n tmp$7 = status$1 === \"Active\" ? true : false;\n tmp$6 = JsxRuntime.jsx(Toggle.make, {\n on: tmp$7,\n size: \"SM\",\n onChange: (function () {\n var tmp;\n switch (status$1) {\n case \"Draft\" :\n tmp = \"Draft\";\n break;\n case \"Active\" :\n tmp = \"Inactive\";\n break;\n case \"Inactive\" :\n tmp = \"Active\";\n break;\n case \"Finalized\" :\n tmp = \"Finalized\";\n break;\n case \"Review\" :\n tmp = \"Review\";\n break;\n \n }\n updateProjectStatus(tmp);\n })\n });\n }\n tmp$5 = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"p\", {\n children: Project.Status.toString(status$1),\n className: Cx.cx([\n css.inactiveText,\n statusClass(status$1)\n ])\n }),\n tmp$6\n ],\n className: css.statusPopoverRow\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"p\", {\n children: \"Edit project\",\n className: css.popOverMenuText\n }),\n onClick: (function (param) {\n Url.visit(Routes_Project.update(projectId));\n })\n }),\n className: css.popoverRow\n })\n ]\n });\n } else {\n tmp$5 = null;\n }\n tmp$3 = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: tmp$4,\n className: css.popoverRow\n }),\n tmp$5\n ]\n });\n } else {\n tmp$3 = null;\n }\n var tmp$8;\n var exit$2 = 0;\n switch (userRole) {\n case \"Admin\" :\n var tmp$9;\n tmp$9 = status$1 === \"Review\" ? JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"p\", {\n children: \"Activate Project\",\n className: css.popOverMenuText\n })\n }),\n className: css.popoverRow,\n onClick: (function (param) {\n updateProjectStatus(\"Active\");\n })\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"p\", {\n children: \"Deactivate Project\",\n className: css.popOverMenuText\n })\n }),\n className: css.popoverRow,\n onClick: (function (param) {\n updateProjectStatus(\"Inactive\");\n })\n })\n ]\n }) : null;\n tmp$8 = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"p\", {\n children: \"Delete project\",\n className: css.popOverMenuText\n }),\n onClick: (function (param) {\n setDeleteModalVisibility(function (param) {\n return \"Shown\";\n });\n })\n }),\n className: css.popoverRow\n }),\n tmp$9\n ]\n });\n break;\n case \"Concierge\" :\n case \"Agent\" :\n exit$2 = 1;\n break;\n default:\n tmp$8 = null;\n }\n if (exit$2 === 1) {\n tmp$8 = status$1 === \"Review\" ? JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"p\", {\n children: \"Activate Project\",\n className: css.popOverMenuText\n })\n }),\n className: css.popoverRow,\n onClick: (function (param) {\n updateProjectStatus(\"Active\");\n })\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"p\", {\n children: \"Deactivate Project\",\n className: css.popOverMenuText\n })\n }),\n className: css.popoverRow,\n onClick: (function (param) {\n updateProjectStatus(\"Inactive\");\n })\n })\n ]\n }) : null;\n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n tmp,\n JsxRuntime.jsxs(Popover.make, {\n className: css.popoverWrapper,\n children: [\n JsxRuntime.jsx(Popover.Trigger.make, {\n className: css.popoverTrigger,\n children: JsxRuntime.jsx(Button.make, {\n size: \"XS\",\n color: \"Teal\",\n buttonClassName: css.popoverButton,\n children: JsxRuntime.jsx(IconMenu.make, {\n size: \"LG\",\n color: \"White\",\n className: css.icon\n })\n })\n }),\n JsxRuntime.jsx(Popover.Body.make, {\n position: {\n TAG: \"Above\",\n _0: \"RightEdge\"\n },\n className: css.popoverBody,\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n tmp$3,\n userRole !== \"Provider\" ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"p\", {\n children: \"Clone project\",\n className: css.popOverMenuText\n }),\n onClick: (function (param) {\n ProjectService.cloneProject(projectId, category);\n })\n }),\n className: css.popoverRow\n }) : null,\n tmp$8\n ],\n className: css.popOverBodyWrapper\n })\n }),\n match$2[0] === \"Shown\" ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Are you sure?\",\n className: css.modalMessageText\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Button.make, {\n size: \"SM\",\n color: \"Gray\",\n onClick: (function (param) {\n setDeleteModalVisibility(function (param) {\n return \"Hidden\";\n });\n }),\n children: \"Cancel\"\n }),\n JsxRuntime.jsx(Button.make, {\n size: \"SM\",\n color: \"Pink\",\n onClick: (function (param) {\n $$Promise.wait(Api.deleteProject(projectId), (function (x) {\n if (x.TAG === \"Ok\") {\n return Url.visit(Routes_Project.index);\n }\n SentryLogger.error({\n rootModule: \"ProjectActionButtonsForUser\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"ProjectActionButtonsForUser.make\"\n }, \"DeleteProject::Error\");\n Url.visit(Routes_Project.index);\n }));\n }),\n children: \"Yes, delete it\"\n })\n ],\n className: css.modalMessageButtons\n })\n ],\n className: css.modalMessageContainer\n }),\n className: css.modalMessageOverlay\n }) : null\n ]\n })\n ],\n className: css.actionButtonsContainer\n });\n}\n\nvar make = ProjectActionButtonsForUser;\n\nexport {\n css ,\n Helpers ,\n reducer ,\n ProjectStickyBarProviderUsersDropdown ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Icon from \"../components/Icon/Icon.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction IconDataCenterLogo(props) {\n var __title = props.title;\n var title = __title !== undefined ? __title : \"Datacenter logo\";\n return JsxRuntime.jsx(Icon.make, {\n title: title,\n size: props.size,\n viewBoxSize: \"30\",\n className: props.className,\n children: JsxRuntime.jsxs(\"g\", {\n children: [\n JsxRuntime.jsx(\"path\", {\n d: \"M30 15L15 30 12 27 24.3 15 12.1 2.9 15 0l12 12zM3.2 15.1l6.7 6.7-1.6 1.6L0 15.1l1.6-1.5 6.7-6.7 1.6 1.5z\",\n fill: \"#1E2022\",\n fillRule: \"nonzero\"\n }),\n JsxRuntime.jsx(\"path\", {\n d: \"M12.5 11.5l3.6 3.6-3.6 3.7L9 15z\",\n fill: \"#7ACCC8\"\n })\n ],\n fill: \"none\",\n fillRule: \"evenodd\"\n })\n });\n}\n\nvar make = IconDataCenterLogo;\n\nexport {\n make ,\n}\n/* Icon Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var avatar = \"ProjectStickyBarRolesDropdown__avatar__QVqzN\";\nexport var avatarPic = \"ProjectStickyBarRolesDropdown__avatarPic__l2EaT\";\nexport var column = \"ProjectStickyBarRolesDropdown__column__QPsDA\";\nexport var container = \"ProjectStickyBarRolesDropdown__container__Kn3D4\";\nexport var currentRole = \"ProjectStickyBarRolesDropdown__currentRole__WOAvr\";\nexport var currentRoleWrapper = \"ProjectStickyBarRolesDropdown__currentRoleWrapper__sfJWy\";\nexport var dropdownBody = \"ProjectStickyBarRolesDropdown__dropdownBody__Z6S6I\";\nexport var dropdownTitle = \"ProjectStickyBarRolesDropdown__dropdownTitle__XncCA\";\nexport var flex = \"ProjectStickyBarRolesDropdown__flex__U0B27\";\nexport var flexColumn = \"ProjectStickyBarRolesDropdown__flexColumn__tyqw2\";\nexport var gap1 = \"ProjectStickyBarRolesDropdown__gap1__DAirZ\";\nexport var gap2 = \"ProjectStickyBarRolesDropdown__gap2__DGLTa\";\nexport var gap3 = \"ProjectStickyBarRolesDropdown__gap3__IUS3Q\";\nexport var gap4 = \"ProjectStickyBarRolesDropdown__gap4__zckzB\";\nexport var gap5 = \"ProjectStickyBarRolesDropdown__gap5__OcwtJ\";\nexport var icon = \"ProjectStickyBarRolesDropdown__icon__tIHnL\";\nexport var item = \"ProjectStickyBarRolesDropdown__item__nOes6\";\nexport var ownerJobTitle = \"ProjectStickyBarRolesDropdown__ownerJobTitle__IpGOb\";\nexport var ownerName = \"ProjectStickyBarRolesDropdown__ownerName__n3a79\";\nexport var rolesList = \"ProjectStickyBarRolesDropdown__rolesList__hUHYa\";\nexport var row = \"ProjectStickyBarRolesDropdown__row__U3yOJ\";\nexport var search = \"ProjectStickyBarRolesDropdown__search__rrN1G\";\nexport var searchFieldInput = \"ProjectStickyBarRolesDropdown__searchFieldInput__IVVf7\";\nexport var searchIcon = \"ProjectStickyBarRolesDropdown__searchIcon__AhowR\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as IconDataCenterLogo from \"../../../../../../styleguide/icons/IconDataCenterLogo.res.js\";\nimport * as ProjectStickyBarRolesDropdownScss from \"../ProjectStickyBarRolesDropdown.scss\";\n\nvar css = ProjectStickyBarRolesDropdownScss;\n\nfunction ProjectStickyBarAdminInfo(props) {\n return JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(IconDataCenterLogo.make, {\n size: \"XL\",\n className: css.icon\n }),\n className: css.avatar\n }),\n JsxRuntime.jsx(\"span\", {\n children: props.title\n })\n ]\n });\n}\n\nvar make = ProjectStickyBarAdminInfo;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Picture from \"../../../../../../styleguide/forms/Picture/Picture.res.js\";\nimport * as Cloudinary from \"../../../../../../libs/Cloudinary.res.js\";\nimport * as IconUserAvatar from \"../../../../../../styleguide/icons/IconUserAvatar.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectStickyBarRolesDropdownScss from \"../ProjectStickyBarRolesDropdown.scss\";\n\nvar css = ProjectStickyBarRolesDropdownScss;\n\nfunction ProjectStickyBarOwnerInfo(props) {\n var owner = props.owner;\n var image = owner.profilePic;\n var tmp;\n var exit = 0;\n if (image !== undefined && image !== \"\") {\n tmp = JsxRuntime.jsx(Picture.make, {\n src: Cloudinary.imageUrl(image),\n large: [\n 60,\n 60\n ],\n crop: \"Fill\",\n imageClassName: css.avatarPic,\n fallbackSrc: Cloudinary.imageUrl(\"static/profile-avatar\")\n });\n } else {\n exit = 1;\n }\n if (exit === 1) {\n tmp = JsxRuntime.jsx(IconUserAvatar.make, {\n size: \"XL\",\n className: css.icon\n });\n }\n var title = owner.jobTitle;\n return JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: tmp,\n className: css.avatar\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"p\", {\n children: owner.fullName,\n className: css.ownerName\n }),\n title !== undefined ? JsxRuntime.jsx(\"p\", {\n children: title,\n className: css.ownerJobTitle\n }) : null\n ]\n })\n ]\n });\n}\n\nvar make = ProjectStickyBarOwnerInfo;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cloudinary from \"../../../../../../libs/Cloudinary.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectStickyBarRolesDropdownScss from \"../ProjectStickyBarRolesDropdown.scss\";\n\nvar css = ProjectStickyBarRolesDropdownScss;\n\nfunction buildLogoUrl(src) {\n return Cloudinary.Url.build(\"Png\", {\n hd: {\n TAG: \"Width\",\n _0: 140\n },\n tl: /* [] */0\n }, src);\n}\n\nvar Helpers = {\n buildLogoUrl: buildLogoUrl\n};\n\nfunction ProjectStickyBarProviderInfo(props) {\n var provider = props.provider;\n return JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"img\", {\n className: css.avatarPic,\n src: buildLogoUrl(provider.logo)\n }),\n className: css.avatar\n }),\n JsxRuntime.jsx(\"span\", {\n children: provider.name\n })\n ]\n });\n}\n\nvar make = ProjectStickyBarProviderInfo;\n\nexport {\n css ,\n Helpers ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../../../libs/ID.res.js\";\nimport * as React from \"react\";\nimport * as Dropdown from \"../../../../../styleguide/forms/Dropdown/Dropdown.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Js_string from \"rescript/lib/es6/js_string.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as SearchField from \"../../../../../styleguide/forms/SearchField/SearchField.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectStickyBarAdminInfo from \"./info/ProjectStickyBarAdminInfo.res.js\";\nimport * as ProjectStickyBarOwnerInfo from \"./info/ProjectStickyBarOwnerInfo.res.js\";\nimport * as ProjectStickyBarProviderInfo from \"./info/ProjectStickyBarProviderInfo.res.js\";\nimport * as ProjectStickyBarRolesDropdownScss from \"./ProjectStickyBarRolesDropdown.scss\";\n\nvar css = ProjectStickyBarRolesDropdownScss;\n\nfunction ProjectStickyBarRolesDropdown$ProvidersList(props) {\n var onClick = props.onClick;\n var query = props.query;\n var providers = props.providers;\n if (query === \"\") {\n return Belt_Array.map(providers, (function (provider) {\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(ProjectStickyBarProviderInfo.make, {\n provider: provider\n }),\n className: css.item,\n onClick: (function (param) {\n onClick(provider);\n })\n }, ID.toString(provider.id));\n }));\n } else {\n return Belt_Array.map((function (__x) {\n return Js_array.filter((function (item) {\n var __x = item.name.toLowerCase();\n return Js_string.includes(query.toLowerCase(), __x);\n }), __x);\n })(providers), (function (provider) {\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(ProjectStickyBarProviderInfo.make, {\n provider: provider\n }),\n className: css.item,\n onClick: (function (param) {\n onClick(provider);\n })\n }, ID.toString(provider.id));\n }));\n }\n}\n\nvar ProvidersList = {\n make: ProjectStickyBarRolesDropdown$ProvidersList\n};\n\nfunction ProjectStickyBarRolesDropdown(props) {\n var updateProjectRole = props.updateProjectRole;\n var userProjectRole = props.userProjectRole;\n var isProviderManager = props.isProviderManager;\n var isProviderOwner = props.isProviderOwner;\n var isOwner = props.isOwner;\n var isConcierge = props.isConcierge;\n var isAdmin = props.isAdmin;\n var providersAsManager = props.providersAsManager;\n var providersAsOwner = props.providersAsOwner;\n var owner = props.owner;\n var match = React.useState(function () {\n return \"\";\n });\n var setQuery = match[1];\n var query = match[0];\n var isBodyExists = isAdmin || (\n isConcierge ? (\n isOwner || isProviderOwner || isProviderManager ? true : false\n ) : (\n isOwner ? (\n isProviderOwner || isProviderManager ? true : false\n ) : (\n isProviderOwner ? (\n isProviderManager ? true : false\n ) : (\n isProviderManager ? false : true\n )\n )\n )\n );\n var tmp;\n if (typeof userProjectRole !== \"object\") {\n tmp = userProjectRole === \"Admin\" ? JsxRuntime.jsx(ProjectStickyBarAdminInfo.make, {\n title: \"View as Admin\"\n }) : JsxRuntime.jsx(ProjectStickyBarOwnerInfo.make, {\n owner: owner\n });\n } else {\n var id = userProjectRole._0;\n if (id.TAG === \"Owner\") {\n var id$1 = id._0;\n var provider = providersAsOwner.find(function (item) {\n return ID.toString(id$1) === ID.toString(item.id);\n });\n tmp = provider !== undefined ? JsxRuntime.jsx(ProjectStickyBarProviderInfo.make, {\n provider: provider\n }) : null;\n } else {\n var id$2 = id._0;\n var provider$1 = providersAsManager.find(function (item) {\n return ID.toString(id$2) === ID.toString(item.id);\n });\n tmp = provider$1 !== undefined ? JsxRuntime.jsx(ProjectStickyBarProviderInfo.make, {\n provider: provider$1\n }) : null;\n }\n }\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(Dropdown.make, {\n className: css.rolesList,\n children: [\n JsxRuntime.jsx(Dropdown.Trigger.make, {\n className: css.currentRoleWrapper,\n iconSize: \"XS\",\n iconColor: \"LighterGray\",\n isBodyExists: isBodyExists,\n children: JsxRuntime.jsx(\"div\", {\n children: tmp,\n className: css.currentRole,\n id: \"project-sticky-bar-current-role\"\n })\n }),\n isBodyExists ? JsxRuntime.jsxs(Dropdown.Body.make, {\n position: {\n TAG: \"Above\",\n _0: \"LeftEdge\"\n },\n className: css.dropdownBody,\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Select provider\",\n className: css.dropdownTitle\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(SearchField.make, {\n id: \"project-sticky-bar-find-role\",\n value: query,\n placeholder: \"Search provider\",\n inputClassName: css.searchFieldInput,\n iconClassName: css.searchIcon,\n onChange: (function ($$event) {\n setQuery($$event.target.value);\n })\n }),\n className: css.search\n }),\n isAdmin || isConcierge ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(ProjectStickyBarAdminInfo.make, {\n title: \"Admin\"\n }),\n className: css.item,\n onClick: (function (param) {\n updateProjectRole(\"Admin\");\n })\n }, \"admin\") : null,\n isAdmin || isOwner ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(ProjectStickyBarOwnerInfo.make, {\n owner: owner\n }),\n className: css.item,\n onClick: (function (param) {\n updateProjectRole(\"Owner\");\n })\n }, \"owner\") : null,\n isAdmin || isProviderOwner ? JsxRuntime.jsx(ProjectStickyBarRolesDropdown$ProvidersList, {\n providers: providersAsOwner,\n query: query,\n onClick: (function (provider) {\n updateProjectRole({\n TAG: \"Provider\",\n _0: {\n TAG: \"Owner\",\n _0: provider.id\n }\n });\n })\n }) : null,\n isAdmin || isProviderManager ? JsxRuntime.jsx(ProjectStickyBarRolesDropdown$ProvidersList, {\n providers: providersAsManager,\n query: query,\n onClick: (function (provider) {\n updateProjectRole({\n TAG: \"Provider\",\n _0: {\n TAG: \"Member\",\n _0: provider.id\n }\n });\n })\n }) : null\n ],\n id: \"project-sticky-bar-roles-list\"\n })\n ]\n }) : null\n ]\n }),\n className: css.container\n });\n}\n\nvar make = ProjectStickyBarRolesDropdown;\n\nexport {\n css ,\n ProvidersList ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Api from \"../../../../../api/Api.res.js\";\nimport * as React from \"react\";\nimport * as $$Promise from \"../../../../../bindings/Promise.res.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as SentryLogger from \"../../../../../loggers/SentryLogger.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectStickyBarScss from \"./ProjectStickyBar.scss\";\nimport * as ProjectActionButtonsForUser from \"../ProjectActionButtons/ProjectActionButtonsForUser.res.js\";\nimport * as ProjectProposalStatusDropdown from \"../ProjectProposalStatusDropdown/ProjectProposalStatusDropdown.res.js\";\nimport * as ProjectStickyBarRolesDropdown from \"./ProjectStickyBarRolesDropdown.res.js\";\nimport * as ProjectStickyBarUsersDropdown from \"./ProjectStickyBarUsersDropdown.res.js\";\nimport * as ProjectActionButtonsForProvider from \"../ProjectActionButtons/ProjectActionButtonsForProvider.res.js\";\n\nvar css = ProjectStickyBarScss;\n\nfunction switchRoleCallback(x) {\n if (x.TAG !== \"Ok\") {\n return SentryLogger.error1({\n rootModule: \"ProjectStickyBar\",\n subModulePath: /* [] */0,\n value: \"switchRoleCallback\",\n fullPath: \"ProjectStickyBar.switchRoleCallback\"\n }, \"ProjectStickyBar::SwitchRole::Error\", [\n \"Error\",\n x._0\n ]);\n }\n window.location.reload();\n}\n\nfunction reducer(state, action) {\n switch (action.TAG) {\n case \"UpdateProjectRole\" :\n return {\n userProjectRole: action._0,\n selectedManagers: state.selectedManagers,\n selectedConcierges: state.selectedConcierges,\n usersListStatus: state.usersListStatus,\n proposal: state.proposal\n };\n case \"UpdateManagers\" :\n return {\n userProjectRole: state.userProjectRole,\n selectedManagers: action._0,\n selectedConcierges: state.selectedConcierges,\n usersListStatus: state.usersListStatus,\n proposal: state.proposal\n };\n case \"UpdateStatus\" :\n return {\n userProjectRole: state.userProjectRole,\n selectedManagers: state.selectedManagers,\n selectedConcierges: state.selectedConcierges,\n usersListStatus: action._0,\n proposal: state.proposal\n };\n case \"UpdateProposal\" :\n return {\n userProjectRole: state.userProjectRole,\n selectedManagers: state.selectedManagers,\n selectedConcierges: state.selectedConcierges,\n usersListStatus: state.usersListStatus,\n proposal: action._0.proposal\n };\n case \"UpdateConcierges\" :\n return {\n userProjectRole: state.userProjectRole,\n selectedManagers: state.selectedManagers,\n selectedConcierges: action._0,\n usersListStatus: state.usersListStatus,\n proposal: state.proposal\n };\n \n }\n}\n\nfunction ProjectStickyBar$ProjectStickyBarProviderUsersDropdown(props) {\n var userProjectRole = props.userProjectRole;\n if (typeof userProjectRole !== \"object\" || userProjectRole._0.TAG !== \"Owner\") {\n return null;\n } else {\n return JsxRuntime.jsx(ProjectStickyBarUsersDropdown.make, {\n title: props.tablet ? \"\" : \"Manager\",\n users: props.users,\n selectedUserIds: props.selectedUserIds,\n updateSelectedUsers: props.updateSelectedUsers,\n usersListStatus: props.usersListStatus,\n save: props.save\n });\n }\n}\n\nvar ProjectStickyBarProviderUsersDropdown = {\n make: ProjectStickyBar$ProjectStickyBarProviderUsersDropdown\n};\n\nfunction ProjectStickyBar(props) {\n var mobile = props.mobile;\n var tablet = props.tablet;\n var desktop = props.desktop;\n var viewContext = props.viewContext;\n var projectStickyBarData = props.projectStickyBarData;\n var userRole = props.userRole;\n var projectId = projectStickyBarData.project.id;\n var initialState = React.useMemo((function () {\n var ids = projectStickyBarData.selectedManagers;\n var ids$1 = projectStickyBarData.selectedConcierges;\n return {\n userProjectRole: projectStickyBarData.userProjectRole,\n selectedManagers: ids !== undefined ? ids : [],\n selectedConcierges: ids$1 !== undefined ? ids$1 : [],\n usersListStatus: \"Ready\",\n proposal: projectStickyBarData.proposalDetails\n };\n }), []);\n var match = React.useReducer(reducer, initialState);\n var dispatch = match[1];\n var state = match[0];\n var saveConcierges = function () {\n dispatch({\n TAG: \"UpdateStatus\",\n _0: \"Saving\"\n });\n $$Promise.wait(Api.saveProjectConcierges(projectId, state.selectedConcierges), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"UpdateStatus\",\n _0: \"Ready\"\n });\n } else {\n return SentryLogger.error1({\n rootModule: \"ProjectStickyBar\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"ProjectStickyBar.make\"\n }, \"ProjectStickyBar::SaveConcierges::Error\", [\n \"Error\",\n x._0\n ]);\n }\n }));\n };\n var saveManagers = function () {\n dispatch({\n TAG: \"UpdateStatus\",\n _0: \"Saving\"\n });\n $$Promise.wait(Api.saveProjectManagers(projectId, state.selectedManagers), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"UpdateStatus\",\n _0: \"Ready\"\n });\n } else {\n return SentryLogger.error1({\n rootModule: \"ProjectStickyBar\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"ProjectStickyBar.make\"\n }, \"ProjectStickyBar::SaveManagers::Error\", [\n \"Error\",\n x._0\n ]);\n }\n }));\n };\n var updateProposalStatus = function (projectId, proposal, message, param) {\n $$Promise.wait(Api.updateProjectProposalStatus(projectId, proposal, message, undefined), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"UpdateProposal\",\n _0: x._0\n });\n } else {\n return SentryLogger.error1({\n rootModule: \"ProjectStickyBar\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"ProjectStickyBar.make\"\n }, \"ProjectStickyBar::UpdateProposalStatus::Error\", [\n \"Error\",\n x._0\n ]);\n }\n }));\n };\n var tmp;\n var exit = 0;\n switch (viewContext) {\n case \"Personal\" :\n case \"Admin\" :\n exit = 1;\n break;\n case \"Visitor\" :\n tmp = null;\n break;\n \n }\n if (exit === 1) {\n var exit$1 = 0;\n switch (userRole) {\n case \"Admin\" :\n tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n desktop ? JsxRuntime.jsx(ProjectStickyBarUsersDropdown.make, {\n title: \"Concierge\",\n users: projectStickyBarData.concierges,\n selectedUserIds: state.selectedConcierges,\n updateSelectedUsers: (function (selectedUserIds) {\n dispatch({\n TAG: \"UpdateConcierges\",\n _0: selectedUserIds\n });\n }),\n usersListStatus: state.usersListStatus,\n save: saveConcierges\n }) : null,\n JsxRuntime.jsx(ProjectActionButtonsForUser.make, {\n status: projectStickyBarData.project.status,\n userRole: userRole,\n projectStickyBarData: projectStickyBarData,\n saveManagers: saveManagers,\n updateProposalStatus: updateProposalStatus,\n tablet: tablet,\n mobile: mobile,\n viewContext: viewContext\n })\n ]\n });\n break;\n case \"Provider\" :\n if (props.canSendProposals) {\n var match$1 = projectStickyBarData.project.status;\n var tmp$1;\n tmp$1 = match$1 === \"Active\" ? JsxRuntime.jsx(ProjectActionButtonsForProvider.make, {\n projectId: projectId,\n userRole: userRole\n }) : null;\n tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n desktop ? JsxRuntime.jsx(ProjectStickyBar$ProjectStickyBarProviderUsersDropdown, {\n userProjectRole: state.userProjectRole,\n users: projectStickyBarData.providerMembers,\n selectedUserIds: state.selectedManagers,\n updateSelectedUsers: (function (selectedUserIds) {\n dispatch({\n TAG: \"UpdateManagers\",\n _0: selectedUserIds\n });\n }),\n usersListStatus: state.usersListStatus,\n save: saveManagers,\n tablet: tablet\n }) : null,\n tmp$1\n ]\n });\n } else {\n var proposal = state.proposal;\n tmp = proposal !== undefined ? (\n mobile ? JsxRuntime.jsx(ProjectActionButtonsForUser.make, {\n status: projectStickyBarData.project.status,\n userRole: userRole,\n projectStickyBarData: projectStickyBarData,\n saveManagers: saveManagers,\n updateProposalStatus: updateProposalStatus,\n tablet: tablet,\n mobile: mobile,\n viewContext: viewContext\n }) : JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(ProjectStickyBar$ProjectStickyBarProviderUsersDropdown, {\n userProjectRole: state.userProjectRole,\n users: projectStickyBarData.providerMembers,\n selectedUserIds: state.selectedManagers,\n updateSelectedUsers: (function (selectedUserIds) {\n dispatch({\n TAG: \"UpdateManagers\",\n _0: selectedUserIds\n });\n }),\n usersListStatus: state.usersListStatus,\n save: saveManagers,\n tablet: tablet\n }),\n JsxRuntime.jsx(ProjectProposalStatusDropdown.make, {\n proposal: proposal,\n projectId: projectId,\n userViewContext: \"Admin\",\n iconSize: \"XS\",\n updateProposalStatus: updateProposalStatus,\n setBidModalVisibility: (function (prim) {\n \n }),\n className: css.providerDropdown,\n position: {\n TAG: \"Above\",\n _0: \"LeftEdge\"\n }\n })\n ]\n })\n ) : null;\n }\n break;\n case \"User\" :\n case \"Concierge\" :\n exit$1 = 2;\n break;\n case \"Visitor\" :\n case \"Agent\" :\n tmp = null;\n break;\n \n }\n if (exit$1 === 2) {\n tmp = JsxRuntime.jsx(ProjectActionButtonsForUser.make, {\n status: projectStickyBarData.project.status,\n userRole: userRole,\n projectStickyBarData: projectStickyBarData,\n saveManagers: saveManagers,\n updateProposalStatus: updateProposalStatus,\n tablet: tablet,\n mobile: mobile,\n viewContext: viewContext\n });\n }\n \n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(ProjectStickyBarRolesDropdown.make, {\n owner: projectStickyBarData.project.owner,\n providersAsOwner: projectStickyBarData.providersAsOwner,\n providersAsManager: projectStickyBarData.providersAsManager,\n isAdmin: projectStickyBarData.isAdmin,\n isConcierge: projectStickyBarData.isConcierge,\n isOwner: projectStickyBarData.isOwner,\n isProviderOwner: projectStickyBarData.isProviderOwner,\n isProviderManager: projectStickyBarData.isProviderManager,\n userProjectRole: state.userProjectRole,\n updateProjectRole: (function (role) {\n dispatch({\n TAG: \"UpdateProjectRole\",\n _0: role\n });\n if (typeof role === \"object\") {\n return $$Promise.wait(Api.switchProjectRole(role, projectStickyBarData.isAdmin, projectId, Caml_option.some(role._0._0), undefined), switchRoleCallback);\n }\n role === \"Admin\";\n $$Promise.wait(Api.switchProjectRole(role, projectStickyBarData.isAdmin, projectId, undefined, undefined), switchRoleCallback);\n })\n }),\n className: css.rolesContainer\n }),\n JsxRuntime.jsx(\"div\", {\n children: tmp,\n className: css.rightCol\n })\n ],\n className: css.container,\n id: \"project-sticky-bar\"\n });\n}\n\nvar make = ProjectStickyBar;\n\nexport {\n css ,\n switchRoleCallback ,\n reducer ,\n ProjectStickyBarProviderUsersDropdown ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../../../libs/ID.res.js\";\nimport * as Role from \"../../../../../models/Role.res.js\";\nimport * as Project from \"../../../../../models/Project.res.js\";\nimport * as Provider from \"../../../../../models/Provider.res.js\";\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as ProjectProposal from \"../../../../../models/ProjectProposal.res.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n return {\n id: field.required(\"id\", Project.Id.decoder),\n owner: field.required(\"owner\", Project.Owner.decoder),\n status: field.required(\"status\", Project.Status.decoder),\n category: field.required(\"category\", Json_Decode$JsonCombinators.string),\n subcategory: field.required(\"subcategory\", Json_Decode$JsonCombinators.string)\n };\n });\n\nfunction fromJson(json) {\n return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nvar StickyBarProject = {\n decoder: decoder,\n fromJson: fromJson\n};\n\nvar decoder$1 = Json_Decode$JsonCombinators.object(function (field) {\n return {\n id: field.required(\"id\", ID.decoder),\n firstName: field.required(\"firstName\", Json_Decode$JsonCombinators.string),\n lastName: field.required(\"lastName\", Json_Decode$JsonCombinators.string),\n role: field.required(\"role\", Role.decoder),\n email: field.required(\"email\", Json_Decode$JsonCombinators.string),\n phoneNumber: field.required(\"phone\", Json_Decode$JsonCombinators.string),\n jobTitle: field.required(\"jobTitle\", Json_Decode$JsonCombinators.string),\n profilePic: field.required(\"profilePic\", Json_Decode$JsonCombinators.string)\n };\n });\n\nfunction fromJson$1(json) {\n return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder$1));\n}\n\nvar StickyBarUser = {\n decoder: decoder$1,\n fromJson: fromJson$1\n};\n\nvar decoder$2 = Json_Decode$JsonCombinators.object(function (field) {\n var currentProvider = field.required(\"currentProvider\", Json_Decode$JsonCombinators.option(Provider.Simple.decoder));\n return {\n project: field.required(\"project\", decoder),\n proposalDetails: field.required(\"proposalDetails\", Json_Decode$JsonCombinators.option(ProjectProposal.decoder)),\n providersAsOwner: field.required(\"providersAsOwner\", Json_Decode$JsonCombinators.array(Provider.Simple.decoder)),\n providersAsManager: field.required(\"providersAsManager\", Json_Decode$JsonCombinators.array(Provider.Simple.decoder)),\n concierges: field.required(\"concierges\", Json_Decode$JsonCombinators.array(decoder$1)),\n providerMembers: field.required(\"providerMembers\", Json_Decode$JsonCombinators.array(decoder$1)),\n selectedConcierges: field.required(\"selectedConcierges\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.array(ID.decoder))),\n selectedManagers: field.required(\"selectedManagers\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.array(ID.decoder))),\n userProjectRole: Project.Role.fromString(field.required(\"userProjectRole\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string)), currentProvider),\n currentProvider: currentProvider,\n isAdmin: field.required(\"isAdmin\", Json_Decode$JsonCombinators.bool),\n isConcierge: field.required(\"isConcierge\", Json_Decode$JsonCombinators.bool),\n isOwner: field.required(\"isOwner\", Json_Decode$JsonCombinators.bool),\n isProviderOwner: field.required(\"isProviderOwner\", Json_Decode$JsonCombinators.bool),\n isProviderManager: field.required(\"isProviderManager\", Json_Decode$JsonCombinators.bool),\n isNotOnlyProviderMember: field.required(\"isNotOnlyProviderMember\", Json_Decode$JsonCombinators.bool)\n };\n });\n\nfunction fromJson$2(json) {\n return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder$2));\n}\n\nexport {\n StickyBarProject ,\n StickyBarUser ,\n decoder$2 as decoder,\n fromJson$2 as fromJson,\n}\n/* decoder Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"Tag__column__UqP8K\";\nexport var flex = \"Tag__flex__qV19s\";\nexport var flexColumn = \"Tag__flexColumn__zPm6V\";\nexport var gap1 = \"Tag__gap1__ckFs6\";\nexport var gap2 = \"Tag__gap2__T0I0L\";\nexport var gap3 = \"Tag__gap3__fYM6F\";\nexport var gap4 = \"Tag__gap4__dB35w\";\nexport var gap5 = \"Tag__gap5__xadbl\";\nexport var row = \"Tag__row__WzGuz\";\nexport var tagContainer = \"Tag__tagContainer__XEKpG\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as TagScss from \"./Tag.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = TagScss;\n\nfunction Tag(props) {\n var __className = props.className;\n var __text = props.text;\n var text = __text !== undefined ? __text : \"\";\n var className = __className !== undefined ? __className : \"\";\n return JsxRuntime.jsx(\"div\", {\n children: text,\n className: Cx.cx([\n css.tagContainer,\n className\n ])\n });\n}\n\nvar make = Tag;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction ImageWithFallback(props) {\n var src = props.src;\n var match = React.useState(function () {\n return false;\n });\n var setErrored = match[1];\n var errored = match[0];\n React.useEffect((function () {\n setErrored(function (param) {\n return false;\n });\n }), [src]);\n return JsxRuntime.jsx(\"img\", {\n className: props.className,\n src: errored ? props.fallbackSrc : src,\n onError: (function (param) {\n if (!errored) {\n return setErrored(function (param) {\n return true;\n });\n }\n \n })\n });\n}\n\nvar make = ImageWithFallback;\n\nexport {\n make ,\n}\n/* react Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Screens from \"../../styles/Screens.res.js\";\nimport * as Cloudinary from \"../../../libs/Cloudinary.res.js\";\nimport * as ImageWithFallback from \"../../components/Image/ImageWithFallback.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction buildUrl(cropOpt, width, height, src) {\n var crop = cropOpt !== undefined ? cropOpt : \"Fill\";\n return Cloudinary.Url.build(\"Png\", {\n hd: \"Dpr\",\n tl: {\n hd: \"Quality\",\n tl: {\n hd: {\n TAG: \"Crop\",\n _0: crop\n },\n tl: {\n hd: {\n TAG: \"FetchFormat\",\n _0: \"Png\"\n },\n tl: {\n hd: {\n TAG: \"Width\",\n _0: width\n },\n tl: {\n hd: {\n TAG: \"Height\",\n _0: height\n },\n tl: /* [] */0\n }\n }\n }\n }\n }\n }, src);\n}\n\nfunction Picture(props) {\n var fallbackSrc = props.fallbackSrc;\n var imageClassName = props.imageClassName;\n var crop = props.crop;\n var small = props.small;\n var medium = props.medium;\n var large = props.large;\n var src = props.src;\n return JsxRuntime.jsxs(\"picture\", {\n children: [\n small !== undefined ? JsxRuntime.jsx(\"source\", {\n media: \"(max-width: \" + (String(Screens.medium) + \"px)\"),\n srcSet: (function (__x) {\n return buildUrl(crop, small[0], small[1], __x);\n })(src)\n }) : null,\n medium !== undefined ? JsxRuntime.jsx(\"source\", {\n media: \"(max-width: \" + (String(Screens.large) + \"px)\"),\n srcSet: buildUrl(crop, medium[0], medium[1], src)\n }) : null,\n fallbackSrc !== undefined ? JsxRuntime.jsx(ImageWithFallback.make, {\n src: buildUrl(crop, large[0], large[1], src),\n className: imageClassName,\n fallbackSrc: buildUrl(crop, large[0], large[1], fallbackSrc)\n }) : JsxRuntime.jsx(\"img\", {\n className: imageClassName,\n src: buildUrl(crop, large[0], large[1], src)\n })\n ],\n className: props.className\n });\n}\n\nvar Crop;\n\nvar make = Picture;\n\nexport {\n Crop ,\n buildUrl ,\n make ,\n}\n/* Screens Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var actionButtonsContainer = \"ProjectActionButtons__actionButtonsContainer__kpf_6\";\nexport var column = \"ProjectActionButtons__column__r1bOP\";\nexport var finalizedContainer = \"ProjectActionButtons__finalizedContainer__mSZ0t\";\nexport var finalizedText = \"ProjectActionButtons__finalizedText__hikNn\";\nexport var flex = \"ProjectActionButtons__flex__O6Jtu\";\nexport var flexColumn = \"ProjectActionButtons__flexColumn__nnOuU\";\nexport var gap1 = \"ProjectActionButtons__gap1__hkLW5\";\nexport var gap2 = \"ProjectActionButtons__gap2__CH6Ar\";\nexport var gap3 = \"ProjectActionButtons__gap3__AQDAr\";\nexport var gap4 = \"ProjectActionButtons__gap4__XDFBO\";\nexport var gap5 = \"ProjectActionButtons__gap5__Q1qr1\";\nexport var headerButton = \"ProjectActionButtons__headerButton__UKTI6\";\nexport var inactiveText = \"ProjectActionButtons__inactiveText__U5Kpv\";\nexport var modalMessageButtons = \"ProjectActionButtons__modalMessageButtons__s8vdI\";\nexport var modalMessageContainer = \"ProjectActionButtons__modalMessageContainer__M48ym\";\nexport var modalMessageOverlay = \"ProjectActionButtons__modalMessageOverlay__azOl3\";\nexport var modalMessageText = \"ProjectActionButtons__modalMessageText__GMwDW\";\nexport var noMarginRight = \"ProjectActionButtons__noMarginRight__jYOob\";\nexport var popOverBodyWrapper = \"ProjectActionButtons__popOverBodyWrapper__MFcFx\";\nexport var popOverMenuText = \"ProjectActionButtons__popOverMenuText__AjQrD\";\nexport var popoverBody = \"ProjectActionButtons__popoverBody__grwhp\";\nexport var popoverButton = \"ProjectActionButtons__popoverButton__rfceI\";\nexport var popoverRow = \"ProjectActionButtons__popoverRow__Mx9MI\";\nexport var popoverTrigger = \"ProjectActionButtons__popoverTrigger__qtLi5\";\nexport var popoverWrapper = \"ProjectActionButtons__popoverWrapper__Axsqu\";\nexport var reviewContainer = \"ProjectActionButtons__reviewContainer__r5LZk\";\nexport var reviewText = \"ProjectActionButtons__reviewText__S1g_z\";\nexport var row = \"ProjectActionButtons__row__ajV0i\";\nexport var statusPopoverRow = \"ProjectActionButtons__statusPopoverRow__BEAq5\";\nexport var toggleContainer = \"ProjectActionButtons__toggleContainer__Sruli\";"],"names":["css","reducer","state","action","isNoBidModalShown","make","props","projectId","match","React","dispatch","JsxRuntime","children","Button","id","href","Routes_Project","$$new","size","color","buttonClassName","headerButton","Cx","noMarginRight","onClick","param","NoBidModal","title","close","userRole","className","actionButtonsContainer","activeTab","barContainer","column","flex","flexColumn","gap1","gap2","gap3","gap4","gap5","row","tabItem","wrapper","ProjectNavbarScss","tmp","tmp$1","totalProposals","viewContext","undefined","String","tabs","label","Belt_Array","index","tab","Url","container","providerDropdown","rightCol","rolesContainer","actionContainer","avatar","avatarPic","dropdownBody","dropdownTitle","item","list","nameAndBadgeWrapper","pickedUsers","roleTag","save","search","searchFieldInput","searchIcon","selectAll","selectButton","userJobTitle","userName","usersList","ProjectStickyBarUsersDropdownScss","ProjectStickyBarUsersDropdown$UserRow","__x","updateSelectedUsers","selectedUserIds","user","Checkbox","ID","checked","Js_array","onChange","$$event","target","value","Caml_obj","Picture","src","Cloudinary","profilePic","large","crop","imageClassName","fallbackSrc","firstName","lastName","Tag","text","Role","role","jobTitle","users","length","setQuery","query","n","Dropdown","iconSize","iconColor","$$String","position","TAG","_0","SearchField","placeholder","inputClassName","iconClassName","filter","Js_string","toLowerCase","busy","usersListStatus","ProjectActionButtonsScss","statusClass","status","finalizedText","reviewText","statusContainerClass","finalizedContainer","reviewContainer","userProjectRole","selectedManagers","selectedConcierges","proposal","ProjectActionButtonsForUser$ProjectStickyBarProviderUsersDropdown","ProjectStickyBarUsersDropdown","tmp$3","tmp$8","mobile","projectStickyBarData","project","category","Project","fromString","subcategory","initialState","ids","ids$1","proposalDetails","match$1","setStatus","status$1","match$2","setDeleteModalVisibility","updateProjectStatus","$$Promise","Api","x","SentryLogger","rootModule","subModulePath","fullPath","data","tmp$2","exit","Toggle","on","toString","inactiveText","toggleContainer","tablet","tmp$4","tmp$5","concierges","providerMembers","saveManagers","ProjectProposalStatusDropdown","userViewContext","updateProposalStatus","setBidModalVisibility","prim","tmp$6","tmp$7","exit$1","statusPopoverRow","popOverMenuText","popoverRow","exit$2","tmp$9","Popover","popoverWrapper","popoverTrigger","popoverButton","IconMenu","icon","popoverBody","ProjectService","popOverBodyWrapper","modalMessageText","modalMessageButtons","modalMessageContainer","modalMessageOverlay","__title","Icon","viewBoxSize","d","fill","fillRule","currentRole","currentRoleWrapper","ownerJobTitle","ownerName","rolesList","ProjectStickyBarRolesDropdownScss","IconDataCenterLogo","owner","image","IconUserAvatar","fullName","buildLogoUrl","build","hd","tl","provider","logo","name","ProjectStickyBarRolesDropdown$ProvidersList","providers","ProjectStickyBarProviderInfo","updateProjectRole","isProviderManager","isProviderOwner","isOwner","isConcierge","isAdmin","providersAsManager","providersAsOwner","isBodyExists","ProjectStickyBarAdminInfo","ProjectStickyBarOwnerInfo","id$1","find","id$2","provider$1","ProjectStickyBarScss","switchRoleCallback","window","location","reload","ProjectStickyBar$ProjectStickyBarProviderUsersDropdown","desktop","message","ProjectActionButtonsForUser","canSendProposals","ProjectActionButtonsForProvider","ProjectStickyBarRolesDropdown","Caml_option","decoder","Json_Decode$JsonCombinators","field","required","decoder$1","email","phoneNumber","decoder$2","currentProvider","Provider","ProjectProposal","isNotOnlyProviderMember","fromJson$2","json","Belt_Result","Json$JsonCombinators","tagContainer","TagScss","__className","__text","setErrored","errored","onError","buildUrl","cropOpt","width","height","small","medium","media","Screens","srcSet","ImageWithFallback"],"sourceRoot":""}