const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DEQqByWH.js","./Cmgq8IVP.js","./entry.amQniMXz.css"])))=>i.map(i=>d[i]); import{e as k,ap as z,ax as ne,u as re,ao as se,ay as P,_ as D,r as y,o as c,c as v,f as b,w as r,a as l,t as s,b as a,g as h,d as u,F as oe,h as H,P as p,q as ae,I as U,k as O,j as T,x as M,y as B,T as le,z as de,N as ue,l as ce,p as me,v as j}from"./Cmgq8IVP.js";import{_ as V}from"./B8SxLQeB.js";import{B as he}from"./DMYZJtr2.js";import{_ as pe}from"./DCjGJM2Q.js";import{_ as fe}from"./g4Lp7MuI.js";import{u as W}from"./C2FeZr58.js";const A=Symbol("head-component"),R={body:{type:Boolean,default:void 0},tagPosition:{type:String}},F=e=>{const t=Object.fromEntries(Object.entries(e).filter(([i,n])=>n!==void 0));return typeof t.body<"u"&&(t.tagposition=t.body?"bodyclose":"head"),typeof t.renderPriority<"u"&&(t.tagpriority=t.renderpriority),t};function L(){return z(A,N,!0)}function N(){const e=z(A,null);if(e)return e;const t=ne({}),i=re(t),n={input:t,entry:i};return se(A,n),n}const E={accesskey:String,autocapitalize:String,autofocus:{type:Boolean,default:void 0},class:{type:[String,Object,Array],default:void 0},contenteditable:{type:Boolean,default:void 0},contextmenu:String,dir:String,draggable:{type:Boolean,default:void 0},enterkeyhint:String,exportparts:String,hidden:{type:Boolean,default:void 0},id:String,inputmode:String,is:String,itemid:String,itemprop:String,itemref:String,itemscope:String,itemtype:String,lang:String,nonce:String,part:String,slot:String,spellcheck:{type:Boolean,default:void 0},style:{type:[String,Object,Array],default:void 0},tabindex:String,title:String,translate:String,renderPriority:[String,Number],tagPriority:{type:[String,Number]}};k({name:"NoScript",inheritAttrs:!1,props:{...E,...R,title:String},setup(e,{slots:t}){const{input:i}=L();i.noscript||(i.noscript=[]);const n=i.noscript.push({})-1;return P(()=>i.noscript[n]=null),()=>{var o;const d=F(e),f=(o=t.default)==null?void 0:o.call(t),m=f?f.filter(({children:_})=>_).map(({children:_})=>_).join(""):"";return m&&(d.innerHTML=m),i.noscript[n]=d,null}}});k({name:"Link",inheritAttrs:!1,props:{...E,...R,as:String,crossorigin:String,disabled:Boolean,fetchpriority:String,href:String,hreflang:String,imagesizes:String,imagesrcset:String,integrity:String,media:String,prefetch:{type:Boolean,default:void 0},referrerpolicy:String,rel:String,sizes:String,title:String,type:String,methods:String,target:String},setup(e){const{input:t}=L();t.link||(t.link=[]);const i=t.link.push({})-1;return P(()=>t.link[i]=null),()=>(t.link[i]=F(e),null)}});k({name:"Base",inheritAttrs:!1,props:{...E,href:String,target:String},setup(e){const{input:t}=L();return P(()=>t.base=null),()=>(t.base=F(e),null)}});k({name:"Meta",inheritAttrs:!1,props:{...E,charset:String,content:String,httpEquiv:String,name:String,property:String},setup(e){const{input:t}=L();t.meta||(t.meta=[]);const i=t.meta.push({})-1;return P(()=>t.meta[i]=null),()=>{const n={"http-equiv":e.httpEquiv,...F(e)};return"httpEquiv"in n&&delete n.httpEquiv,t.meta[i]=n,null}}});k({name:"Style",inheritAttrs:!1,props:{...E,...R,type:String,media:String,nonce:String,title:String,scoped:{type:Boolean,default:void 0}},setup(e,{slots:t}){const{input:i}=L();i.style||(i.style=[]);const n=i.style.push({})-1;return P(()=>i.style[n]=null),()=>{var m,o,_;const d=F(e),f=(_=(o=(m=t.default)==null?void 0:m.call(t))==null?void 0:o[0])==null?void 0:_.children;return f&&(i.style[n]=d,d.textContent=f),null}}});const be=k({name:"Head",inheritAttrs:!1,setup:(e,t)=>(N(),()=>{var i,n;return(n=(i=t.slots).default)==null?void 0:n.call(i)})});k({name:"Html",inheritAttrs:!1,props:{...E,manifest:String,version:String,xmlns:String},setup(e,t){const{input:i}=L();return P(()=>i.htmlAttrs=null),()=>{var n,d;return i.htmlAttrs={...e,...t.attrs},(d=(n=t.slots).default)==null?void 0:d.call(n)}}});const ge=k({name:"MembershipAlerts",components:{BaseAlert:he,BaseButton:pe},data(){return{emailConfirmationMessage:"",emailConfirmationError:"",resendingConfirmation:!1}},computed:{authStore(){return ae()},user(){return this.authStore.user},isOnMembershipPage(){return(this._.provides[p]||this.$route).path==="/membership"||(this._.provides[p]||this.$route).path.startsWith("/membership/")},trialTimeRemaining(){var e;return((e=this.user)==null?void 0:e.trial_time_remaining)||0},showTrialRemaining(){var e;return((e=this.user)==null?void 0:e.member_type)==="Trial"&&this.trialTimeRemaining>0&&!this.isOnMembershipPage&&(this._.provides[p]||this.$route).path!=="/hello"&&(this._.provides[p]||this.$route).path!=="/confirm-email"&&!(this._.provides[p]||this.$route).path.startsWith("/login")&&!(this._.provides[p]||this.$route).path.startsWith("/account/membership/thankyou")},showTrialExpired(){var e,t;return((e=this.user)==null?void 0:e.can_write)===!1&&((t=this.user)==null?void 0:t.member_type)==="Trial"},showAnniversaryWeek(){var e;return((e=this.user)==null?void 0:e.can_write_because_anniversary_week)===!0},showAnniversaryDay(){var e,t;return((e=this.user)==null?void 0:e.can_write)&&((t=this.user)==null?void 0:t.is_anniversary)},showEmailConfirmation(){var e;return((e=this.user)==null?void 0:e.confirmed_at)===null&&(this._.provides[p]||this.$route).path!=="/confirm-email"&&(this._.provides[p]||this.$route).path!=="/hello"&&!(this._.provides[p]||this.$route).path.startsWith("/login")},emailConfirmationNote(){return this.$t("components.membership_alerts.email_confirmation_note")||"Please check your email to confirm your account and this ugly reminder will disappear. Thank you!"}},methods:{async resendEmailConfirmation(){var e,t;this.resendingConfirmation=!0,this.emailConfirmationError="",this.emailConfirmationMessage="";try{const i=H(),n=await $fetch("/api/v1/account/resend_email_confirmation",{method:"POST",baseURL:i.public.railsApiUrl,headers:{Authorization:`Bearer ${this.authStore.token}`,"Content-Type":"application/json"},body:{data:{type:"users",attributes:{user_id:this.user.id}}}});if((e=n.changes)!=null&&e.email_confirmation_sent)this.emailConfirmationMessage=this.$t("components.membership_alerts.confirmation_sent")||"Confirmation resent. Check your email inbox and spam folders if you have trouble finding it.";else{if((t=n.errors)!=null&&t.general)throw new Error(n.errors.general.message);this.emailConfirmationMessage=this.$t("components.membership_alerts.confirmation_sent")||"Confirmation resent. Check your email inbox and spam folders if you have trouble finding it."}setTimeout(()=>{this.emailConfirmationMessage=""},5e3)}catch(i){console.error("Error resending confirmation:",i),this.emailConfirmationError=this.$t("components.membership_alerts.confirmation_failed")||"Error sending email.",setTimeout(()=>{this.emailConfirmationError=""},5e3)}finally{this.resendingConfirmation=!1}}}}),ye={class:"membership-alerts"},ve={class:"font-semibold"},_e={class:"font-semibold"},ke={class:"font-semibold"},$e={key:0},we={class:"font-semibold"},Se={class:"font-semibold"},Ce={class:"font-semibold"},Te={class:"email-confirmation-content"},Pe={class:"confirmation-text"},Le=["innerHTML"],Ee=["innerHTML"],Fe=["innerHTML"],Me={class:"confirmation-button"};function Be(e,t,i,n,d,f){const m=V,o=y("BaseAlert"),_=y("BaseButton");return c(),v("div",ye,[e.showTrialRemaining?(c(),b(o,{key:0,type:"success",variant:"tonal","content-style":"metadata"},{default:r(()=>[l("strong",ve,s(e.$t("components.membership_alerts.trial_remaining",{days:e.trialTimeRemaining})||e.trialTimeRemaining+" days remaining in your 30-day free trial.")+" ",1),a(m,{to:"/membership",class:"alert-link"},{default:r(()=>[l("strong",_e,s(e.$t("components.membership_alerts.learn_about_membership")||"Learn about membership!"),1)]),_:1})]),_:1})):h("",!0),e.showTrialExpired?(c(),b(o,{key:1,type:"warning",variant:"tonal","content-style":"metadata"},{default:r(()=>{var g;return[l("strong",ke,[u(s(e.$t("components.membership_alerts.trial_expired")||"Your 30-day free trial is unfortunately over")+" ",1),e.trialTimeRemaining<-1?(c(),v(oe,{key:0},[u(s(e.$t("components.membership_alerts.trial_expired_days_ago",{days:math.abs(e.trialtimeremaining)})||"as of "+Math.abs(e.trialTimeRemaining)+" days ago"),1)],64)):h("",!0),t[0]||(t[0]=u(". ",-1))]),u(" "+s(e.$t("components.membership_alerts.trial_expired_message")||"You can still access all your previous writing from")+" ",1),a(m,{to:"/account",class:"alert-link"},{default:r(()=>[...t[1]||(t[1]=[u("your account page",-1)])]),_:1}),u(", "+s(e.$t("components.membership_alerts.trial_expired_continue")||"but it's time to become a member if you want to keep writing!")+" ",1),(g=e.user)!=null&&g.membership_coupon?h("",!0):(c(),v("span",$e,s(e.$t("components.membership_alerts.trial_expired_coupon")||`You can use "LETSWRITE" to get 10% off, and we'll extend your free trial by 7 more days, if you become a member today.`),1)),e.isOnMembershipPage?h("",!0):(c(),b(m,{key:1,to:"/membership",class:"alert-link"},{default:r(()=>[l("strong",we,s(e.$t("components.membership_alerts.learn_about_membership")||"Learn about membership!"),1)]),_:1}))]}),_:1})):h("",!0),e.showAnniversaryWeek?(c(),b(o,{key:2,type:"info",variant:"tonal","content-style":"metadata",closable:"",class:"anniversary-alert"},{default:r(()=>{var g,C;return[t[2]||(t[2]=u(" 🎂 ",-1)),l("strong",Se,s(e.$t("components.membership_alerts.anniversary_week",{ordinal:(g=e.user)==null?void 0:g.years_since_anniversary_ordinal})||"Happy "+((C=e.user)==null?void 0:C.years_since_anniversary_ordinal)+" anniversary!"),1),u(" "+s(e.$t("components.membership_alerts.anniversary_week_message")||"To celebrate, you can write for free all week! Enjoy!")+" ",1),e.isOnMembershipPage?h("",!0):(c(),b(m,{key:0,to:"/membership",class:"alert-link"},{default:r(()=>[u(s(e.$t("components.membership_alerts.anniversary_week_learn")||"Learn about membership"),1)]),_:1}))]}),_:1})):h("",!0),e.showAnniversaryDay?(c(),b(o,{key:3,type:"info",variant:"tonal","content-style":"metadata",class:"anniversary-alert"},{default:r(()=>{var g,C;return[t[3]||(t[3]=u(" 🎂 ",-1)),l("strong",Ce,s(e.$t("components.membership_alerts.anniversary_day",{ordinal:(g=e.user)==null?void 0:g.years_since_anniversary_ordinal})||"Happy "+((C=e.user)==null?void 0:C.years_since_anniversary_ordinal)+" writing anniversary!"),1),u(" "+s(e.$t("components.membership_alerts.anniversary_day_message")||"Write 750 words today to earn the Anniversary Badge!"),1)]}),_:1})):h("",!0),e.showEmailConfirmation?(c(),b(o,{key:4,type:"error",variant:"tonal","content-style":"metadata",class:"email-confirmation-alert"},{default:r(()=>[l("div",Te,[l("div",Pe,[e.emailConfirmationMessage?(c(),v("span",{key:0,innerHTML:e.emailConfirmationMessage},null,8,Le)):e.emailConfirmationError?(c(),v("span",{key:1,innerHTML:e.emailConfirmationError},null,8,Ee)):(c(),v("span",{key:2,innerHTML:e.emailConfirmationNote},null,8,Fe))]),l("div",Me,[a(_,{type:"error",variant:"outlined",size:"small",onClick:e.resendEmailConfirmation,loading:e.resendingConfirmation,class:"resend-btn"},{default:r(()=>[u(s(e.$t("components.membership_alerts.resend_confirmation")||"Resend email confirmation"),1)]),_:1},8,["onClick","loading"])])])]),_:1})):h("",!0)])}const Ae=D(ge,[["render",Be],["__scopeId","data-v-b25942e9"]]),De=k({name:"FeedbackButton",emits:["feedback-opened","feedback-closed","feedback-submitted","feedback-error"],data(){return{isLoading:!1,hasError:!1,showForm:!1,isSubmitting:!1,formData:{name:"",email:"",subject:"",message:""}}},computed:{buttonText(){return this.isLoading?this.$t("feedback.loading"):this.$t("feedback.button_text")},buttonAriaLabel(){return this.isLoading?this.$t("feedback.loading_aria"):this.$t("feedback.button_aria")},buttonTitle(){return this.$t("feedback.button_title")},feedbackIcon(){return this.isLoading?"⟳":this.hasError?"⚠":"💬"},canEditUserData(){return!1},isFormValid(){return this.formData.name.trim()&&this.formData.email.trim()&&this.formData.message.trim()}},methods:{openForm(){var e,t,i,n;this.isLoading||(this.formData.name=((t=(e=this.$auth)==null?void 0:e.user)==null?void 0:t.writer_handle)||"",this.formData.email=((n=(i=this.$auth)==null?void 0:i.user)==null?void 0:n.email)||"",this.formData.subject="",this.formData.message="",this.showForm=!0,this.$emit("feedback-opened"),this.$nextTick(()=>{const d=this.$el.querySelector("#feedback-message");d&&d.focus()}))},closeForm(){this.showForm=!1,this.hasError=!1,this.formData={name:"",email:"",subject:"",message:""},this.$emit("feedback-closed")},async submitForm(){var e,t;if(!(!this.isFormValid||this.isSubmitting))try{this.isSubmitting=!0,this.hasError=!1;const i=H(),n=await $fetch("/api/v1/support/tickets",{method:"POST",baseURL:i.public.railsApiUrl||"http://localhost:8080",headers:{Authorization:`Bearer ${(e=this.$auth)==null?void 0:e.token}`,"Content-Type":"application/json"},body:{subject:this.formData.subject||"Feedback from 750 Words",message:this.formData.message,context_url:window.location.href,user_agent:navigator.userAgent}});if(n.status==="OK")console.log("FeedbackButton: Ticket created successfully:",n.ticket),this.$emit("feedback-submitted",this.formData),this.closeForm();else throw new Error("Failed to create support ticket")}catch(i){if(console.error("FeedbackButton: Error submitting feedback:",i),this.hasError=!0,this.$emit("feedback-error",i),i.status===401||i.statusCode===401){console.warn("FeedbackButton: Authentication error, redirecting to login"),await((t=this.$auth)==null?void 0:t.logout()),await this.$router.push("/login");return}}finally{this.isSubmitting=!1}}},mounted(){var e,t;(e=this.$auth)!=null&&e.isLoggedIn||console.warn("FeedbackButton: Component mounted but user is not authenticated"),(t=this.$refs.feedbackBtn)!=null&&t.$el&&this.$refs.feedbackBtn.$el.setAttribute("tabindex","0")}}),Re={key:0,class:"feedback-widget-wrapper"},Ie={key:"button",class:"feedback-launcher"},Ue=["aria-label","title","disabled"],Oe={class:"feedback-icon"},je={class:"feedback-text"},We={key:"form",class:"feedback-form-container"},ze={class:"feedback-form-header"},He={class:"feedback-form-title"},Ve=["aria-label"],Ne={class:"form-group"},qe={for:"feedback-name",class:"form-label"},Ke=["readonly"],Ge={class:"form-group"},Ye={for:"feedback-email",class:"form-label"},Qe=["readonly"],Je={class:"form-group"},Xe={for:"feedback-subject",class:"form-label"},Ze={class:"form-label-optional"},xe={class:"form-group"},et={for:"feedback-message",class:"form-label"},tt=["placeholder"],it={class:"form-actions"},nt=["disabled"],rt={key:0},st={key:1};function ot(e,t,i,n,d,f){var m;return(m=e.$auth)!=null&&m.isLoggedIn?(c(),v("div",Re,[a(le,{name:"fade",mode:"out-in"},{default:r(()=>[e.showForm?(c(),v("div",We,[l("div",ze,[l("h3",He,s(e.$t("feedback.form_title")),1),l("button",{class:"feedback-close-btn",onClick:t[3]||(t[3]=(...o)=>e.closeForm&&e.closeForm(...o)),"aria-label":e.$t("feedback.close_aria")},[...t[10]||(t[10]=[l("span",{class:"close-icon"},"✕",-1)])],8,Ve)]),l("form",{class:"feedback-form",onSubmit:t[9]||(t[9]=O((...o)=>e.submitForm&&e.submitForm(...o),["prevent"]))},[l("div",Ne,[l("label",qe,s(e.$t("feedback.name_label")),1),M(l("input",{id:"feedback-name","onUpdate:modelValue":t[4]||(t[4]=o=>e.formData.name=o),type:"text",class:"form-input",required:"",readonly:!e.canEditUserData},null,8,Ke),[[B,e.formData.name]])]),l("div",Ge,[l("label",Ye,s(e.$t("feedback.email_label")),1),M(l("input",{id:"feedback-email","onUpdate:modelValue":t[5]||(t[5]=o=>e.formData.email=o),type:"email",class:"form-input",required:"",readonly:!e.canEditUserData},null,8,Qe),[[B,e.formData.email]])]),l("div",Je,[l("label",Xe,[u(s(e.$t("feedback.subject_label"))+" ",1),l("span",Ze,s(e.$t("feedback.subject_optional")),1)]),M(l("input",{id:"feedback-subject","onUpdate:modelValue":t[6]||(t[6]=o=>e.formData.subject=o),type:"text",class:"form-input"},null,512),[[B,e.formData.subject]])]),l("div",xe,[l("label",et,s(e.$t("feedback.message_label")),1),M(l("textarea",{id:"feedback-message","onUpdate:modelValue":t[7]||(t[7]=o=>e.formData.message=o),class:"form-textarea",rows:"3",required:"",placeholder:e.$t("feedback.message_placeholder")},null,8,tt),[[B,e.formData.message]])]),l("div",it,[l("button",{type:"button",class:"form-btn form-btn--secondary",onClick:t[8]||(t[8]=(...o)=>e.closeForm&&e.closeForm(...o))},s(e.$t("common.cancel")),1),l("button",{type:"submit",class:T(["form-btn form-btn--primary",{"form-btn--loading":e.isSubmitting}]),disabled:e.isSubmitting||!e.isFormValid},[e.isSubmitting?(c(),v("span",rt,s(e.$t("feedback.sending_button")),1)):(c(),v("span",st,s(e.$t("feedback.send_button")),1))],10,nt)])],32)])):(c(),v("div",Ie,[l("button",{ref:"feedbackBtn",class:T(["feedback-button",{"feedback-button--loading":e.isLoading}]),onClick:t[0]||(t[0]=(...o)=>e.openForm&&e.openForm(...o)),onKeydown:[t[1]||(t[1]=U((...o)=>e.openForm&&e.openForm(...o),["enter"])),t[2]||(t[2]=U(O((...o)=>e.openForm&&e.openForm(...o),["prevent"]),["space"]))],"aria-label":e.buttonAriaLabel,title:e.buttonTitle,disabled:e.isLoading},[l("span",Oe,s(e.feedbackIcon),1),l("span",je,s(e.buttonText),1)],42,Ue)]))]),_:1})])):h("",!0)}const q=D(De,[["render",ot],["__scopeId","data-v-603e3bda"]]),at=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"})),lt=k({name:"DefaultLayout",components:{FeedbackButton:()=>j(()=>Promise.resolve().then(()=>at),void 0,import.meta.url)},setup(){const e=me(),{snackbarState:t}=W();let i=null;return{themeStore:e,snackbarState:t,getCircadianStore:async()=>{if(e.isCircadianTheme&&!i){const{useCircadianStore:d}=await j(async()=>{const{useCircadianStore:f}=await import("./DEQqByWH.js");return{useCircadianStore:f}},__vite__mapDeps([0,1,2]),import.meta.url);i=d()}return i}}},data(){return{snackbar:{show:!1,text:"",color:"info",timeout:4e3,multiLine:!1},circadianStore:null,gradientUpdateKey:0,prefersReducedMotion:!1}},computed:{currentTheme(){return this.themeStore.currentTheme},isCircadianActive(){return this.themeStore.isCircadianTheme},circadianContainerClasses(){return!this.isCircadianActive||!this.circadianStore?[]:["circadian-gradient-backdrop",`circadian-period-${this.circadianStore.currentPeriod}`,{"circadian-reduced-motion":this.prefersReducedMotion,"circadian-high-contrast":window.matchMedia("(prefers-contrast: high)").matches}]},circadianGradientStyle(){if(!this.isCircadianActive||!this.circadianStore)return{display:"none"};this.gradientUpdateKey;const e=this.circadianStore.interpolatedColors,t=this.circadianStore.intensity||.5;if(!e)return{display:"none"};const i=[`rgba(${this.hexToRgb(e.primary)}, ${t*.8}) 0%`,`rgba(${this.hexToRgb(e.secondary)}, ${t*.6}) 25%`,`rgba(${this.hexToRgb(e.accent)}, ${t*.4}) 50%`,`rgba(${this.hexToRgb(e.background)}, ${t*.6}) 75%`,`rgba(${this.hexToRgb(e.surface)}, ${t*.8}) 100%`],n=this.prefersReducedMotion?"0ms":"3000ms";return{background:`linear-gradient(135deg, ${i.join(", ")})`,transition:`background ${n} ease-in-out`,opacity:this.circadianStore.enabled?1:0}},themeClasses(){var e,t,i;return[`theme-${this.currentTheme}`,((i=(t=(e=this.$auth)==null?void 0:e.user)==null?void 0:t.preferences)==null?void 0:i.writerTheme)||"default"]},isLoggedIn(){var e;return(e=this.$auth)==null?void 0:e.isLoggedIn},currentUser(){var e;return(e=this.$auth)==null?void 0:e.user},isWritePage(){return(this._.provides[p]||this.$route).path==="/write"||(this._.provides[p]||this.$route).path.startsWith("/write/")},mainContainerClass(){return{"write-container":this.isWritePage,"standard-container":!this.isWritePage}},writeButtonText(){return this.$t("nav.lets_write")||"Let's write!"},writeButtonClass(){return{"write-btn":!0,"write-btn--active":this.isWritePage}}},async mounted(){await this.initializeCircadianSystem(),this.checkReducedMotionPreference(),this.setupMobileViewportFix()},beforeUnmount(){this.cleanupCircadianSystem(),this.viewportFixCleanup&&this.viewportFixCleanup()},methods:{async initializeCircadianSystem(){if(this.isCircadianActive)try{this.circadianStore=await this.getCircadianStore(),this.circadianStore&&(this.circadianStore.enabled=!0,this.setupGradientUpdates(),this.setupPerformanceOptimization())}catch(e){console.error("❌ Failed to initialize circadian system in layout:",e)}},setupGradientUpdates(){this.circadianStore&&(this.$watch(()=>this.circadianStore.currentPeriod,()=>{this.gradientUpdateKey++}),this.$watch(()=>this.circadianStore.lastUpdate,()=>{this.gradientUpdateKey++}))},setupPerformanceOptimization(){if("IntersectionObserver"in window){const e=new IntersectionObserver(t=>{t.forEach(i=>{this.circadianStore&&(this.circadianStore.isVisible=i.isIntersecting)})},{threshold:.1});e.observe(this.$el),this.intersectionObserver=e}},checkReducedMotionPreference(){this.prefersReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)").matches;const e=window.matchMedia("(prefers-reduced-motion: reduce)"),t=i=>{this.prefersReducedMotion=i.matches};e.addEventListener("change",t),this.reducedMotionListener={mediaQuery:e,handler:t}},setupMobileViewportFix(){const e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),t=window.innerWidth<=768,i="ontouchstart"in window||navigator.maxTouchPoints>0;if(!e&&!t&&!i)return;const n=()=>{const m=window.innerHeight*.01;document.documentElement.style.setProperty("--vh",`${m}px`),document.documentElement.style.setProperty("--actual-vh",`${window.innerHeight}px`),(e||i)&&(document.body.style.setProperty("overflow-x","hidden","important"),document.body.style.setProperty("position","relative","important"),document.body.style.removeProperty("max-height"),document.documentElement.style.removeProperty("max-height"))};n();let d;const f=()=>{clearTimeout(d),d=setTimeout(n,100)};window.addEventListener("resize",f),window.addEventListener("orientationchange",()=>{setTimeout(n,500)}),(e||i)&&(window.addEventListener("scroll",()=>{clearTimeout(d),d=setTimeout(n,200)},{passive:!0}),document.addEventListener("visibilitychange",()=>{document.hidden||setTimeout(n,100)})),this.viewportFixCleanup=()=>{window.removeEventListener("resize",f),clearTimeout(d)}},hexToRgb(e){if(!e)return"0, 0, 0";const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return"0, 0, 0";const i=parseInt(t[1],16),n=parseInt(t[2],16),d=parseInt(t[3],16);return`${i}, ${n}, ${d}`},cleanupCircadianSystem(){this.intersectionObserver&&(this.intersectionObserver.disconnect(),this.intersectionObserver=null),this.reducedMotionListener&&(this.reducedMotionListener.mediaQuery.removeEventListener("change",this.reducedMotionListener.handler),this.reducedMotionListener=null),this.circadianStore=null,this.gradientUpdateKey=0},goToPage(e){if(e==="/login"){if((this._.provides[p]||this.$route).path==="/login"){this.$router.push("/login?refresh="+Date.now());return}const t=(this._.provides[p]||this.$route).fullPath,i=(this._.provides[p]||this.$route).path==="/",n=(this._.provides[p]||this.$route).path==="/login";if(!i&&!n){const d=encodeURIComponent(t);this.$router.push(`/login?redirect=${d}`);return}}this.$router.push(e)},getActiveClass(e){const t=(this._.provides[p]||this.$route).path===e||(this._.provides[p]||this.$route).path.startsWith(e+"/");return{"menu-active":t,active:t}},async handleLogout(){var e,t,i,n,d,f,m;try{console.log("🚪 Default layout logout clicked, auth state before:",{isLoggedIn:(e=this.$auth)==null?void 0:e.isLoggedIn,hasToken:!!((t=this.$auth)!=null&&t.token),hasUser:!!((i=this.$auth)!=null&&i.user)}),await((n=this.$auth)==null?void 0:n.logout()),console.log("🚪 Default layout logout completed, auth state after:",{isLoggedIn:(d=this.$auth)==null?void 0:d.isLoggedIn,hasToken:!!((f=this.$auth)!=null&&f.token),hasUser:!!((m=this.$auth)!=null&&m.user)}),this.showSnackbar("Successfully logged out","success"),this.$router.push("/")}catch(o){console.error("Logout error:",o),this.showSnackbar(this.$t("messages.logout_error")||"Error logging out","error")}},showSnackbar(e,t="info",i=4e3){const{show:n}=W();n(e,t,i)},handleFeedbackSubmitted(e){console.log("Feedback submitted successfully:",e),this.showSnackbar(this.$t("feedback.success_message")||"Feedback sent successfully!","success")},handleFeedbackError(e){console.error("Feedback submission error:",e),this.showSnackbar(this.$t("feedback.error_message")||"Error sending feedback. Please try again.","error")}}}),dt={class:"nav-controls"},ut={key:2,class:"nav-login-signup"};function ct(e,t,i,n,d,f){const m=be,o=V,_=y("v-container"),g=y("v-btn"),C=y("v-spacer"),K=y("v-icon"),$=y("v-list-item-title"),w=y("v-list-item"),G=y("v-list"),Y=y("v-menu"),Q=y("v-app-bar"),J=Ae,X=y("v-main"),Z=q,x=fe,ee=y("v-footer"),te=y("v-snackbar"),ie=y("v-app");return c(),b(ie,{id:"words-app",theme:e.currentTheme,class:T(e.themeClasses)},{default:r(()=>[a(m,null,{default:r(()=>[...t[4]||(t[4]=[l("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"},null,-1),l("meta",{name:"description",content:"750 Words - Write every day. A fun way to practice writing."},null,-1)])]),_:1}),e.isCircadianActive?(c(),v("div",{key:0,id:"circadian-gradient-container",class:T(e.circadianContainerClasses),style:de(e.circadianGradientStyle),"aria-hidden":"true"},null,6)):h("",!0),a(Q,{app:"",flat:"",id:"words-app-bar",theme:e.currentTheme,class:"words-nav"},{default:r(()=>[a(_,{id:"header-container",class:"d-flex align-center px-4 py-0"},{default:r(()=>[a(o,{to:"/",id:"logo",class:"text-decoration-none text-serif font-bold"},{default:r(()=>[u(s(e.$t("nav.seven_fifty_words")||"750 Words"),1)]),_:1})]),_:1}),e.isLoggedIn&&!e.isWritePage?(c(),b(o,{key:0,to:"/write",class:"d-block d-sm-none text-decoration-none"},{default:r(()=>[a(g,{small:"",variant:"outlined",class:T(e.writeButtonClass)},{default:r(()=>[u(s(e.writeButtonText),1)]),_:1},8,["class"])]),_:1})):h("",!0),a(C),l("div",dt,[e.isLoggedIn&&!e.isWritePage?(c(),b(o,{key:0,to:"/write",class:"d-none d-sm-block"},{default:r(()=>[a(g,{size:"small",variant:"outlined",class:T([e.writeButtonClass,"nav-write-btn"])},{default:r(()=>[u(s(e.writeButtonText),1)]),_:1},8,["class"])]),_:1})):h("",!0)]),e.isLoggedIn?(c(),b(Y,{key:1,"offset-y":"",left:"",elevation:"12",transition:"slide-y-transition","close-on-content-click":!0,"nudge-bottom":8,"nudge-left":0,class:"user-kebab-menu","content-class":"kebab-menu-content"},{activator:r(({props:S})=>[a(g,ue(S,{icon:"",variant:"text",class:"kebab-menu-btn"}),{default:r(()=>[a(K,{id:"user-menu-icon"},{default:r(()=>[...t[5]||(t[5]=[u("mdi-dots-vertical",-1)])]),_:1})]),_:1},16)]),default:r(()=>[a(G,{flat:"",nav:"",class:"hamburger-menu sans-serif kebab-dropdown","data-menu-type":"kebab-dropdown",id:"kebab-menu-content"},{default:r(()=>{var S,I;return[a(w,{to:"/","active-class":"menu-active"},{default:r(()=>[a(,ドルnull,{default:r(()=>[u(s(e.$t("nav.home")||"✨ Home"),1)]),_:1})]),_:1}),a(w,{to:"/write",class:"d-sm-none"},{default:r(()=>[a(,ドルnull,{default:r(()=>[u(s(e.$t("nav.write")||"👋 Write!"),1)]),_:1})]),_:1}),(S=e.currentUser)!=null&&S.writer_handle?(c(),b(w,{key:0,to:"/person/"+e.currentUser.writer_handle,"active-class":"menu-active"},{default:r(()=>[a(,ドルnull,{default:r(()=>[u(s(e.$t("nav.profile")||"😀 Profile"),1)]),_:1})]),_:1},8,["to"])):h("",!0),a(w,{href:"https://community.750words.com",target:"_blank"},{default:r(()=>[a(,ドルnull,{default:r(()=>[u(s(e.$t("nav.community")||"❤️ Community"),1)]),_:1})]),_:1}),a(w,{to:"/play","active-class":"menu-active"},{default:r(()=>[a(,ドルnull,{default:r(()=>[u(s(e.$t("nav.play")||"🥾 Prompts"),1)]),_:1})]),_:1}),a(w,{to:"/report","active-class":"menu-active"},{default:r(()=>[a(,ドルnull,{default:r(()=>[u(s(e.$t("nav.reports")||"🪄 Report Maker"),1)]),_:1})]),_:1}),((I=e.currentUser)==null?void 0:I.role_name)==="admin"?(c(),b(w,{key:1,to:"/admin","active-class":"menu-active"},{default:r(()=>[a(,ドルnull,{default:r(()=>[u(s(e.$t("nav.admin")||"🐲 ToP sEcReT"),1)]),_:1})]),_:1})):h("",!0),a(w,{to:"/account","active-class":"menu-active"},{default:r(()=>[a(,ドルnull,{default:r(()=>[u(s(e.$t("nav.account")||"🏡 Account"),1)]),_:1})]),_:1}),a(w,{onClick:e.handleLogout},{default:r(()=>[a(,ドルnull,{default:r(()=>[u(s(e.$t("nav.logout")||"👋 Log out"),1)]),_:1})]),_:1},8,["onClick"])]}),_:1})]),_:1})):(c(),v("div",ut,[a(g,{onClick:t[0]||(t[0]=S=>e.goToPage("/login")),variant:"outlined",size:"small",class:"nav-login-btn"},{default:r(()=>[u(s(e.$t("nav.login")||"LOG IN"),1)]),_:1}),a(g,{onClick:t[1]||(t[1]=S=>e.goToPage("/signup")),variant:"outlined",color:"primary",size:"small",class:"nav-signup-btn"},{default:r(()=>[u(s(e.$t("nav.signup")||"SIGN UP"),1)]),_:1})]))]),_:1},8,["theme"]),a(X,null,{default:r(()=>[a(_,{id:"main-container",class:T(e.mainContainerClass)},{default:r(()=>[e.isLoggedIn?(c(),b(J,{key:0})):h("",!0),ce(e.$slots,"default",{},void 0,!0)]),_:3},8,["class"])]),_:3}),e.isLoggedIn?(c(),b(Z,{key:1,onFeedbackSubmitted:e.handleFeedbackSubmitted,onFeedbackError:e.handleFeedbackError},null,8,["onFeedbackSubmitted","onFeedbackError"])):h("",!0),e.isWritePage?(c(),b(ee,{key:2,id:"words-footer",app:"",class:"words-footer"},{default:r(()=>[a(x)]),_:1})):h("",!0),a(te,{modelValue:e.snackbarState.show,"onUpdate:modelValue":t[3]||(t[3]=S=>e.snackbarState.show=S),color:e.snackbarState.color,timeout:e.snackbarState.timeout,"multi-line":e.snackbarState.multiLine,location:"bottom right",closable:""},{actions:r(()=>[a(g,{variant:"text",size:"small",onClick:t[2]||(t[2]=S=>e.snackbarState.show=!1),icon:"mdi-close","aria-label":e.$t("common.close")||"Close",class:"snackbar-close-btn"},null,8,["aria-label"])]),default:r(()=>[u(s(e.snackbarState.text)+" ",1)]),_:1},8,["modelValue","color","timeout","multi-line"])]),_:3},8,["theme","class"])}const yt=D(lt,[["render",ct],["__scopeId","data-v-84ef7edb"]]);export{yt as default};