"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9380],{69380:function(e,t,a){a.d(t,{I:function(){return S},Q:function(){return h}});var n=a(52322),r=a(14865),i=a(2784),o=a(53665),s=a(19596),c=a(8080),u=a(86704),l=a(41174),d=a(49666),g=a(17630),_=a(74028),m=a(14019),T=a(12151),E=a(12759),f=a(50825);let U=e=>{let{associatedConstId:t,entityType:a,initialAggregateData:r,initialUserData:s,className:c,testIdSuffix:u}=e,d=(0,o.Z)(),U=(0,l.nu)();(0,f.Z)({associatedConstId:t,entityType:a,initialAggregateData:r,initialUserData:s});let S=(0,_.i9)(t,g.ly.EMOJI),h=(0,_.i9)(t,g.ly.INTERESTING),p=(0,T.VB)(t),b=(0,_.AE)(t,U),N=i.useMemo(()=>(0,E.lu)(h,p,a,d),[h,p,a,d]),I=i.useMemo(()=>(0,E.Nf)(S,p,a,d),[S,p,a,d]);return b===m.e.FETCHING?(0,n.jsx)(R,{className:c,"data-testid":g.z7.REACTION_SUMMARY_LOADING_SPACER}):b!==m.e.ERROR&&S&&h?(0,n.jsx)(O,{likeAriaLabel:N.accessibilityLabel,likeCount:N.label,likeActive:N.active,reactionAriaLabel:I.accessibilityLabel,reactionCount:I.label,reactionActive:I.active,primaryReaction:I.primaryReaction,secondaryReaction:I.secondaryReaction,className:c,"data-testid":`${g.z7.REACTION_SUMMARY}${u}`}):null},S=e=>(0,d.ik)()?null:r.isBrowser?(0,n.jsx)(U,{...e}):(0,n.jsx)(R,{className:e.className,"data-testid":g.z7.REACTION_SUMMARY_LOADING_SPACER}),h=e=>(0,d.ik)()?null:(0,n.jsx)(p,{children:(0,n.jsx)(S,{...e})}),O=(0,s.zo)(c.A).withConfig({componentId:"sc-54c8a161-0"})(["height:",";animation:reaction-summary-fade-in ","ms ease-in;@keyframes reaction-summary-fade-in{from{opacity:0;}to{opacity:1;}}"],u.spacing.l,300),R=s.zo.div.withConfig({componentId:"sc-54c8a161-1"})(["width:",";margin-left:",";vertical-align:top;margin-right:",";height:",";"],u.spacing.m,u.spacing.xxs,u.spacing.xs,u.spacing.l),p=s.zo.div.withConfig({componentId:"sc-54c8a161-2"})(["margin-left:-",";"],u.spacing.xxs)},17630:function(e,t,a){a.d(t,{$N:function(){return u},Ev:function(){return E},G5:function(){return T},N2:function(){return _},PO:function(){return c},bq:function(){return d},cC:function(){return g},kL:function(){return l},ly:function(){return s},z7:function(){return m}});var n=a(16630),r=a.n(n),i=a(81999),o=a(59725);let s={INTERESTING:"INTERESTING",EMOJI:"EMOJI"},c={THUMBS_UP:"interesting.thumbsup",THUMBS_DOWN:"interesting.thumbsdown",EXCITED:"emoji.excited",LIGHTBULB:"emoji.lightbulb",CLAP:"emoji.clappinghands",HEART:"emoji.heart",LAUGH:"emoji.laugh"},u=new(r())([c.THUMBS_DOWN,c.THUMBS_UP]),l={[c.THUMBS_DOWN]:c.THUMBS_UP,[c.THUMBS_UP]:c.THUMBS_DOWN},d={[c.EXCITED]:o.o5.STAR_EYES,[c.LIGHTBULB]:o.o5.LIGHT_BULB,[c.CLAP]:o.o5.CLAP,[c.HEART]:o.o5.HEART,[c.LAUGH]:o.o5.LAUGH},g={[c.THUMBS_DOWN]:"thumbs-down",[c.THUMBS_UP]:"thumbs-up",...d},_=(0,i.vU)({SELECTOR_EMOJI_DROPDOWN_BUTTON:{defaultMessage:"Open reactions menu",id:"feature_reactions_selector_open_menu"}}),m={REACTION_SELECTOR_SPACER:"reaction-selector-wrapper-spacing",REACTION_SELECTOR:"reaction-selector",REACTION_SUMMARY:"reaction-summary",REACTION_SUMMARY_LOADING_SPACER:"reaction-summary-loading-spacer"},T={CHIP:"chip",BUTTON:"button",MENU:"menu",ACTIVE:"active",INACTIVE:"inactive"},E={REACTION_AFFIX:"rx",SIGNED_OUT_PREFIX:"tmp",REACTION_UPDATE_STATE:{ADD:"add",DELETE:"del"},REACTION_MENU_OPEN:"react-open",REACTION_IDS_PREFIX:{[c.THUMBS_UP]:"tmup",[c.THUMBS_DOWN]:"tmdn",[c.EXCITED]:"stry",[c.LIGHTBULB]:"litblb",[c.CLAP]:"clp",[c.HEART]:"hrt",[c.LAUGH]:"lagh"}}},12759:function(e,t,a){a.d(t,{BO:function(){return N},Fh:function(){return I},Nc:function(){return M},Nf:function(){return b},lu:function(){return p},pY:function(){return y},pp:function(){return A},uF:function(){return C}});var n=a(16630),r=a.n(n),i=a(34902),o=a(17630),s=a(14019),c=a(75833);let u="Unexpected Reaction Label Information",l="feature_reactions_summary",d={USER_ONLY:"user_only",USER_AND_OTHERS:"user_and_others",OTHERS:"others",NONE:"none"},g={EMOJI_UNCOUNTED:"emoji",EMOJI_ONE:"emoji_one",EMOJI_TWO:"emoji_two",LIKES:"likes"},_=(e,t)=>t.formatNumber(e,{notation:"compact",compactDisplay:"short"}),m=e=>Object.keys(e.reactions).map(t=>({count:e.reactions[t].count,reaction:t,text:e.reactions[t].text})).sort((e,t)=>t.count-e.count),T=(e,t)=>t.formatMessage({id:"feature_reactions_selector_like_label",defaultMessage:"{likeCount, plural, =0 {Like} =1 {Like with 1 person} other {Like with {likeCount} people}}"},{likeCount:e}),E=(e,t)=>t.formatMessage({id:"feature_reactions_selector_like_title",defaultMessage:"{active, select, true {Select to remove like} other {Select to like}}"},{active:e}),f=e=>e.formatMessage({id:"feature_reactions_selector_dislike_label",defaultMessage:"Dislike"}),U=(e,t)=>t.formatMessage({id:"feature_reactions_selector_dislike_title",defaultMessage:"{active, select, true {Select to remove dislike} other {Select to dislike}}"},{active:e}),S=(e,t,a)=>a.formatMessage({id:"feature_reactions_selector_reaction_label",defaultMessage:"{reactionCount, plural, =0 {React {reactionName}} =1 {React {reactionName} with 1 person} other {React {reactionName} with {reactionCount} people}}"},{reactionName:e,reactionCount:t}),h=(e,t,a)=>a.formatMessage({id:"feature_reactions_selector_reaction_title",defaultMessage:"{active, select, true {Select to remove reaction {reactionName}} other {Select to react {reactionName}}}"},{active:e,reactionName:t}),O=(e,t,a,n)=>{let r=d.NONE,i=e;return t?r=--i?d.USER_AND_OTHERS:d.USER_ONLY:i&&(r=d.OTHERS),n.formatMessage({id:`${l}_${a}_${g.LIKES}_${r}`,defaultMessage:u},{likeCount:i})},R=(e,t,a,n,r,i)=>{let o=d.NONE,s=g.EMOJI_UNCOUNTED,c=e;return e&&(t?(c--,i&&c--,o=c?d.USER_AND_OTHERS:d.USER_ONLY):o=d.OTHERS,s=i?g.EMOJI_TWO:g.EMOJI_ONE),n.formatMessage({id:`${l}_${a}_${s}_${o}`,defaultMessage:u},{reactionCount:c,primaryReaction:r,secondaryReaction:i})},p=(e,t,a,n)=>{if(!e||!t)return{label:"0",active:!1,accessibilityLabel:O(0,!1,a,n)};let r=e.reactions[o.PO.THUMBS_UP],i=t.includes(o.PO.THUMBS_UP),s=r?.count??0;return{accessibilityLabel:O(s,i,a,n),label:_(s,n),active:i}},b=(e,t,a,n)=>{let i,s;if(!e||!t)return{active:!1,label:"0",accessibilityLabel:R(0,!1,a,n)};let c=m(e),u=Array.from(new(r())(t).difference(o.$N)),l=u.length>0;l?(i=u[0],s=u[1]):(i=c[0]?.count?c[0]?.reaction:void 0,s=c[1]?.count?c[1]?.reaction:void 0);let d=R(e.total,l,a,n,i?e.reactions[i]?.text:void 0,s?e.reactions[s]?.text:void 0);return{active:l,label:_(e.total,n),accessibilityLabel:d,primaryReaction:i?o.bq[i]:void 0,secondaryReaction:s?o.bq[s]:void 0}},N=(e,t,a,n)=>{let r;if(!e||!t)return{thumbUpCount:"0",thumbUpId:o.PO.THUMBS_UP,thumbDownId:o.PO.THUMBS_DOWN,thumbUpAriaLabel:T(0,a),thumbDownAriaLabel:f(a),thumbUpTestId:(0,c.O)(o.PO.THUMBS_UP,!1,"button",n),thumbDownTestId:(0,c.O)(o.PO.THUMBS_DOWN,!1,"button",n),thumbUpTitle:E(!1,a),thumbDownTitle:U(!1,a)};let s=e.reactions[o.PO.THUMBS_UP]?.count??0,u=_(s,a);return t.includes(o.PO.THUMBS_UP)?r=i.ReactionSelectorThumbState.THUMBS_UP:t.includes(o.PO.THUMBS_DOWN)&&(r=i.ReactionSelectorThumbState.THUMBS_DOWN),{thumbUpCount:u,userThumbState:r,thumbUpId:o.PO.THUMBS_UP,thumbDownId:o.PO.THUMBS_DOWN,thumbUpAriaLabel:T(s,a),thumbDownAriaLabel:f(a),thumbUpTestId:(0,c.O)(o.PO.THUMBS_UP,r===i.ReactionSelectorThumbState.THUMBS_UP,"button",n),thumbDownTestId:(0,c.O)(o.PO.THUMBS_DOWN,r===i.ReactionSelectorThumbState.THUMBS_DOWN,"button",n),thumbUpTitle:E(r===i.ReactionSelectorThumbState.THUMBS_UP,a),thumbDownTitle:U(r===i.ReactionSelectorThumbState.THUMBS_DOWN,a)}},I=(e,t,a,n)=>{if(!e||!t)return[];let r=[];return Object.entries(e.reactions).forEach(e=>{let[i,s]=e,u=t.includes(i),l={name:o.bq[i],label:s.text},d=S(l.label||"",s.count,a),g=S(l.label||"",0,a),m=h(u,l.label||"",a);r.push({reaction:l,reactionId:i,hasUserReacted:u,reactionAriaLabel:d,reactionAriaDescriptor:g,reactionCount:_(s.count,a),reactionChipTestId:(0,c.O)(i,u,"chip",n),reactionButtonTestId:(0,c.O)(i,u,"button",n),reactionTitle:m})}),r},M=e=>e?.reduce((e,t)=>({...e,[t.reaction.reactionId]:t}),{}),A=e=>e?.reduce((e,t)=>({...e,[t.groupId]:{totalCount:t.aggregateCount,summary:t.reactionSummaries.reduce((e,t)=>({...e,[t.reaction.reactionId]:{count:t.count,text:t.reaction.text}}),{})}}),{}),C=e=>!e||e===s.e.ERROR,y=e=>!e},75833:function(e,t,a){a.d(t,{F:function(){return i},O:function(){return r}});var n=a(17630);let r=(e,t,a,r)=>`${n.z7.REACTION_SELECTOR}-${r}-${n.cC[e]}-${a}-${t?n.G5.ACTIVE:n.G5.INACTIVE}`,i=e=>`${n.z7.REACTION_SELECTOR}-${e}-${n.G5.MENU}-${n.G5.BUTTON}`},50825:function(e,t,a){a.d(t,{Z:function(){return A}});var n=a(2784),r=a(14865),i=a(947),o=a.n(i),s=a(26806),c=a(94177),u=a(86958),l=a(24767),d=a(41174),g=a(98986),_=a(14019),m=a(12151),T=a(12759),E=a(16630),f=a.n(E),U=a(30382),S=a.n(U);let h=S()` fragment SharedVideoUserReactions on Video { id userReactions { entityId lastUpdated reaction { language { id text } reactionId text id } } } `,O=S()` fragment SharedVideoReactions on Video { id reactionsSummary { reactionSummaryGroups { aggregateCount displayCount { value language } groupId reactionSummaries { reaction { language { id text } reactionId text id } count displayCount { value language } } selectionType } } } `,R={query:S()` query ReactionsForVideo( $aggregateVideoConsts: [ID!]! $userVideoConsts: [ID!]! ) { aggregateVideos: videos(ids: $aggregateVideoConsts) { ...SharedVideoReactions } userVideos: videos(ids: $userVideoConsts) { ...SharedVideoUserReactions } } ${h} ${O} `,createQueryVariablesMap:e=>{let t=[],a=[];return e.forEach((e,n)=>{e.needAggregate&&t.push(n),e.needUser&&a.push(n)}),{aggregateVideoConsts:t,userVideoConsts:a}},parseResponseDataToState:(e,t,a,n,r)=>{if(t.aggregateVideoConsts.length){let a=new(f())(t.aggregateVideoConsts),r={};e?.aggregateVideos?.forEach(e=>{e&&(r[e.id]=T.pp(e.reactionsSummary?.reactionSummaryGroups)||{},a.delete(e.id))}),n.setBulkAggregateReactions(r),a.size&&n.setFetchedStatus(Array.from(a),_.e.ERROR)}if(t.userVideoConsts.length){let a=new(f())(t.userVideoConsts),n={};e?.userVideos?.forEach(e=>{e&&(n[e.id]=T.Nc(e?.userReactions)||{},a.delete(e.id))}),r.initializeBulkUserReactions(n),a.size&&r.setFetchedStatus(Array.from(a),_.e.ERROR)}}},p=e=>{if("video"===e)return R;throw Error("Reactions attempting to be batched for an unexpected entity")},{source:b,next:N}=(0,c.nN)();r.isBrowser&&(0,c.zG)(b,(0,c.f3)((0,c.FG)(100)),(0,c.qn)(50),(0,c.Ld)(e=>{let{client:t,context:a,aggregateStoreHandlers:n,userStoreHandlers:r}=e[e.length-1],i=e.reduce((e,t)=>(t.requestInfo.forEach((a,n)=>{let r=a.entityType;if(e.has(r)||e.set(r,{reactionRequests:new Map,batchInfo:t.batchInfo}),e.get(r)?.reactionRequests.has(n)){let t=e.get(r)?.reactionRequests?.get(n)??{needUser:!0,needAggregate:!0};e.get(r)?.reactionRequests.set(n,{entityType:r,needUser:t.needUser&&a.needUser,needAggregate:t.needAggregate&&a.needAggregate})}else e.get(r)?.reactionRequests.set(n,a)}),e),new Map),s=[],c=[];i.forEach(e=>{c.push(e.batchInfo.parseResponseDataToState),s.push({query:e.batchInfo.query,variables:e.batchInfo.createQueryVariablesMap(e.reactionRequests)})});let u=o()("BatchedReactions").add(s[0].query,s[0].variables);s.slice(1).reduce((e,t)=>e.add(t.query,t.variables),u),t.query(u.document,u.variables,a).toPromise().then(e=>{c.forEach(t=>t(e.data,u.variables||{},e.error,n,r))})}));let I=(e,t)=>{let a=(0,d.nu)(),{setFetchedStatus:n}=(0,g.l)(),{setFetchedStatus:r}=(0,m.og)(),i=(0,g.B8)(),o=(0,m.Di)();return e.forEach((s,c)=>{s.needAggregate=s.needAggregate&&(0,T.pY)(i.current[c]),s.needUser=s.needUser&&a&&(0,T.pY)(o.current[c]),(s.needUser||s.needAggregate)&&s.entityType===t||e.delete(c),s.needAggregate&&n(c,_.e.FETCHING),s.needUser&&r(c,_.e.FETCHING)}),e},M=(e,t)=>{let{context:a}=(0,u.B)(),r=(0,s.m8)(),i=p(t),o=(0,n.useMemo)(()=>(0,l.Z)({serverSideCacheable:!1,personalized:!0},a),[a]),c=(0,g.l)(),d=(0,m.og)(),_=I(e,t);_.size&&N({client:r,context:o,batchInfo:i,aggregateStoreHandlers:c,userStoreHandlers:d,requestInfo:_})},A=e=>{let{associatedConstId:t,entityType:a,initialAggregateData:r,initialUserData:i}=e,{initializeUserReactions:o}=(0,m.og)(),{setAggregateReactions:s}=(0,g.l)(),c=(0,m.KY)(t),u=!(0,T.uF)(c)||!!i;n.useEffect(()=>{(0,T.uF)(c)&&i&&o(t,i)},[i]);let l=(0,g.if)(t),d=!(0,T.uF)(l)||!!r;n.useEffect(()=>{(0,T.uF)(l)&&r&&s(t,r)},[r]),M(new Map([[t,{needUser:!u,needAggregate:!d,entityType:a}]]),a)}}}]);