6 lines
24 KiB
JavaScript
6 lines
24 KiB
JavaScript
import{o as K,c as Q,r as x,a as X,b as l,d as s,w as v,e,t as m,F as $,f as A,n as h,g as M,h as de,i as pe,v as G,j as V,u as _,k as U,l as Y,m as ve,p as J,q as fe,s as me,x as be}from"./index-BLDegpD4.js";import{_ as Z}from"./_plugin-vue_export-helper-DlAUqK2U.js";function ge(){const r=x(!1),S=x(!1),o=x([]),u=x("");let i=null,y=null;const T=Q(()=>{const p=o.value.find(w=>w.url===u.value);return(p==null?void 0:p.name)||"背景音乐"}),j=()=>i||(i=new Audio,i.loop=!0,i.volume=.5,i.preload="auto",i.addEventListener("canplay",()=>S.value=!0),i.addEventListener("play",()=>r.value=!0),i.addEventListener("pause",()=>r.value=!1),i),C=async p=>{if(!p)return;const w=j();w.src!==p&&(w.src=p),u.value=p;try{await w.play(),r.value=!0}catch{r.value=!1}},b=(p,w)=>{var I;o.value=Array.isArray(p)?p.slice().filter(q=>q&&q.url):[];const D=((I=o.value[0])==null?void 0:I.url)||"",L=w&&o.value.some(q=>q.url===w)?w:D;u.value=L,i&&r.value&&L&&C(L)},g=p=>{o.value.some(w=>w.url===p)&&(r.value?C(p):u.value=p)},d=()=>C(u.value),c=()=>{i&&i.pause(),r.value=!1},f=()=>{r.value?c():d()},E=()=>{const p=()=>{d(),k()};y=p,window.addEventListener("pointerdown",p,{once:!0}),window.addEventListener("keydown",p,{once:!0})},k=()=>{y&&(window.removeEventListener("pointerdown",y),window.removeEventListener("keydown",y),y=null)};return K(()=>{c(),k(),i&&(i.src="",i=null)}),{isPlaying:r,isReady:S,tracks:o,activeUrl:u,currentName:T,setTracks:b,setActive:g,play:d,pause:c,toggle:f,armAutoplay:E}}const xe={class:"gallery"},he={class:"text-center mb-5 px-4"},ye={class:"text-xl text-[#a88c6b] tracking-[0.3em] font-light block mb-2"},we={class:"text-[9px] text-[#8A8680] uppercase tracking-[0.4em] block mb-4"},ke={class:"text-[12px] text-[#6b6863] font-light leading-relaxed mx-auto max-w-[280px] tracking-widest block whitespace-pre-wrap"},_e={key:0,class:"w-full max-w-[300px] mx-auto aspect-[4/5] bg-white p-2 shadow-sm border-[0.5px] border-[#a88c6b]/20 relative mt-6"},$e=["src"],Ae={key:1,class:"relative w-full h-[50vh] mt-4"},Te={class:"absolute top-0 right-4 w-[70%] h-[65%] shadow-md bg-white p-1 z-10 border border-[#a88c6b]/10"},ze=["src"],Ce={class:"absolute bottom-4 left-4 w-[60%] h-[60%] shadow-lg bg-white p-1 z-20 border border-[#a88c6b]/10"},Fe=["src"],Me={key:2,class:"relative w-full aspect-square mt-6 grid grid-cols-3 grid-rows-3 gap-1.5 z-20"},Se={class:"col-span-2 row-span-2 relative overflow-hidden bg-[#Fdfbf7] shadow-sm"},je=["src"],Ee=["src"],Le={key:3,class:"grid grid-cols-3 gap-1.5 px-4 mt-6"},Ue=["src"],Ie={key:4,class:"g-masonry mt-6 px-1"},qe=["src"],De={key:5,class:"relative mt-6"},Re=["src"],Ne={class:"g-dots"},Ve=["onClick"],He={key:6,class:"g-polaroid mt-6"},Oe=["src"],Pe={key:7,class:"text-center text-[#8A8680] text-[12px] mt-6"},We={__name:"PhotoGallery",props:{page:{type:Object,required:!0}},setup(r){const S=r,o=x(0),u=x(null);function i(b){var c;const g=((c=S.page.images)==null?void 0:c.length)||0;if(!g)return;o.value=(b+g)%g;const d=u.value;d&&d.scrollTo({left:o.value*d.clientWidth,behavior:"smooth"})}function y(){const b=u.value;if(!b)return;const g=Math.round(b.scrollLeft/b.clientWidth);g!==o.value&&(o.value=g)}const T=[-5,4,-3,6,-4,3,-2,5],j=[0,10,-8,6,-10,8,4,-6];function C(b){const g=T[b%T.length],d=j[b%j.length];return`rotate(${g}deg) translateY(${d}px)`}return(b,g)=>{const d=X("reveal");return l(),s("div",xe,[v((l(),s("div",he,[e("span",ye,m(r.page.title),1),e("span",we,m(r.page.subtitle),1),e("span",ke,m(r.page.desc),1)])),[[d,"up"]]),r.page.type==="single"?v((l(),s("div",_e,[e("img",{src:r.page.img1,class:"w-full h-full object-cover"},null,8,$e)])),[[d,{variant:"scale",delay:100}]]):r.page.type==="overlap"?(l(),s("div",Ae,[v((l(),s("div",Te,[e("img",{src:r.page.img1,class:"w-full h-full object-cover"},null,8,ze)])),[[d,{variant:"left",delay:100}]]),v((l(),s("div",Ce,[e("img",{src:r.page.img2,class:"w-full h-full object-cover"},null,8,Fe)])),[[d,{variant:"right",delay:300}]])])):r.page.type==="one-large-five-small"?(l(),s("div",Me,[v((l(),s("div",Se,[e("img",{src:r.page.images[0],class:"w-full h-full object-cover hover:scale-105 transition-transform duration-1000"},null,8,je)])),[[d,{variant:"scale",delay:100}]]),(l(),s($,null,A([1,2,3,4,5],c=>v(e("div",{key:c,class:"relative bg-[#Fdfbf7]"},[e("img",{src:r.page.images[c],class:"w-full h-full object-cover"},null,8,Ee)]),[[d,{variant:"up",delay:c*80}]])),64))])):r.page.type==="nine-grid"?(l(),s("div",Le,[(l(!0),s($,null,A(r.page.images,(c,f)=>v((l(),s("div",{key:f,class:"aspect-square bg-[#Fdfbf7] relative rounded-sm overflow-hidden"},[e("img",{src:c,class:"w-full h-full object-cover hover:scale-105 transition-transform duration-700"},null,8,Ue)])),[[d,{variant:"scale",delay:f*60}]])),128))])):r.page.type==="masonry"?(l(),s("div",Ie,[(l(!0),s($,null,A(r.page.images,(c,f)=>v((l(),s("div",{key:f,class:"g-masonry-item"},[e("img",{src:c,class:"w-full block"},null,8,qe)])),[[d,{variant:"up",delay:f*50}]])),128))])):r.page.type==="carousel"?(l(),s("div",De,[e("div",{ref_key:"trackRef",ref:u,class:"g-carousel-track no-scrollbar",onScroll:y},[(l(!0),s($,null,A(r.page.images,(c,f)=>(l(),s("div",{key:f,class:"g-carousel-slide"},[e("img",{src:c,class:"w-full h-full object-cover"},null,8,Re)]))),128))],544),e("button",{class:"g-arrow g-prev",onClick:g[0]||(g[0]=c=>i(o.value-1)),"aria-label":"上一张"},"‹"),e("button",{class:"g-arrow g-next",onClick:g[1]||(g[1]=c=>i(o.value+1)),"aria-label":"下一张"},"›"),e("div",Ne,[(l(!0),s($,null,A(r.page.images,(c,f)=>(l(),s("button",{key:f,class:h(["g-dot",{active:f===o.value}]),onClick:E=>i(f)},null,10,Ve))),128))])])):r.page.type==="polaroid"?(l(),s("div",He,[(l(!0),s($,null,A(r.page.images,(c,f)=>v((l(),s("div",{key:f,class:"g-polaroid-item",style:M({transform:C(f)})},[e("img",{src:c},null,8,Oe)],4)),[[d,{variant:"scale",delay:f*70}]])),128))])):(l(),s("div",Pe,"未识别的版式:"+m(r.page.type),1))])}}},Be=Z(We,[["__scopeId","data-v-5f915677"]]),Ge={class:"wrapper relative w-full h-[100vh] bg-[#Fdfbf7] overflow-hidden text-[#2c2c2c]"},Ye={class:"curtain-emblem"},Je={class:"emblem-card"},Ke={class:"emblem-names"},Qe={class:"emblem-date"},Xe={key:0,class:"absolute inset-0 pointer-events-none overflow-hidden z-[1]"},Ze={key:1,class:"absolute inset-0 pointer-events-none overflow-hidden z-[1]"},et={class:"absolute top-6 right-5 z-50 flex flex-col items-end gap-4"},tt={class:"music-wrap"},lt={class:"flex flex-col gap-3 items-end"},st={key:0,src:"https://api.iconify.design/lucide:music.svg?color=%23a88c6b",class:"w-4 h-4"},at={key:1,src:"https://api.iconify.design/lucide:volume-x.svg?color=%23a88c6b",class:"w-4 h-4"},ot={key:0,class:"track-pop"},nt=["onClick"],rt={key:0,class:"eq"},it={class:"tname"},ct={key:1,class:"tcheck"},ut={key:0,src:"https://api.iconify.design/lucide:pause.svg?color=%23ffffff",class:"w-4 h-4"},dt={key:1,src:"https://api.iconify.design/lucide:play.svg?color=%23a88c6b",class:"w-4 h-4 ml-0.5"},pt={class:"flex flex-col items-center justify-between py-12 h-full w-full relative border-[0.5px] border-[#a88c6b]/20 bg-white/40"},vt={class:"text-center mt-6 z-10"},ft={class:"w-full max-w-[260px] aspect-[3/4] relative z-10"},mt={class:"relative w-full h-full z-10 bg-[#F7F6F2] shadow-md overflow-hidden"},bt=["src"],gt={class:"text-center z-10 mb-10 space-y-4 px-4"},xt={class:"flex items-end justify-center gap-6 text-3xl font-light tracking-[0.2em]"},ht={class:"flex flex-col items-center text-[11px] text-[#8A8680] tracking-[0.2em] mt-4 uppercase"},yt={class:"flex flex-col items-center w-full"},wt={class:"flex justify-center gap-10 h-72 text-[#3A3A3A] text-lg leading-loose font-light"},kt={class:"vertical-text"},_t={class:"vertical-text",style:{"padding-top":"3rem"}},$t={class:"w-full h-full flex flex-col justify-center py-6 relative z-10"},At={class:"text-center mb-14"},Tt={class:"relative w-full px-2 max-w-[340px] mx-auto"},zt={class:"text-xl font-serif text-[#a88c6b] mb-1 font-light tracking-wider"},Ct={class:"text-[13px] tracking-[0.2em] text-[#3a3a3a] font-medium mb-1"},Ft={class:"text-[9px] tracking-[0.1em] text-[#8A8680] font-sans uppercase"},Mt={class:"w-full flex flex-col items-center z-10 relative py-10"},St={class:"w-full max-w-[200px] aspect-[3/4] rounded-t-full overflow-hidden mb-10 shadow-lg border-[4px] border-white relative"},jt=["src"],Et={class:"text-center space-y-2 mb-10 px-4"},Lt={class:"text-[14px] text-[#3A3A3A] tracking-widest font-medium block"},Ut={class:"text-[11px] text-[#8A8680] font-light tracking-[0.1em] leading-loose block max-w-[240px] mx-auto whitespace-pre-wrap"},It={class:"flex flex-col gap-4 w-full px-8 max-w-[280px]"},qt={key:0,class:"space-y-6"},Dt={class:"absolute left-10 right-10 bottom-full mb-3 bg-white border border-[#a88c6b]/20 rounded-2xl shadow-2xl overflow-hidden z-[80]"},Rt=["onClick"],Nt={key:1,class:"text-center py-10 flex flex-col items-center animate-fade-up"},Vt={__name:"index",setup(r){const S={scrollMode:"snap",petalEnabled:!0,bubbleEnabled:!0,introEnabled:!0,musicList:[],activeMusicUrl:""},o=x({groom:"李明",bride:"王华",date:"2026-05-20",lunar:"农历四月初四 星期三",hotel:"杭州星光万丽大酒店",address:`杭州市西湖区星光大道88号
|
||
3楼大宴会厅`,formalText1:"两姓联姻 一堂缔约",formalText2:"良缘永结 匹配同称",heroImg:"https://images.unsplash.com/photo-1583939003579-730e3918a45a?auto=format&fit=crop&w=800&q=80",photoPages:[{type:"single",title:"初遇",subtitle:"FIRST MET",desc:`世界那么大,还是遇见了你。
|
||
于千万人之中,没有早一步也没有晚一步。`,img1:"https://images.unsplash.com/photo-1606800052052-a08af7148866?auto=format&fit=crop&w=600&q=80"},{type:"overlap",title:"相知",subtitle:"FALL IN LOVE",desc:`纵然万劫不复,纵然相思入骨。
|
||
我也待你眉眼如初,岁月如故。`,img1:"https://images.unsplash.com/photo-1532712938310-34cb3982ef74?auto=format&fit=crop&w=600&q=80",img2:"https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=600&q=80"},{type:"one-large-five-small",title:"相恋",subtitle:"ROMANCE",desc:`星光坠入眼眸,晚风轻抚过裙摆。
|
||
浪漫不止于此,还有无数个明天。`,images:Array.from({length:6},()=>"https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=600&q=80")},{type:"nine-grid",title:"相守",subtitle:"FOREVER",desc:"往后余生,风雪是你,平淡是你。",images:Array.from({length:9},()=>"https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=400&q=80")}],schedule:[{time:"16:00",event:"签到迎宾",desc:"Welcome"},{time:"17:08",event:"仪式开始",desc:"Ceremony"},{time:"18:00",event:"敬备喜宴",desc:"Banquet"}],...S}),u=ge(),i=x(!0),y=x(!1),T=x(!1),j=x(!1),C=x(!1),b=x(null),g=x(0),d=x(0),c=x(!1),f=x(!1),E=x(!1),k=me({name:"",guest_count:"1",wishes:""}),p=[{value:"1",label:"1 人出席"},{value:"2",label:"2 人出席"},{value:"3",label:"3 人及以上"},{value:"0",label:"遗憾缺席"}];let w=null,D=null,L=null,I=null;const q=["#a88c6b","#e8a5b2","#f4c2c2","#d4af37"],H=["#f7d9e0","#fbeee3","#f3c6d3","#efd9c4","#f9e7d6"],ee=Array.from({length:15}).map((n,t)=>({id:t,left:Math.random()*100+"%",color:q[t%4],size:14+Math.random()*10,opacity:.2,floatDuration:14+Math.random()*10+"s",swayDuration:4+Math.random()*2+"s"})),te=Array.from({length:18}).map((n,t)=>({id:t,left:Math.random()*100+"%",size:10+Math.random()*14,opacity:.4+Math.random()*.4,color:H[t%H.length],duration:9+Math.random()*8+"s",delay:Math.random()*10+"s",rotate:Math.random()*360})),le=Q(()=>({backgroundImage:`url(${o.value.heroImg})`})),se=n=>{const t=n.height||"100vh";return t==="auto"?{minHeight:"auto"}:{minHeight:t}},ae=n=>{k.guest_count=n,T.value=!1},O=()=>{y.value=!1,T.value=!1},P=()=>{const n=b.value;if(!n)return;const t=n.scrollHeight-n.clientHeight;g.value=t>0?n.scrollTop/t:0,d.value=n.scrollTop*.25},R=()=>{C.value=!0,clearTimeout(L),L=setTimeout(()=>C.value=!1,3e3)},oe=()=>{var n;return Array.from(((n=b.value)==null?void 0:n.querySelectorAll(".page-section"))||[])},ne=()=>{const n=b.value;if(!n)return;const t=n.scrollTop,N=oe().find(z=>z.offsetTop>t+12);N?n.scrollTo({top:N.offsetTop,behavior:"smooth"}):i.value=!1},re=()=>{if(o.value.scrollMode==="snap")D=setInterval(()=>{i.value&&!C.value&&!y.value&&ne()},4500);else{const n=()=>{const t=b.value;t&&i.value&&!C.value&&!y.value&&(t.scrollTop+=.8,t.scrollTop>=t.scrollHeight-t.clientHeight-5&&(i.value=!1)),w=requestAnimationFrame(n)};n()}},ie=()=>{i.value=!i.value;const n=b.value;i.value&&n&&n.scrollTop>=n.scrollHeight-n.clientHeight-10&&(n.scrollTop=0)},W=()=>{f.value||(f.value=!0,I=setTimeout(()=>{c.value=!1},1e3))},ce=n=>{u.setActive(n),E.value=!1},ue=async()=>{if(!k.name.trim())return alert("请填写姓名");try{const n=await be(k);n.code===200?j.value=!0:alert(n.error||"提交失败")}catch{alert("提交失败,请检查后端运行状态")}};return de(async()=>{try{const n=await pe();if(n.data&&n.data!=="{}"){const t=typeof n.data=="string"?JSON.parse(n.data):n.data;t.musicUrl&&!(t.musicList&&t.musicList.length)&&(t.musicList=[{url:t.musicUrl,name:"背景音乐"}],t.activeMusicUrl=t.musicUrl),o.value={...o.value,...S,...t}}}catch{}u.setTracks(o.value.musicList,o.value.activeMusicUrl),o.value.introEnabled&&(c.value=!0,I=setTimeout(()=>W(),3600),u.armAutoplay()),re(),P()}),K(()=>{cancelAnimationFrame(w),clearInterval(D),clearTimeout(L),clearTimeout(I)}),(n,t)=>{var B;const N=fe("router-link"),z=X("reveal");return l(),s("div",Ge,[v(e("div",{class:h(["curtain-root",{"is-opening":f.value}]),onClick:W},[e("div",{class:"curtain-bg",style:M(le.value)},null,4),t[10]||(t[10]=e("div",{class:"curtain-veil"},null,-1)),t[11]||(t[11]=e("div",{class:"curtain-door curtain-door-left"},null,-1)),t[12]||(t[12]=e("div",{class:"curtain-door curtain-door-right"},null,-1)),e("div",Ye,[e("div",Je,[t[7]||(t[7]=e("span",{class:"emblem-label"},"WEDDING INVITATION",-1)),t[8]||(t[8]=e("div",{class:"emblem-seal"},"❀",-1)),e("div",Ke,[V(m(o.value.groom)+" ",1),t[6]||(t[6]=e("span",{class:"amp"},"&",-1)),V(" "+m(o.value.bride),1)]),e("div",Qe,m(o.value.date),1),t[9]||(t[9]=e("div",{class:"emblem-hint"},[e("span",{class:"dot"}),V(" 点击开启请柬")],-1))])])],2),[[G,c.value]]),o.value.petalEnabled?(l(),s("div",Xe,[(l(!0),s($,null,A(_(te),a=>(l(),s("div",{key:"p"+a.id,class:"petal",style:M({left:a.left,width:a.size+"px",height:a.size+"px",opacity:a.opacity,background:a.color,animationDuration:a.duration,animationDelay:a.delay,transform:`rotate(${a.rotate}deg)`})},null,4))),128))])):U("",!0),o.value.bubbleEnabled?(l(),s("div",Ze,[(l(!0),s($,null,A(_(ee),a=>(l(),s("div",{key:"b"+a.id,class:"heart-bubble flex items-center justify-center",style:M({left:a.left,color:a.color,fontSize:a.size+"px",opacity:a.opacity,"--float-duration":a.floatDuration,"--sway-duration":a.swayDuration})},"♥",4))),128))])):U("",!0),e("div",{class:"absolute top-0 left-0 h-[2px] bg-[#a88c6b] z-[55] transition-[width] duration-150",style:M({width:g.value*100+"%"})},null,4),e("div",et,[e("div",tt,[e("div",lt,[e("div",{onClick:t[0]||(t[0]=a=>_(u).toggle()),class:h(["control-btn cursor-pointer",{"rotate-spin":_(u).isPlaying.value}])},[_(u).isPlaying.value?(l(),s("img",st)):(l(),s("img",at))],2),_(u).tracks.value.length>1?(l(),s("div",{key:0,onClick:t[1]||(t[1]=a=>E.value=!E.value),class:"control-btn cursor-pointer"},[...t[13]||(t[13]=[e("img",{src:"https://api.iconify.design/lucide:list-music.svg?color=%23a88c6b",class:"w-4 h-4"},null,-1)])])):U("",!0)]),E.value&&_(u).tracks.value.length?(l(),s("div",ot,[t[15]||(t[15]=e("div",{class:"track-pop-title"},"选择曲目",-1)),(l(!0),s($,null,A(_(u).tracks.value,a=>(l(),s("div",{key:a.url,class:h(["track-item",{active:a.url===_(u).activeUrl.value}]),onClick:F=>ce(a.url)},[a.url===_(u).activeUrl.value&&_(u).isPlaying.value?(l(),s("span",rt,[...t[14]||(t[14]=[e("i",null,null,-1),e("i",null,null,-1),e("i",null,null,-1)])])):U("",!0),e("span",it,m(a.name),1),a.url===_(u).activeUrl.value?(l(),s("span",ct,"✓")):U("",!0)],10,nt))),128))])):U("",!0)]),e("div",{onClick:ie,class:h(["control-btn cursor-pointer transition-all duration-300",i.value?"bg-[#a88c6b]":"bg-white/60 shadow-sm border-[#a88c6b]/30"])},[i.value?(l(),s("img",ut)):(l(),s("img",dt))],2)]),Y(N,{to:"/login",class:"absolute bottom-4 right-4 z-50 text-[10px] text-[#a88c6b]/50 hover:text-[#a88c6b] tracking-widest"},{default:ve(()=>[...t[16]||(t[16]=[V("管理后台",-1)])]),_:1}),e("div",{ref_key:"scrollContainerRef",ref:b,class:h(["w-full h-full overflow-y-auto no-scrollbar relative scroll-smooth",o.value.scrollMode==="snap"?"snap-y snap-mandatory":""]),onScroll:P,onTouchstart:R,onTouchmove:R,onWheel:R,onMousedown:R},[e("div",{class:h(["page-section",o.value.scrollMode==="snap"?"snap-start":""])},[e("div",pt,[v((l(),s("div",vt,[...t[17]||(t[17]=[e("span",{class:"text-[10px] tracking-[0.5em] uppercase text-[#a88c6b] font-light block"},"Wedding Invitation",-1),e("div",{class:"w-6 h-[0.5px] bg-[#a88c6b] mx-auto opacity-50 mt-4"},null,-1)])])),[[z,"down"]]),v((l(),s("div",ft,[t[18]||(t[18]=e("div",{class:"absolute inset-0 border border-[#a88c6b] translate-x-3 translate-y-3 opacity-30"},null,-1)),e("div",mt,[e("img",{src:o.value.heroImg,class:"w-full h-full object-cover will-change-transform",style:M({transform:`translateY(${d.value}px) scale(1.12)`})},null,12,bt)])])),[[z,{variant:"scale",delay:120}]]),v((l(),s("div",gt,[e("div",xt,[e("span",null,m(o.value.groom),1),t[19]||(t[19]=e("span",{class:"text-[#a88c6b] text-xl pb-1 italic font-serif"},"&",-1)),e("span",null,m(o.value.bride),1)]),e("div",ht,[e("span",null,m(o.value.date),1),t[20]||(t[20]=e("div",{class:"w-4 h-[0.5px] bg-[#a88c6b]/40 my-2"},null,-1)),e("span",null,m(o.value.lunar),1)])])),[[z,{variant:"up",delay:200}]])])],2),e("div",{class:h(["page-section bg-[#F7F6F2] items-center px-8 relative justify-center",o.value.scrollMode==="snap"?"snap-start":""])},[t[23]||(t[23]=e("div",{class:"absolute top-0 left-0 w-32 h-32 border-l-[0.5px] border-t-[0.5px] border-[#a88c6b]/30 m-6"},null,-1)),t[24]||(t[24]=e("div",{class:"absolute bottom-0 right-0 w-32 h-32 border-r-[0.5px] border-b-[0.5px] border-[#a88c6b]/30 m-6"},null,-1)),v((l(),s("div",yt,[t[22]||(t[22]=e("div",{class:"text-3xl opacity-60 mb-14 text-[#a88c6b] font-serif float-soft"},"❀",-1)),e("div",wt,[e("span",kt,m(o.value.formalText1),1),e("span",_t,m(o.value.formalText2),1),t[21]||(t[21]=e("span",{class:"vertical-text text-[#8A8680] text-[12px] ml-4 border-l-[0.5px] border-[#a88c6b]/30 pl-6 h-56 mt-8 tracking-[0.3em]"},"诚挚邀请您见证我们的幸福",-1))])])),[[z,"blur"]])],2),(l(!0),s($,null,A(o.value.photoPages,(a,F)=>(l(),s("div",{key:F,class:h(["page-section p-6 relative",o.value.scrollMode==="snap"?"snap-start":""]),style:M(se(a))},[t[25]||(t[25]=e("div",{class:"absolute inset-0 bg-white/40 backdrop-blur-[2px] -z-10"},null,-1)),t[26]||(t[26]=e("div",{class:"absolute top-0 left-0 w-24 h-24 border-l-[0.5px] border-t-[0.5px] border-[#a88c6b]/30 m-6 pointer-events-none z-0"},null,-1)),t[27]||(t[27]=e("div",{class:"absolute bottom-0 right-0 w-24 h-24 border-r-[0.5px] border-b-[0.5px] border-[#a88c6b]/30 m-6 pointer-events-none z-0"},null,-1)),e("div",$t,[Y(Be,{page:a},null,8,["page"])])],6))),128)),e("div",{class:h(["page-section bg-transparent px-6 z-10 justify-center relative",o.value.scrollMode==="snap"?"snap-start":""])},[t[30]||(t[30]=e("div",{class:"absolute inset-0 bg-[#Fdfbf7]/60 backdrop-blur-[2px] -z-10"},null,-1)),v((l(),s("div",At,[...t[28]||(t[28]=[e("span",{class:"text-2xl text-[#a88c6b] tracking-[0.3em] font-light block"},"婚礼流程",-1),e("span",{class:"text-[10px] text-[#8A8680] font-sans uppercase tracking-[0.4em] mt-3 block"},"Wedding Schedule",-1)])])),[[z,"up"]]),e("div",Tt,[t[29]||(t[29]=e("div",{class:"absolute left-1/2 top-2 bottom-4 w-[0.5px] bg-[#a88c6b]/40 -translate-x-1/2"},null,-1)),(l(!0),s($,null,A(o.value.schedule,(a,F)=>(l(),s("div",{key:F,class:h(["flex w-full mb-10 relative z-10",F%2===0?"justify-start":"justify-end"])},[v((l(),s("div",{class:h(["w-[45%] flex flex-col relative bg-white/60 p-4 rounded-xl shadow-sm border-[0.5px] border-[#a88c6b]/10",F%2===0?"text-right items-end":"text-left items-start"])},[e("div",{class:h(["absolute top-[22px] w-2 h-2 rounded-full bg-[#a88c6b] shadow-[0_0_0_4px_rgba(168,140,107,0.15)]",F%2===0?"-right-[28px]":"-left-[28px]"])},null,2),e("span",zt,m(a.time),1),e("span",Ct,m(a.event),1),e("span",Ft,m(a.desc),1)],2)),[[z,{variant:F%2===0?"left":"right",delay:F*120}]])],2))),128))])],2),e("div",{class:h(["page-section p-6 flex flex-col items-center justify-center relative",o.value.scrollMode==="snap"?"snap-start":""])},[t[33]||(t[33]=e("div",{class:"absolute top-10 bottom-10 left-6 right-6 border-[0.5px] border-[#a88c6b]/40 rounded-t-[10rem] z-0 bg-[#Fdfbf7]/30"},null,-1)),e("div",Mt,[v((l(),s("div",St,[e("img",{src:o.value.heroImg,class:"w-full h-full bg-[#F7F6F2] object-cover"},null,8,jt)])),[[z,{variant:"scale",delay:100}]]),v((l(),s("div",Et,[t[31]||(t[31]=e("span",{class:"text-xl text-[#a88c6b] tracking-[0.3em] font-light block mb-4"},"期待您的光临",-1)),e("span",Lt,m(o.value.hotel),1),e("span",Ut,m(o.value.address),1)])),[[z,{variant:"up",delay:200}]]),v((l(),s("div",It,[e("div",{onClick:t[2]||(t[2]=a=>y.value=!0),class:"w-full bg-[#a88c6b] text-white py-4 text-[11px] tracking-[0.2em] flex items-center justify-center gap-3 shadow-md uppercase rounded-full cursor-pointer hover:bg-[#967b5c] transition-all"},[...t[32]||(t[32]=[e("img",{src:"https://api.iconify.design/lucide:send.svg?color=%23ffffff",class:"w-3.5 h-3.5"},null,-1),e("span",null,"填写出席回执",-1)])])])),[[z,{variant:"up",delay:300}]])])],2)],34),y.value?(l(),s("div",{key:2,class:"absolute inset-0 z-[60] bg-black/40 backdrop-blur-sm transition-opacity duration-500",onClick:O})):U("",!0),e("div",{class:"absolute bottom-0 left-0 w-full bg-white rounded-t-[2.5rem] shadow-2xl transition-transform duration-500 z-[70] p-10 flex flex-col",style:M({transform:y.value?"translateY(0)":"translateY(100%)"})},[e("div",{onClick:O,class:"absolute top-6 right-6 p-2 text-[#a88c6b] cursor-pointer hover:text-[#2c2c2c] transition-colors text-xl"},"✕"),t[38]||(t[38]=e("span",{class:"text-xl text-center text-[#a88c6b] mb-1 tracking-[0.3em] font-light mt-2 uppercase"},"Guest RSVP",-1)),t[39]||(t[39]=e("span",{class:"text-center text-[10px] text-[#8A8680] mb-10 uppercase tracking-[0.4em]"},"R . S . V . P",-1)),j.value?(l(),s("div",Nt,[...t[37]||(t[37]=[e("span",{class:"text-3xl text-[#a88c6b] mb-6 animate-pulse-heart"},"♥",-1),e("span",{class:"text-lg text-[#2c2c2c] mb-3 tracking-[0.2em] font-light"},"感恩您的祝福",-1),e("span",{class:"text-[13px] text-[#8A8680] leading-loose tracking-widest font-light"},"回执已妥投,期待与您共享喜悦",-1)])])):(l(),s("div",qt,[e("div",null,[t[34]||(t[34]=e("span",{class:"block text-[10px] text-[#a88c6b] mb-1.5 tracking-widest uppercase pl-1"},"Name",-1)),v(e("input",{"onUpdate:modelValue":t[3]||(t[3]=a=>k.name=a),placeholder:"您的姓名",class:"w-full bg-[#Fdfbf7] border-[0.5px] border-[#a88c6b]/30 rounded-xl px-5 py-4 text-[13px] focus:outline-none focus:border-[#a88c6b] shadow-[inset_0_2px_4px_rgba(0,0,0,0.02)]"},null,512),[[J,k.name]])]),e("div",null,[t[35]||(t[35]=e("span",{class:"block text-[10px] text-[#a88c6b] mb-1.5 tracking-widest uppercase pl-1"},"Attendance",-1)),e("div",{onClick:t[4]||(t[4]=a=>T.value=!T.value),class:"w-full bg-[#Fdfbf7] border-[0.5px] border-[#a88c6b]/30 rounded-xl px-5 py-4 text-[13px] flex items-center justify-between cursor-pointer"},[e("span",null,m(((B=p.find(a=>a.value===k.guest_count))==null?void 0:B.label)||"请选择出席人数"),1),e("span",{class:"text-[#a88c6b] transition-transform",style:M({transform:T.value?"rotate(180deg)":""})},"▼",4)]),v(e("div",Dt,[(l(),s($,null,A(p,a=>e("div",{key:a.value,onClick:F=>ae(a.value),class:h(["px-5 py-4 text-[13px] hover:bg-[#Fdfbf7] cursor-pointer",k.guest_count===a.value?"text-[#a88c6b] bg-[#Fdfbf7]/50":""])},m(a.label),11,Rt)),64))],512),[[G,T.value]])]),e("div",null,[t[36]||(t[36]=e("span",{class:"block text-[10px] text-[#a88c6b] mb-1.5 tracking-widest uppercase pl-1"},"Wishes",-1)),v(e("textarea",{"onUpdate:modelValue":t[5]||(t[5]=a=>k.wishes=a),placeholder:"写下您的祝福...",class:"w-full bg-[#Fdfbf7] border-[0.5px] border-[#a88c6b]/30 rounded-xl px-5 py-4 text-[13px] h-24 focus:outline-none resize-none shadow-[inset_0_2px_4px_rgba(0,0,0,0.02)]"},null,512),[[J,k.wishes]])]),e("div",{onClick:ue,class:"w-full bg-[#a88c6b] text-white py-4 rounded-full text-center tracking-[0.3em] text-[12px] cursor-pointer hover:bg-[#967b5c] transition-all shadow-md"},"确认发送")]))],4)])}}},Pt=Z(Vt,[["__scopeId","data-v-6e4cc796"]]);export{Pt as default};
|