1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f99c8b57-e942-44a2-8ac3-5e3a7c4936ca",e._sentryDebugIdIdentifier="sentry-dbid-f99c8b57-e942-44a2-8ac3-5e3a7c4936ca")}catch(e){}}();"use strict";(self.webpackChunkaudioboom_web=self.webpackChunkaudioboom_web||[]).push([[3473],{97105:function(e,t,s){let n;s.d(t,{default:function(){return B}});var i=s(74848),a=s(96540),o=s(43657),r=s(86378),c=s(79371),l=s(38563),u=s(20311),h=s.n(u),d=s(16200);let _=document.head.querySelector('meta[property="fb:app_id"]')?.content;function p(e){return h()(e,"missing function to promisify"),function(...t){let s=this;return new Promise(function(n,i){t.push(n),e.apply(s,t)})}}function f(e){return h()(e,"missing function to promisify"),function(...t){let s=this;return new Promise(function(n,i){t.unshift(n),e.apply(s,t)})}}var g=s(54669),m=s(51451),b=s(32017),v=s.n(b),k=s(34390);let y=["pages_show_list","pages_manage_posts","pages_read_user_content","business_management"],w=y.join(",");function x(e){console.error("Facebook error: ",e),(0,r.zr)("Failed to load Facebook - please check your connection and/or ad blocker & try again",{level:"warning"})}class A{_authState={status:"unknown"};_ee=new m.A;_userAccount;_accounts=[];_permissions="";_FB=null;_requestsInProgress=0;async loadFB(){if(this._FB)return Promise.resolve(this._FB);let e=await (!n&&(n=new Promise(_?function(e){var t,s,n;window.fbAsyncInit=function(){let t=window.FB,s={...t,getLoginStatusAsync:p(t.getLoginStatus),apiAsync:p(t.api),loginAsync:f(t.login),logoutAsync:f(t.logout)};s.init({appId:_,status:!0,cookie:!0,oauth:!0,version:"v23.0"}),e(s)},n=(t=document).getElementsByTagName("script")[0],t.getElementById("facebook-jssdk")||((s=t.createElement("script")).setAttribute("nonce",(0,d.A)()),s.id="facebook-jssdk",s.src="//connect.facebook.net/en_US/sdk.js",h()(n.parentNode,"expected parent node"),n.parentNode.insertBefore(s,n))}:function(){})),n);return this._FB=e,this._rq(e.getLoginStatusAsync()).then(this._handleAuthResponse),e.Event.subscribe("auth.authResponseChange",this._handleAuthResponse),e}resetState(){this._authState={status:"unknown"},this._userAccount=null,this._accounts=[],this._permissions=""}_rq(e){return this._requestsInProgress++,this._emitChange(),Promise.resolve(e).finally(()=>{this._requestsInProgress--,this._emitChange()})}async _fbGet(e,t){let s=await this.loadFB();return this._rq(s.apiAsync(e,t))}onChange(e){this._ee.add(e)}offChange(e){this._ee.remove(e)}userInitiatedLogin(){this._authState={status:"loading"},this._emitChange(),Promise.race([(0,k.wR)(5e3),this.loadFB()]).then(e=>e.loginAsync({scope:w})).catch(x)}_emitChange(){this._ee.trigger()}_handleAuthResponse=e=>{if(h()("status"in e&&"string"==typeof e.status&&["unknown","not_authorized","connected"].indexOf(e.status)>=0,`unexpected auth-response result ${JSON.stringify(e)}`),!v()(e,this._authState)&&(this._authState=e,this._accounts=[],this._permissions="",this._emitChange(),"connected"===this._authState.status)){let e=this._authState.authResponse.accessToken;this._fbGet("/me").then(this._handleMeResponse).catch(x),this._fbGet("/me/permissions").then(this._handlePermissionsResponse).catch(x),this._exchangeToken(e).then(e=>this._fbGet("/me/accounts",{access_token:e.access_token}).then(this._handleAccountsResponse)).catch(x)}};_handlePermissionsResponse=e=>{if(!e.data)throw Error(`expected data in ${JSON.stringify(e)}`);this._permissions=e.data.filter(e=>"granted"===e.status).map(e=>e.permission).join(","),this._emitChange()};_handleMeResponse=e=>{if(!e.id)throw Error(`expected id in ${JSON.stringify(e)}`);h()("connected"===this._authState.status,"we should be connected by this point"),this._userAccount={id:e.id,name:e.name,isWall:!0,accessToken:this._authState.authResponse.accessToken},this._emitChange()};_handleAccountsResponse=e=>{if(!e.data)throw Error(`expected data in ${JSON.stringify(e)}`);this._accounts=e.data.map(e=>({id:e.id,name:e.name,isWall:!1,accessToken:e.access_token})),this._emitChange()};_exchangeToken(e){return this._rq((0,g.DD)((0,l.f0)(),{access_token:e,api_version:2}).then(e=>e.json()))}_allPages(){var e=this._accounts.slice();return e.sort((e,t)=>
1e.name>t.name?1:-1),e}getState(){return{auth:this._authState,needsUserLogin:!function(e){if(!e)return!1;let t=e.split(",");return y.every(e=>t.indexOf(e)>-1)}(this._permissions),pages:this._allPages(),requestsInProgress:this._requestsInProgress}}async saveAccessToken(e,t){var s,n;let i=this._allPages().find(e=>e.id===t);h()(i&&this._permissions&&this._userAccount,"FB details haven't been filled in");let a={should_post:!0,short_lived_token:i.accessToken,permission_string:this._permissions,facebook_user_id:this._userAccount.id,page_target_description:i.name,page_id:i.isWall?null:i.id};return await (s=e,n=a,(0,g.pi)((0,c.hA)(s),{stream:{facebook_permission_attributes:n}}).then(e=>e.json()).then(function(e){if(!e.success)throw Error("Facebook saving failed")})),a}async removeAccessToken(e){await (0,g.ku)((0,c.pk)(e)),await this.logout()}async logout(){this._FB&&"unknown"!==this._authState.status&&await this._FB.logoutAsync(),this.resetState()}}let j=null;var S=s(77688),C=s.p+"static/components/facebook_linker/continue_with_facebook-7692d6c379288885d619.png",F=s(15685);let P=(j||(j=new A),j);var B=function({streamId:e,initialPermission:t}){let s=(0,a.useRef)(null),[n,c]=(0,a.useState)(t),[l,u]=(0,a.useState)(P.getState()),[h,d]=function(){let[e,t]=(0,a.useState)(0);return[e=>{t(e=>e+1);let s=Date.now();Promise.resolve(e).finally(()=>{let e=Date.now()-s;setTimeout(()=>t(e=>e-1),e<100?e:100)})},e>0]}(),_=()=>{u(P.getState())};(0,a.useEffect)(()=>(P.onChange(_),()=>{P.offChange(_)}),[]);let p=e=>{e.preventDefault(),P.userInitiatedLogin()},f=t=>{if(t.preventDefault(),s.current){var n=s.current.value;if(!n)return void h();h(P.saveAccessToken(e,n).then(function(e){c(e)}).catch(e=>{console.warn("FB.saveAccessToken failed",e),(0,r.vx)()}))}},g=e=>{e.preventDefault(),h(P.logout().then(()=>c(null)).catch(e=>{console.warn("FB.logout failed",e),(0,r.vx)()}))},m=t=>{if(t.preventDefault(),!window.confirm("Are you sure?"))return!1;h(P.removeAccessToken(e).then(function(){c(null)}).catch(e=>{console.warn("FB.removeAccessToken failed",e),(0,r.vx)()}))};return(0,i.jsxs)("div",{children:[(()=>{if(n){var e=n.page_target_description;return n.page_id||(e+="'s Wall"),(0,i.jsxs)("div",{children:[(0,i.jsx)("h6",{children:"Posting to"}),(0,i.jsxs)("div",{className:"bg-white pam rounded-3 l-flex-centre-children-v",children:[(0,i.jsx)("span",{children:e}),(0,i.jsx)("button",{type:"button",className:"btn btn-sm btn-danger mla",onClick:m,children:"Cancel"})]})]})}})()||(()=>{var{pages:e,needsUserLogin:t,requestsInProgress:n}=l;if(e&&!t)return(0,i.jsxs)("div",{children:["Where would you like to post?",(0,i.jsxs)("select",{ref:s,className:"w-100 form-select",disabled:n>0,children:[(0,i.jsxs)("option",{value:"",children:[" --- "," "]}),e.map(e=>(0,i.jsx)("option",{value:e.id,children:e.isWall?"My Wall":e.name},e.id))]}),(0,i.jsxs)("div",{className:"df mtm",children:[(0,i.jsx)("button",{type:"button",className:"btn btn-primary mra",onClick:f,children:(0,i.jsx)(S.A,{icon:F.e68,label:"Save"})}),(0,i.jsx)("button",{type:"button",className:"btn",onClick:g,children:"Start over"})]})]})})()||(()=>{let{auth:e,pages:t}=l,s="loading"===e.status,n="connected"===e.status&&0===t.length;return(0,i.jsxs)("div",{children:[n?(0,i.jsxs)("p",{children:[(0,i.jsx)(S.A,{icon:F.zpE})," No pages found. Please set up a Facebook Page to post your episodes to."]}):(0,i.jsx)("p",{children:"Audioboom can post to Facebook when you publish an episode"}),(0,i.jsxs)("a",{href:"#",onClick:p,children:[(0,i.jsx)("img",{src:C,style:{maxWidth:250}}),s&&(0,i.jsx)(S.A,{icon:F.z1G,className:"fa-spin mls"})]})]})})(),d&&(0,i.jsx)("div",{className:"l-abs-fill-all bg-black-20 text-white",children:(0,i.jsx)(o.Ay,{})})]})}},51451:function(e,t){t.A=class{listeners={};add(e){return this.addListener("*",e)}remove(e){this.removeListener("*",e)}trigger(e){this.emit("*",e)}addListener(e,t){return this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t),()=>this.removeListener(e,t)}removeListener(e,t){this.listeners[e]=this.listeners[e].filter(e=>e!==t)}emit(e,t){(this.listeners[e]||[]).forEach(e=>e(t))}}}}]);
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.