{"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":""}