1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[51553],{685563:function(e,i,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/expert/join-slack",function(){return n(442536)}])},19989:function(e,i,n){"use strict";n.d(i,{Uk:function(){return JoinSlackReminder},x2:function(){return fetchSlackStatus}});var t=n(667488),a=n(885115),r=n(645181),s=n(384719),o=n(428575),l=n(632179),c=n(240275),u=n(26376),d=n(230354),m=n(663752),k=n(541053),S=n(120807),f=n(305128);let fetchSlackStatus=async()=>await (0,m.ZP)(null,"internal/experts/qualification/onboarding/join-slack"),isEmailIgnored=e=>e.includes("@outlier.ai")||e.includes("@remotasks.com"),JoinSlackReminder=e=>{let[i,n]=(0,a.useState)(!1),[l,d]=(0,a.useState)(!e.user.workerSlackId),m=(0,a.useMemo)(()=>!!e.user.workerSlackId,[e.user.workerSlackId]),p=(0,a.useMemo)(()=>isEmailIgnored(e.user.email)||!e.blockSkip||!1,[e.blockSkip,e.user.email]),{data:g}=(0,k.useQuery)("slackStatus",fetchSlackStatus,{refetchInterval:!!l&&1e4,refetchIntervalInBackground:!0});(0,a.useEffect)(()=>{let e=setTimeout(()=>{d(!1)},3e5);return()=>clearTimeout(e)},[]);let handleJoinSlack=async()=>{S.c.track(f.v.JoinSlackUserClickedToJoinSlack),n(!0),window.open(e.ctaUrl,"_blank")};return(0,a.useEffect)(()=>{g&&(null==g||!g.isSlackStepRequired)&&!e.blockSkip&&(null==g?void 0:g.expertSlackId)&&(d(!1),S.c.track(f.v.JoinSlackUserJoinedSlack),window.open("/expert","_parent"))},[m,e.blockSkip,g]),(0,t.jsxs)("div",{children:[(0,t.jsx)(c._,{title:"Join Outlier Slack Community",description:"In order to stay up to date on the latest announcements and get access to support, join Slack with the same email you used for your account.",image:(0,t.jsx)(u.Z,{}),button:(0,t.jsxs)(r.zx,{size:"lg",fullWidth:!0,onClick:handleJoinSlack,children:["Join Slack",(0,t.jsx)(s.J,{variant:"white",icon:["fas","external-link-alt"]})]})}),(0,t.jsx)("div",{className:"flex justify-center",children:p?(0,t.jsx)(r.zx,{size:"lg",variant:"neutral",className:"align-middle w-full max-w-xl justify-center mt-6",onClick:()=>{S.c.track(f.v.JoinSlackUserClickedToSkipJoiningSlack),window.open("/expert","_parent")},children:"Not Now"}):(0,t.jsxs)("div",{className:"text-center mt-6",children:[(0,t.jsx)("p",{children:"Once you have joined, it may take up to a minute to refresh the status."}),i&&(null==g?void 0:g.isSlackStepRequired)&&(0,t.jsx)(o.$,{className:"mt-2 flex",size:"md"})]})})]})};i.ZP=e=>{S.c.track(f.v.JoinSlackViewLoaded,{user:e.user._id});let[i,n]=(0,a.useState)(!1),[m,p]=(0,a.useState)(!1),[g,h]=(0,a.useState)(!e.user.workerSlackId),{skipStep:x,data:v}=(0,l.P)(),w=(0,a.useMemo)(()=>!!e.user.workerSlackId,[e.user.workerSlackId]),{data:y}=(0,k.useQuery)("slackStatus",fetchSlackStatus,{refetchInterval:!!g&&1e4,refetchIntervalInBackground:!0});(0,a.useEffect)(()=>{let e=setTimeout(()=>{h(!1)},3e5);return()=>clearTimeout(e)},[]);let handleJoinSlack=async()=>{S.c.track(f.v.JoinSlackUserClickedToJoinSlack),n(!0),window.open(e.ctaUrl,"_blank")};return(0,a.useEffect)(()=>{y&&(null==y||!y.isSlackStepRequired)&&((null==y?void 0:y.isSlackStepRequired)||(!isEmailIgnored(e.user.email)&&(w||(null==y?void 0:y.expertSlackId))?(h(!1),S.c.track(f.v.JoinSlackUserJoinedSlack),x(d.bj[d.O6.JoinSlack])):(S.c.track(f.v.JoinSlackUserCanSeeSkipButton),p(!0))))},[v.qualifications,w,e.user.email,x,y]),(0,t.jsxs)("div",{className:"pt-16",children:[(0,t.jsx)(c._,{title:"Join Outlier Slack Community",description:"In order to stay up to date on the latest announcements and get access to support, join Slack with the same email you used for your account.",image:(0,t.jsx)(u.Z,{}),button:(0,t.jsxs)(r.zx,{size:"lg",fullWidth:!0,onClick:handleJoinSlack,children:["Join Slack",(0,t.jsx)(s.J,{variant:"white",icon:["fas","external-link-alt"]})]})}),(0,t.jsx)("div",{className:"flex justify-center",children:m?(0,t.jsx)(r.zx,{size:"lg",variant:"neutral",className:"align-middle w-full max-w-xl justify-center mt-6",onClick:()=>x(d.bj[d.O6.JoinSlack]),children:"Not Now"}):(0,t.jsxs)("div",{className:"text-center mt-6",children:[(0,t.jsx)("p",{children:"Once you have joined, it may take up to a minute to refresh the status."}),i&&(null==y?void 0:y.isSlackStepRequired)&&(0,t.jsx)(o.$,{className:"mt-2 flex",size:"md"}),!!y&&!y.isSlackStepRequired&&(0,t.jsx)("p",{children:(0,t.jsx)("span",{className:"text-green-500",children:"Thanks for joining!"})})]})})]})}},442536:function(e,i,n){"use strict";n.r(i);var t=n(667488),a=n(578954),r=n(483521),s=n(349409),o=n(19989),l=n(822580);let JoinSlackPage=e=>(0,t.jsxs)("div",{className:"scaleui outlier-theme scale-tailwind",children:[(0,t.jsx)(r.Z,{}),(0,t.jsx)(a.Z,{}),(0,t.jsx)("div",{className:"flex flex-col min-h-screen scaleui outlier-theme bg-neutral-0 items-center justify-center -mt-46",children:(0,t.jsx)(o.Uk,{user:e.user,ctaUrl:l.mn,blockSkip:e.shouldBlockSkip})})]});JoinSlackPage.getInitialProps=async e=>{let{user:i}=e;return!i||i.expertSlackId?((0,s.ZP)(e,"/expert",{forwardQueryParams:!0}),{stop:!0,pageProps:{}}):{user:i,shouldBlockSkip:!1}},JoinSlackPage.getPageConfig=()=>({user:{kinds:["expert"],required:!1}}),i.default=JoinSlackPage},514274:function(e,i,n){"use strict";n.d(i,{C0:function(){return fetchDuplicateAccounts},Fy:function(){return resolveDuplicateAccounts},JO:function(){return fetchNeedsDuplicateAccountsResolution}});var t=n(325607);let fetchDuplicateAccounts=async()=>await (0,t.ZP)("internal/duplicateAccount/getDupGroupInfo",{headers:{"Content-Type":"application/json"},method:"GET"}),fetchNeedsDuplicateAccountsResolution=async()=>await (0,t.ZP)("internal/duplicateAccount/routingOverrides",{headers:{"Content-Type":"application/json"},method:"PUT"}),resolveDuplicateAccounts=async(e,i)=>{let n={body:JSON.stringify({maskedSelectedActiveUserId:e,intendedDupGroupId:i}),headers:{"Content-Type":"application/json"},method:"PUT"},a=await (0,t.ZP)("internal/duplicateAccount/chooseDupUser",n);return a}},988876:function(e,i,n){"use strict";n.d(i,{K:function(){return useNeedsDuplicateAccountsResolution}});var t=n(142787),a=n(514274);let useNeedsDuplicateAccountsResolution=e=>{var i;let{data:n,refetch:r}=(0,t.a)({queryKey:["needs-duplicate-accounts-resolution",null==e?void 0:e._id],queryFn:a.JO,enabled:!!(null==e?void 0:e._id),staleTime:3e5});return{duplicateAccountsStatus:null!==(i=null==n?void 0:n.routingOverride)&&void 0!==i?i:null,refetchNeedsDuplicateAccountsResolution:r}}},632179:function(e,i,n){"use strict";n.d(i,{k:function(){return OnboardingProvider},P:function(){return useOnboarding}});var t=n(667488),a=n(428575),r=n(645181),s=n(885115),o=n(951423),l=n(325607),c=n(384719);let Stepper=e=>{let{steps:i,activeStep:n}=e,a=(0,s.useCallback)(e=>e===n?"primary":e<n?"success":"neutral",[n]);return(null==i?void 0:i.length)?(0,t.jsx)("div",{className:"scaleui outlier-theme scale-tailwind",children:(0,t.jsx)("div",{className:"flex sm:flex-row justify-center items-center gap-4 sm:my-12 max-sm:justify-start max-sm:m-8 max-sm:mb-0",children:i.map((e,n)=>{var r,s;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-row justify-center items-center gap-2",children:[(0,t.jsx)("div",{className:"rounded-full bg-".concat(a(n),"-50"),children:(0,t.jsx)(c.J,{variant:a(n),icon:null!==(r=e.icon)&&void 0!==r?r:["far","check-circle"]})}),(0,t.jsxs)("div",{className:"max-md:hidden flex flex-col justify-center items-start gap-1",children:[(0,t.jsx)("div",{className:"max-md:hidden text-center text-sm",children:e.title}),(0,t.jsx)("div",{className:"max-md:hidden text-center text-xs text-neutral-400",children:null!==(s=e.description)&&void 0!==s?s:""})]})]},n),n<i.length-1&&(0,t.jsx)("div",{className:"sm:flex flex-col justify-center items-center gap-2 max-sm:hidden",children:(0,t.jsx)("div",{style:{height:1},className:"w-4 bg-neutral-900"})})]})})})}):null};var u=n(942123),d=n(553703),m=n(555363),k=n(243553),S=n(988876),f=n(90272),p=n(120611),g=n(230354);let getPrettyEstimatedTime=e=>{if(!e||0===e)return"";let i=Math.floor(e/60),n=e%60,t=i>0?"".concat(i,"h"):"",a=n>0?"".concat(n,"min"):"";return a?"".concat(t," ").concat(a):"".concat(t)},h=(0,s.createContext)({data:{qualifications:[]},assessmentCourseEstimatedTime:void 0,setAssessmentCourseEstimatedTime:()=>{},nextStep:()=>{},skipStep:()=>{},duplicateAccountsStatus:void 0,fetchData:async()=>{},showFraudCheckpointPage:!1}),getOnboardingStatus=async()=>{let e=await (0,l.ZP)("internal/onboarding_flow_id"),i=f.UNIFIED_FLOWS.includes(e);i&&(0,l.SC)("/onboarding");
1let n=await (0,l.ZP)("/internal/experts/qualification/onboarding",{method:"GET"}),t=(0,u.gP)(n.qualifications),a=t.find(e=>(0,u.Dj)(e)),r=t.every(e=>e.status===d.my.Qualified),s=1===t.filter(e=>(0,u.Dj)(e)).length;return{completeData:t,nextStep:a,onboardingQualified:r,fetchedData:n,isLastStep:s}},useFraudCheckpointStatusMutation=()=>(0,o.D)({mutationKey:["fraudCheckpointStatus"],mutationFn:async()=>{var e;try{let i=await (0,l.ZP)("internal/experts/qualification/fraud-checkpoint/status");return null!==(e=i.status)&&void 0!==e?e:d.NK.NotCompleted}catch(e){return d.NK.NotCompleted}}}),OnboardingProvider=e=>{var i;let{user:n,children:o,showNextButton:c=!1,showSkipButton:x=!0,stepId:v,onRedirect:w,step:y}=e,[C,b]=(0,s.useState)(!1),[j,N]=(0,s.useState)(),[P,U]=(0,s.useState)(),{refetchNeedsDuplicateAccountsResolution:J}=(0,S.K)(n),[V,T]=(0,s.useState)(),[I,L]=(0,s.useState)(!1),{mutateAsync:E}=useFraudCheckpointStatusMutation(),D=window.location.pathname.endsWith("/expert/onboarding/unified-skills-screenings"),O=(0,s.useCallback)(async e=>{let{forceRedirect:i,noLoading:t}=e;t||b(!0);let{isLastStep:a,nextStep:r,onboardingQualified:s,fetchedData:o}=await getOnboardingStatus(),{data:c}=await J();if(a&&(null==c?void 0:c.routingOverride)&&(null==c?void 0:c.routingOverride)!==f.DupGroupRoutingOverride.None&&T(null==c?void 0:c.routingOverride),N(o),(i||!D)&&(s||!r)){await (0,l.ZP)("internal/expert
1s/profiling/complete",{method:"PUT"});let e=await (0,p.V3)({feature:"run-fraud-checkpoint-async",context:{user:n}});if(e){let e=await E(),i=!!(s&&e===d.NK.NotCompleted);i||(0,l.VM)("/expert"),L(i),b(!1)}else(0,l.VM)("/expert");return}(!y||i)&&r&&r.path&&await (null==w?void 0:w(r.path)),b(!1)},[y,w,D,J,n,E]),R=(0,s.useMemo)(()=>!!x,[x]),A=(0,s.useCallback)(()=>{O({forceRedirect:!0})},[O]),F=(0,s.useCallback)(e=>{(0,u.mu)(e),A()},[A]);if((0,s.useEffect)(()=>{j||O({})},[j,O]),(0,m.h)(n),n||window.location.replace("/expert/signup"),!j||!y&&!I)return(0,t.jsx)(a.$,{size:"lg",className:"min-h-screen flex items-center justify-center"});let _=(0,u.gP)(j.qualifications),q=v?_.findIndex(e=>e.id===v):_.findIndex(e=>(0,u.Dj)(e)),M=_[q],W=_.map(e=>(0,u.LQ)(e));P&&(W=W.map(e=>{let i=e.id;return i===d.Cs.ASSESSMENT?Object.assign(Object.assign({},e),{description:"".concat(getPrettyEstimatedTime(P)," estimated time")}):e}));let z=null===(i=null==n?void 0:n.tags)||void 0===i?void 0:i.includes(k.UNK);return z&&(W=W.map(e=>{let i=e.id;return i===g.bj[g.O6.Signup]&&z?Object.assign(Object.assign({},e),{title:"Confirm Information"}):e})),(0,t.jsxs)(h.Provider,{value:{data:j,assessmentCourseEstimatedTime:P,setAssessmentCourseEstimatedTime:U,nextStep:A,skipStep:F,duplicateAccountsStatus:V,fetchData:O,showFraudCheckpointPage:I},children:[!I&&(0,t.jsx)(Stepper,{steps:W,activeStep:q}),C?(0,t.jsx)(a.$,{size:"lg",className:"min-h-screen flex items-center justify-center"}):(0,t.jsxs)(t.Fragment,{children:[o&&(0,s.cloneElement)(o,{metadata:null==M?void 0:M.metadata}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 mt-4 pb-4",children:[c&&(0,t.jsx)(r.zx,{size:"lg",className:"align-middle w-full max-w-2xl justify-center",onClick:A,children:"Next"}),(null==M?void 0:M.skippable)&&R&&(0,t.jsx)(r.zx,{size:"lg",variant:"neutral",className:"align-middle w-full max-w-xl justify-center",onClick:()=>F(null==M?void 0:M.id),children:"Not Now"})]})]})]})},useOnboarding=()=>(0,s.useContext)(h)},555363:function(e,i,n){"use strict";n.d(i,{h:function(){return useUpdateLastOnline}});var t=n(885115),a=n(325607);let useUpdateLastOnline=e=>{let i=(0,t.useRef)(0),n=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(!e||"spoofed"in e&&e.spoofed)return;let sleep=e=>new Promise(i=>setTimeout(i,e)),pingWithRetry=async()=>{for(let e=0;e<=3;e++)try{return await (0,a.ZP)("internal/scaler/ping"),!0}catch(i){if(e<3){let i=1e3*Math.pow(2,e);await sleep(i)}}return!1},updateLastOnlineStatus=async()=>{if("undefined"!=typeof document&&"hidden"===document.visibilityState)return;if(i.current>=3&&null!==n.current){let e=Date.now()-n.current;e>=36e5&&(console.info("Resetting last online status failures after cooldown period. Retrying..."),i.current=0,n.current=null)}if(i.current>=3)return;let e=await pingWithRetry();e?(i.current=0,n.current=null):(i.current++,n.current=Date.now(),console.error("Error updating last online status after ".concat(4," attempts (").concat(i.current,"/").concat(3," consecutive failures)")),i.current>=3&&console.warn("Pausing last online status updates due to ".concat(3," consecutive failures. Will auto-retry in 1 hour.")))};updateLastOnlineStatus();let t=setInterval(()=>{updateLastOnlineStatus()},3e5),handleVisibilityChange=()=>{"visible"===document.visibilityState&&(i.current=0,n.current=null,updateLastOnlineStatus())};return document.addEventListener("visibilitychange",handleVisibilityChange),()=>{clearInterval(t),document.removeEventListener("visibilitychange",handleVisibilityChange)}},[e])}},305128:function(e,i,n){"use strict";var t,a;n.d(i,{v:function(){return t}}),(a=t||(t={})).IdentityDecline="Identity Decline",a.NumRemainingVerificationsRequired="Number Remaining Verifications Required",a.VerificationCompleted="Verification Completed",a.StartVerification="Start Verification",a.ReachedMaxTries="Reached Max Tries Of Tries",a.CheckAccountVerificationStatus="Check Account Verification Status",a.SupportRequest="Support Request",a.DownloadEarningsCSV="Download Earnings CSV",a.EarningsViewUnderMaintenance="Earnings View Under Maintenance",a.SubmittedPhoneNumberForVerification="Submitted Phone Number For Verification",a.SubmittedPhoneNumberForVerificationError="Submitted Phone Number For Verification
1Error",a.ClickedContinueVerifyPhone="Clicked Continue - Verify Phone",a.ClickedContinueModifyInformation="Clicked Continue - Modify Information",a.PhoneNumberInputFocused="Phone Number Input Focused",a.SubmitLanguages="Submit Languages",a.LanguagesSaved="Languages Saved",a.LanguagesSelected="Languages Selected",a.SkipWorkerSkillsSelection="Skip Worker Skills Selection",a.SelectWorkerSkills="Select Worker Skills",a.WorkerSkillsSaved="Worker Skills Saved",a.SubmitWorkerSkills="Submit Worker Skills",a.FinishIdentityVerification="Finish Identity Verification",a.VerificationApproved="Verification Approved",a.IsVerificationUnderReview="Is Verification Under Review",a.ResumePersonaVerification="Resume Persona Verification",a.LoadPersonaVerification="Load Persona Verification",a.UnifiedSkillsScreeningsUserClickedScreenForOtherSkills="Unified Skills Screenings - User clicked screen for other skills",a.UnifiedSkillsScreeningsUserClickedSkipScreenings="Unified Skills Screenings - User clicked skip screenings",a.UnifiedSkillsScreeningsUserClickedTakeScreening="Unified Skills Screenings - User clicked take screening",a.UnifiedSkillsScreeningsUserClickedTakeAgenticInterview="Unified Skills Screenings - User clicked take agentic interview",a.UnifiedSkillsScreeningsGeneralReasoningResolveFailed="Unified Skills Screenings - General reasoning arm resolution failed",a.UnifiedSkillsScreeningsUserClickedContinueFailed="Unified Skills Screenings - User clicked continue on screening failed",a.UnifiedSkillsScreeningsUserClickedContinuePassed="Unified Skills Screenings - User clicked continue on screening passed",a.JoinSlackUserClickedToJoinSlack="Join Slack - User clicked to join slack",a.JoinSlackUserCanSeeSkipButton="Join Slack - User Can See Skip Button",a.JoinSlackUserClickedToSkipJoiningSlack="Join Slack - User Clicked To Skip Joining Slack",a.JoinSlackUserJoinedSlack="Join Slack - User Joined Slack",a.JoinDiscourseUserClickedToJoinDiscourse="Join Discourse - User clicked to join discourse",a.JoinDiscourseUserCanSeeSkipButton="Join Discourse - User Can See Skip Button",a.JoinDiscourseUserClickedToSkipJoiningDiscourse="Join Discourse - User Clicked To Skip Joining Discourse",a.JoinDiscourseUserJoinedDiscourse="Join Discourse - User Joined Discourse",a.JoinDiscourseUserBypassedDiscourse="Join Discourse - User Bypassed Discourse",a.TrainingErroredGettingCourseInfo="Training - Errored Getting Course Info",a.TrainingContinueToAssessment="Training - Continue To Assessment",a.TrainingSkipAssessment="Training - Skip Assessment",a.TrainingAssessmentNotEnabledOrUserIsOrganic="Training - Assessment Not Enabled Or User Is Organic",a.TrainingNoAssessmentQualificationFound="Training - No Assessment Qualification Found",a.TrainingNoPendingQualificationFound="Training - No Pending Qualification Found",a.ConfirmYourInformationViewLoaded="Confirm Your Information View Loaded",a.PhoneVerificationCodeViewLoaded="Phone Verification Code View Loaded",a.LanguagesViewLoaded="Languages View Loaded",a.ExpertiseViewLoaded="Expertise View Loaded",a.ProgrammingExpertiseViewLoaded="Programming Expertise View Loaded",a.IdentityVerificationViewLoaded="Identity Verification View Loaded",a.JoinSlackViewLoaded="Join Slack View Loaded",a.JoinDiscourseViewLoaded="Join Discourse View Loaded",a.AssesmentOverviewViewLoaded="Assesment Overview View Loaded",a.LocationPolicyWarning="Location Policy Warning Page Loaded",a.PhoneNumberChangeAborted="Phone Number Change Aborted",a.PhoneNumberChangeReverificationFailed="Phone Number Change Reverification Failed",a.PhoneNumberChange2FAFailed="Phone Number Change 2FA Failed",a.PhoneNumberChangeSuccess="Phone Number Change Success",a.PhoneNumberChangeStarted="Phone Number Change Started",a.ViewResourceLibraryPage="View Resource Library Page",a.ViewResourceLibraryModule="View Resource Library Module",a.ViewUnrenderableTaskPreview="View Unrenderable Task Preview"},822580:function(e,i,n){"use strict";var t,a,r,s,o,l;n.d(i,{$c:function(){return c},Pm:function(){return a},Q2:function(){return u},mn:function(){return d},xQ:function(){return r},xu:function(){return t}});let c=[null,void 0];(s=t||(t={})).Expert="expert",s.Remotask="remotask",(o=a||(a={})).reviewLevels="reviewLevels",o.workerSources="workerSources",o.countries="countries",o.tier
1Statuses="tierStatuses",o.tags="tags",o.requireAllTags="requireAllTags",o.communities="communities",(l=r||(r={})).Email="Email",l.SlackEmail="Slack Email",l.SlackId="Slack Id";let u="https://community.remotasks.com/login",d="https://app.outlier.ai/en/expert/ECInvite"}},function(e){e.O(0,[94762,49774,92888,40179],function(){return e(e.s=685563)}),_N_E=e.O()}]);
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.