PageSourceSearch

https://www.growthmentor.com/vite/assets/calendars.page-CV7Syvly.js

js growthmentor.com collected 2026-09-25 19:39:21 UTC 4,793 bytes, 2 lines download raw bytes

1import{_ as z}from"./SettingsLayout-C_4aSze9.js";import{_ as A}from"./AccountSettingsNavigation-CIgF00VW.js";import{S as _,u as b,j as f,o as t,w as n,d as s,b as r,c as i,k as p,a9 as g,g as o,i as u,f as l,L as k,F as v,s as V,h as $,t as E,E as F}from"./inertia-BhHMjE5o.js";import{_ as L}from"./ConfirmationModal-CdQgguCR.js";import"./Container-D2LBDiqq.js";import"./Card.vue_vue_type_script_setup_true_lang-Dp3iGZ7t.js";import"./EditableAvatar-CR7G8RpR.js";import"./appsignal-Dxa_GAIt.js";import"./index-DE9Z_zPw.js";/* empty css                 *//* empty css              *//* empty css                    *//* empty css                   *//* empty css                */import"./trash-2-DJ_mKA1k.js";import"./user-C2tnvRHM.js";import"./credit-card-Crui-UwO.js";import"./SettingsNavigation-BS097PyX.js";import"./useFeatureFlags-CCBcFm6n.js";const M={key:0},I={key:1},O={key:2},T={class:"mt-6 flex flex-col space-y-2",test_id:"available-calendars"},B={key:4,class:"mt-4"},C="disconnect-calendar-confirmation",oe={__name:"calendars.page",props:{availableCalendars:{type:Array,default:()=>[]},calendarData:{type:Object,required:!0}},setup(a){const h=a,{openModal:w}=_();new URL(window.location.href).searchParams.get("enable-nylas");const d=b({synced_calendars:h.availableCalendars.filter(c=>c.synchronized).map(c=>c.name)}),m=b({}),x=()=>{d.transform(c=>({user:c})).post("/settings/account/nylas_integration",{preserveScroll:!0,onSuccess:()=>{F({text:"Your synced calendars have been saved.",type:"success"})}})},D=()=>{m.delete("/settings/account/nylas_integration",{preserveScroll:!0})};return(c,e)=>(t(),f(z,{key:1,header:"Account Settings"},{default:n(()=>[s(A),e[15]||(e[15]=r("div",{class:"mt-6"},[r("div",{class:"heading-3"},"Calendar Integration"),r("p",{class:"text-sm text-neutral-500"}," Connect your account and select which calendars you want to connect. Your availability will sync across. ")],-1)),a.calendarData.calendar.connected&&a.calendarData.calendar.authenticated?(t(),i("div",M,[s(g,{type:"success",class:"my-4"},{title:n(()=>[...e[4]||(e[4]=[o("Calendar connected!",-1)])]),_:1}),s(u,{color:"red",test_id:"disconnect-account",onClick:e[0]||(e[0]=y=>l(w)(C)),"is-disabled":l(m).processing},{default:n(()=>[l(m).processing?(t(),f(k,{key:0,size:"16",class:"mr-2"})):p("",!0),e[5]||(e[5]=o(" Disconnect ",-1))]),_:1},8,["is-disabled"])])):a.calendarData.calendar.authenticated?(t(),i("div",O,[s(g,{type:"info",class:"my-4"},{title:n(()=>[...e[8]||(e[8]=[o("Connect your calendar",-1)])]),description:n(()=>[...e[9]||(e[9]=[o(" Every session lands on your calendar with the time and the join link. If you mentor, busy time on your calendar closes those slots on GrowthMentor, so nobody can book you when you are not free. ",-1)])]),_:1}),e[11]||(e[11]=r("p",{class:"mb-4 text-sm text-neutral-500"},[o(" Takes about a minute. You pick which calendars sync after you connect. Disconnect anytime. "),r("a",{href:"/faq/how-to-synch-your-calendar",target:"_blank",class:"link"}," How to sync your calendar ")],-1)),s(u,{href:"/settings/account/nylas_integration/redirect",test_id:"connect-account"},{default:n(()=>[...e[10]||(e[10]=[o(" Connect ",-1)])]),_:1})])):(t(),i("div",I,[s(g,{type:"warning",class:"my-4"},{title:n(()=>[...e[6]||(e[6]=[o("Your calendar needs to be re-authenticated.",-1)])]),_:1}),s(u,{href:"/settings/account/nylas_integration/redirect",test_id:"reauthenticate-account"},{default:n(()=>[...e[7]||(e[7]=[o(" Re-authenticate ",-1)])]),_:1})])),a.calendarData.calendar.connected&&a.calendarData.calendar.synchronized&&a.calendarData.calendar.authenticated?(t(),i(v,{key:3},[r("div",T,[e[12]||(e[12]=r("div",{class:"heading-5"},"Calendars to synchronize:",-1)),(t(!0),i(v,null,V(a.availableCalendars,(y,N)=>(t(),i("div",{key:N},[s($,{modelValue:l(d).synced_calendars,"onUpdate:modelValue":e[1]||(e[1]=S=>l(d).synced_calendars=S),type:"checkbox",value:y.name},{default:n(()=>[o(E(y.name),1)]),_:2},1032,["modelValue","value"])]))),128))]),s(u,{color:"primary",onClick:x,"is-disabled":l(d).processing,class:"mt-4"},{default:n(()=>[l(d).processing?(t(),f(k,{key:0,size:"16",class:"mr-2"})):p("",!0),e[13]||(e[13]=o(" Save ",-1))]),_:1},8,["is-disabled"])],64)):!a.calendarData.calendar.synchronized&&a.calendarData.calendar.authenticated&&a.calendarData.calendar.connected?(t(),i("div",B,[...e[14]||(e[14]=[r("p",{class:"text-sm text-neutral-500"}," Synchronization in progress. The process can take up to a couple of minutes. ",-1),r("p",{class:"text-sm text-neutral-500"}," When complete, you'll be able to specify calendars you're willing to synchronize. ",-1)])])):p("",!0),s(L,{name:C,header:"Are you sure you want to disconnect your calendar?",onConfirmation:D})]),_:1}))}};export{oe as default};
2//# sourceMappingURL=calendars.page-CV7Syvly.js.map

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.