PageSourceSearch

https://facilitatethefuture.com/assets/Account-DsDbW6Cc.js

js facilitatethefuture.com collected 2026-10-01 01:46:35 UTC 9,653 bytes, 1 lines download raw bytes

1import{r as d,u as Y,j as n,K as $,C as F,z as R,P as w,a6 as C,e as f,G as j,B as M,T as h,q as i}from"./react-CiToEmDU.js";import{f as G,a as W,e as q,s as V,q as a,S as K}from"./index-BYjFgc3L.js";import{U as y}from"./User-CEuBhm9z.js";import{U as B,T as P}from"./ToggleRow-BX3ruTxB.js";import{e as r}from"./ResourceNode-OBIHQGrc.js";import{S as p}from"./ui-RDrFZQ6P.js";import{H as J}from"./Helmet-Dnl5bqjF.js";import{P as O,S as g}from"./SectionCard-CfMgbV3x.js";import{B as Q}from"./BrandTile-BZAYQKRR.js";import{u as X}from"./faPencil-i7LcEqDF.js";import"./utils-D0PJbLwx.js";import"./media-CVQTa9EZ.js";import"./analytics-BXHdaAVG.js";import"./tiptap-nRqHaR__.js";import"./index-VeBbZI0v.js";import"./faListCheck-DLKcNtcQ.js";import"./faScaleBalanced-D5aakmWf.js";import"./faClipboardCheck-S11E7M81.js";import"./faHouse-U1l3zx8N.js";import"./faArrowRight-4u0hryvz.js";import"./faXmark-B7G55HuF.js";import"./default-COrDvlHP.js";import"./TrackMixpanel-C5L6PEAt.js";import"./module-xE8hoDfr.js";(function(){try{var t=typeof window!="undefined"?window:typeof global!="undefined"?global:typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:{};t.SENTRY_RELEASE={id:"e15ff996bbe7105fef2b7e48186cc5ea2cf1c022"};var u=new t.Error().stack;u&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[u]="167e2ecb-1ecc-4127-90de-24cbd6969c87",t._sentryDebugIdIdentifier="sentry-dbid-167e2ecb-1ecc-4127-90de-24cbd6969c87")}catch{}})();const Z="_spaceLink_j1teb_1",ee={spaceLink:Z},te=t=>t?t.length<=14?t:`${t.slice(0,8)}...${t.slice(-4)}`:"Stripe account",ne=t=>{if(!t)return"Linked Stripe account";const u=new Date(t);return Number.isNaN(u.getTime())?"Linked Stripe account":`Linked ${u.toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}`},se=t=>t!=null&&t.slug?t.version?`/space/${t.slug}/${t.version}`:`/space/${t.slug}`:null;function Pe(){const{t,i18n:u}=X(),o=G(e=>e.user),c=W(),T=q(),[x,D]=d.useState([]),[k,b]=d.useState(!1),[v,S]=d.useState(!!(o!=null&&o.profile_hidden));d.useEffect(()=>{_()},[o]),d.useEffect(()=>{S(!!(o!=null&&o.profile_hidden))},[o]),d.useEffect(()=>{o&&o.id&&B.onFetch(o.id,e=>b(!!e.cobolt_indexing_excluded),()=>{})},[o]);const A=e=>{b(e),B.onUpdate(o.id,{cobolt_indexing_excluded:e},s=>{c(a({opened:!0,title:s.title,message:s.message,color:"green"}))},s=>{b(!e),c(a({opened:!0,title:(s==null?void 0:s.title)||"Something went wrong",message:(s==null?void 0:s.message)||"We couldn't update that setting. Please try again.",color:"red"}))})},E=e=>{if(!e){A(!1);return}p.fire({title:"Exclude your contributions from Cobolt AI?",html:"This stops Cobolt from using your posts, comments, and reflections, and <b>erases what it has already learned from you</b>. You can turn it back on later and Cobolt will relearn from your contributions.",showDenyButton:!0,confirmButtonText:"Yes, exclude me",denyButtonText:"Cancel",confirmButtonColor:r.red,denyButtonColor:r.gray}).then(s=>{s.isConfirmed&&A(!0)})},L=e=>{S(e),y.onUpdate(o.id,{profile_hidden:e},()=>{c(V({...o,profile_hidden:e}))},s=>{S(!e),c(a({opened:!0,title:(s==null?void 0:s.title)||"Something went wrong",message:(s==null?void 0:s.message)||"We couldn't update that setting. Please try again.",color:"red"}))})},l=Y({initialValues:{current_password:"",password:"",password_confirmation:""},validate:{current_password:e=>e.length>0?null:t("settings.accountSettings.invalidCurrentPasswordErrorMsg"),password:e=>e.length>=8?null:t("settings.accountSettings.invalidPasswordErrorMsg"),password_confirmation:e=>e==l.values.password?null:t("settings.accountSettings.invalidPasswordConfirmationErrorMsg")}}),I=()=>{y.onChangePassword(o.id,l.values,e=>{l.reset(),c(a({opened:!0,title:e.title,message:e.message,color:"green"}))},e=>{c(a({opened:!0,title:e.title,message:e.message,color:"red"}))})},U=()=>{o&&o.account_type=="basic"?p.fire({title:t("settings.accountSettings.deleteAccountAlert.title"),html:t("settings.accountSettings.deleteAccountAlert.message"),showDenyButton:!0,confirmButtonText:t("settings.accountSettings.deleteAccountAlert.confirmButton"),denyButtonText:t("settings.accountSettings.deleteAccountAlert.cancelButton"),confirmButtonColor:r.red,denyButtonColor:r.gray,input:"text",inputLabel:t("settings.accountSettings.deleteAccountAlert.input"),inputValidator:e=>{if(!e||e!="delete my account")return"Please follow the instructions"}}).then(e=>{e.isConfirmed?z(e.value):e.isDenied}):p.fire({title:t("settings.accountSettings.cancelSubscriptionAlert.title"),html:t("settings.accountSettings.cancelSubscriptionAlert.message"),showDenyButton:!0,confirmButtonText:t("settings.accountSettings.cancelSubscriptionAlert.confirmButton"),denyButtonText:t("settings.accountSettings.cancelSubscriptionAlert.cancelButton"),confirmButtonColor:r.blue,denyButtonColor:r.gray}).then(e=>{e.isConfirmed?T("/settings/billing"):e.isDenied})},z=e=>{y.onDestroy(o.id,e,s=>{l.reset(),T("/user/sign_out"),c(a({opened:!0,title:s.title,message:s.message,color:"green"}))},s=>{c(a({opened:!0,title:s.title,message:s.message,color:"red"}))})},H=e=>{p.fire({title:t("settings.accountSettings.stripeAccount.confirmTitle"),html:t("settings.accountSettings.stripeAccount.confirmMessage"),showDenyButton:!0,confirmButtonText:t("settings.accountSettings.stripeAccount.confirmButton"),denyButtonText:t("settings.accountSettings.stripeAccount.cancelButton"),confirmButtonColor:r.red,denyButtonColor:r.gray}).then(s=>{s.isConfirmed?B.onDestroy(o.id,m=>{p.fire(m.title,m.message,"success")},m=>{}):s.isDenied})},_=()=>{y.onFetchStripeConnections(e=>{D([...e])},e=>{})},N=e=>{e&&p.fire({title:"Are you sure?",html:`Your Stripe credentials will be cleared from ${e.name}?`,showDenyButton:!0,confirmButtonText:"Yes, disconnect",denyButtonText:"No",confirmButtonColor:r.red,denyButtonColor:r.gray}).then(s=>{s.isConfirmed?K.onDisconnect2(e.slug,m=>{_()},m=>{}):s.isDenied})};return n.jsxs($,{style:{height:"100%"},children:[n.jsx(J,{children:n.jsx("title",{children:"Sutra - Account settings"})}),n.jsx(F,{style:{marginBottom:"50px"},size:1e3,pt:20,pb:40,pl:40,pr:40,children:n.jsxs("form",{onSubmit:l.onSubmit(e=>I()),children:[n.jsx(O,{title:t("settings.accountSettings.accountSettings"),lede:"Security, connections, and account-level actions."}),n.jsxs(R,{gap:"lg",mt:"lg",children:[n.jsxs(g,{title:t("settings.accountSettings.changePassword"),description:"Use at least 8 characters. We recommend a mix of letters, numbers, and symbols.",children:[n.jsx(w,{...l.getIn
1putProps("current_password"),label:t("settings.accountSettings.currentPassword"),mb:"md"}),n.jsxs(C,{gutter:"md",children:[n.jsx(C.Col,{span:{base:12,sm:6},children:n.jsx(w,{...l.getInputProps("password"),label:t("settings.accountSettings.newPassword")})}),n.jsx(C.Col,{span:{base:12,sm:6},children:n.jsx(w,{...l.getInputProps("password_confirmation"),label:t("settings.accountSettings.newPasswordConfirmation")})})]}),n.jsx(f,{mt:"md",radius:"xl",size:"md",type:"submit",children:t("settings.accountSettings.updatePassword")})]}),n.jsxs(g,{title:"AI & Privacy",description:"Control how Cobolt, Sutra's AI, uses what you write.",children:[n.jsx(P,{checked:k,onChange:E,label:"Exclude my contributions from Cobolt AI",description:"Cobolt learns from your posts, comments, and reflections to power conversational courses, your member profile, and recommendations. Turn this on to keep your contributions out of Cobolt and erase what it has already learned from you. This doesn't change what you can see — only how Cobolt uses your contributions."}),n.jsx(P,{checked:v,onChange:L,label:"Hide my public profile",description:"Your public profile page at sutra.co/your-username will show visitors a privacy notice instead. People in spaces you share will still see your profile in the member panel — this only affects your standalone public page, not your presence inside spaces.",last:!0})]}),o.can_accept_charges&&n.jsx(g,{title:"Your Stripe account",description:"Connect your Stripe account to receive payouts from paid spaces and the Ambassador program.",children:n.jsxs(j,{justify:"space-between",align:"center",gap:"lg",children:[n.jsxs(j,{gap:"md",align:"center",children:[n.jsx(Q,{bg:"#635bff",label:"S"}),n.jsxs(M,{children:[n.jsxs(h,{fw:600,size:"sm",children:["Connected · ",te(o.stripe_user_id)]}),n.jsx(h,{size:"xs",c:"dimmed",children:ne(o.stripe_connected_at)})]})]}),n.jsx(f,{type:"button",variant:"default",radius:"xl",onClick:()=>H(),children:"Disconnect Stripe"})]})}),x&&x.length>0&&n.jsx(g,{title:"Spaces connected to Stripe",description:"Spaces where you receive payments. Disconnecting a space stops new charges on it immediately.",children:n.jsxs(i,{verticalSpacing:"sm",children:[n.jsx(i.Thead,{children:n.jsxs(i.Tr,{children:[n.jsx(i.Th,{children:"Space name"}),n.jsx(i.Th,{children:"Slug"}),n.jsx(i.Th,{})]})}),n.jsx(i.Tbody,{children:x.map(e=>{if(e.pod){const s=se(e.pod);return n.jsxs(i.Tr,{children:[n.jsx(i.Td,{children:s?n.jsx(h,{component:"a",href:s,target:"_blank",rel:"noopener noreferrer",className:ee.spaceLink,children:e.pod.name}):e.pod.name}),n.jsx(i.Td,{children:n.jsx(h,{style:{fontFamily:"monospace",fontSize:13},children:e.pod.slug})}),n.jsx(i.Td,{children:n.jsx(j,{justify:"flex-end",gap:6,children:n.jsx(f,{type:"button",size:"xs",variant:"default",onClick:()=>N(e.pod),children:"Disconnect"})})})]},e.pod.id||e.pod.slug)}return null})})]})})]}),n.jsx(g,{danger:!0,title:"Close your account",description:"Permanently delete your account, owned spaces, and all associated data. This action can't be undone.",mt:"lg",children:n.jsx(f,{type:"button",radius:"xl",color:"red",onClick:()=>U(),children:"Close account"})})]})})]})}export{Pe as default};

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.