1"use strict";(self.webpackChunksmarpshare_frontend=self.webpackChunksmarpshare_frontend||[]).push([[5291],{55291:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{PendingRewardPage:()=>PendingRewardPage});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(96540),react_router__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(56347),_haiilo_catalyst_react__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(11432),src_utils_tracking_utils_tracking_utils__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(48458),src_app_react_common_hooks_use_get_text__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(87914),src_design_system_components__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(66931),src_app_modules_core_helpers_util__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(58151),src_api__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(56433),src_reused_components_toast__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(62614),src_app_modules_app_util_string_utils__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(73225),src_app_react_common_history_utils_use_query_params__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(47547),src_app_modules_app_util_use_document_title_use_document_title__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(10207);const columnStyles=[{width:"30%"},{width:"70%"},{}],PendingRewardPage=()=>{const{gettext}=(0,src_app_react_common_hooks_use_get_text__WEBPACK_IMPORTED_MODULE_2__.z)(),{id}=(0,react_router__WEBPACK_IMPORTED_MODULE_9__.g)(),[{groupId}]=(0,src_app_react_common_history_utils_use_query_params__WEBPACK_IMPORTED_MODULE_7__.s)(),[isLoading,setIsLoading]=react__WEBPACK_IMPORTED_MODULE_0__.useState(!1),[deliveringRewardId,setDeliveringRewardId]=react__WEBPACK_IMPORTED_MODULE_0__.useState(null),[reward,setReward]=react__WEBPACK_IMPORTED_MODULE_0__.useState(null);(0,src_app_modules_app_util_use_document_title_use_document_title__WEBPACK_IMPORTED_MODULE_8__.r)({title:gettext("Pending Rewards")});const fetchRewards=react__WEBPACK_IMPORTED_MODULE_0__.useCallback((async()=>{var _a,_b;setIsLoading(!0);const[response,error]=await(0,src_app_modules_core_helpers_util__WEBPACK_IMPORTED_MODULE_4__.Oi)((()=>src_api__WEBPACK_IMPORTED_MODULE_5__.gM.getRewardById(id)));if(setIsLoading(!1),error)return(0,src_reused_components_toast__WEBPACK_IMPORTED_MODULE_6__.Kf)({message:null!==(_a=(0,src_app_modules_app_util_string_utils__WEBPACK_IMPORTED_MODULE_10__.fi)(error))&&void 0!==_a?_a:gettext("Failed to load rewards. Please try again.")}),void src_utils_tracking_utils_tracking_utils__WEBPACK_IMPORTED_MODULE_1__.A.error(null!==(_b=(0,src_app_modules_app_util_string_utils__WEBPACK_IMPORTED_MODULE_10__.fi)(error))&&void 0!==_b?_b:"Failed to load rewards. Please try again.","PendingRewardPage.fetchRewards",(0,src_app_modules_app_util_string_utils__WEBPACK_IMPORTED_MODULE_10__.hT)(error));setReward(response.data)}),[gettext,id]);react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{fetchRewards()}),[fetchRewards]);const headings=[gettext("Name"),gettext("Message"),gettext("Action")],handleDeliverReward=react__WEBPACK_IMPORTED_MODULE_0__.useCallback((async pendingUserId=>{var _a,_b;setDeliveringRewardId(pendingUserId);const[,error]=await(0,src_app_modules_core_helpers_util__WEBPACK_IMPORTED_MODULE_4__.Oi)((()=>src_api__WEBPACK_IMPORTED_MODULE_5__.Zk.deliverReward({pendingId:pendingUserId})));if(setDeliveringRewardId(null),error)return(0,src_reused_components_toast__WEBPACK_IMPORTED_MODULE_6__.Kf)({message:null!==(_a=(0,src_app_modules_app_util_string_utils__WEBPACK_IMPORTED_MODULE_10__.fi)(error))&&void 0!==_a?_a:gettext("Failed to deliver reward. Please try again.")}),void src_utils_tracking_utils_tracking_utils__WEBPACK_IMPORTED_MODULE_1__.A.error(null!==(_b=(0,src_app_modules_app_util_string_utils__WEBPACK_IMPORTED_MODULE_10__.fi)(error))&&void 0!==_b?_b:"Failed to deliver reward. Please try again.","PendingRewardPage.handleDeliverReward",(0,src_app_modules_app_util_string_utils__WEBPACK_IMPORTED_MODULE_10__.hT)(error));(0,src_reused_components_toast__WEBPACK_IMPORTED_MODULE_6__.tP)({message:gettext("Reward marked as delivered!")}),setReward((prevReward=>{var _a;if(!prevReward)return prevReward;const updatedReward={...prevReward};return updatedReward.pendingUser=null===(_a=updatedReward.pendingUser)||void 0===_a?void 0:_a.filter((pendingUser=>
1pendingUser._id!==pendingUserId)),updatedReward}))}),[gettext]),rows=react__WEBPACK_IMPORTED_MODULE_0__.useMemo((()=>(null==reward?void 0:reward.pendingUser)&&0!==reward.pendingUser.length?reward.pendingUser.map((pendingUser=>[pendingUser.userName,pendingUser.message,react__WEBPACK_IMPORTED_MODULE_0__.createElement(_haiilo_catalyst_react__WEBPACK_IMPORTED_MODULE_11__.B$,{key:pendingUser._id,style:{width:"fit-content"},variant:"filled",color:"primary",disabled:deliveringRewardId===pendingUser._id,loading:deliveringRewardId===pendingUser._id,nativeAttributes:{"data-testid":"deliver-button"},onClick:()=>handleDeliverReward(pendingUser._id)},gettext("Deliver"))])):[]),[deliveringRewardId,gettext,handleDeliverReward,reward]);return isLoading?react__WEBPACK_IMPORTED_MODULE_0__.createElement("div",{className:"cat-flex cat-justify-center cat-mt-l"},react__WEBPACK_IMPORTED_MODULE_0__.createElement(_haiilo_catalyst_react__WEBPACK_IMPORTED_MODULE_11__.K0,{size:"xl","data-testid":"loading-indicator"})):reward?react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,react__WEBPACK_IMPORTED_MODULE_0__.createElement("h1",{className:"cat-h1","data-testid":"page-title"},null==reward?void 0:reward.title),react__WEBPACK_IMPORTED_MODULE_0__.createElement(_haiilo_catalyst_react__WEBPACK_IMPORTED_MODULE_11__.B$,{variant:"outlined",icon:"arrow-left-outlined",url:`/#/reward?groupId=${groupId?encodeURIComponent(groupId):""}`,className:"cat-mb-m",nativeAttributes:{"data-testid":"back-button"}},gettext("Back")),react__WEBPACK_IMPORTED_MODULE_0__.createElement(src_design_system_components__WEBPACK_IMPORTED_MODULE_3__.bQ,{headings,rows,columnStyles,getRowProps:()=>({style:{backgroundColor:"white"}})})):react__WEBPACK_IMPORTED_MODULE_0__.createElement("div",{className:"cat-flex cat-flex-col cat-items-center cat-p-xl"},react__WEBPACK_IMPORTED_MODULE_0__.createElement("h4",{className:"cat-h4 cat-mb-m"},gettext("Nothing here yet")),react__WEBPACK_IMPORTED_MODULE_0__.createElement("img",{src:"/images/empty-state.svg",alt:"",className:"cat-mt-xl","aria-hidden":!0}))}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.