PageSourceSearch

https://www.ctmx.live/_nuxt/countdown-examples.Bdx2Kfcx.js

js ctmx.live collected 2026-09-27 05:00:40 UTC 10,649 bytes, 1 lines download raw bytes

1import{u as e}from"./useThaiLottoCountdown.CM5emqyu.js";import{g as t,a0 as a}from"./entry.CssAXU4U.js";import{b as s,I as o,q as n,U as l,$ as u,a8 as i,aa as d,l as c,R as r,u as v,L as m}from"./swiper-vue.BQRrVgbi.js";const p={class:"thai-lotto-countdown"},w={class:"countdown-container"},h={class:"countdown-section"},g={class:"countdown-value"},y={class:"countdown-section"},f={class:"countdown-value"},D={class:"countdown-section"},S={class:"countdown-value"},b={class:"announcement-date"},T=t({__name:"ThaiLottoCountdown",props:{title:{type:String,default:"เวลาประกาศผลหวยรัฐบาล"},showSeconds:{type:Boolean,default:!0},updateInterval:{type:Number,default:1e3}},setup(t){const c=t,{getTimeRemaining:r,nextLottoDate:v}=e(),m=s({days:0,hours:0,minutes:0,seconds:0}),T=s(""),x=s(null),k=()=>{const e=r();m.value={days:e.days,hours:e.hours,minutes:e.minutes,seconds:e.seconds}};return o((()=>{T.value=v.toLocaleDateString("th-TH",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}),k(),x.value=a(k,c.updateInterval)})),n((()=>{x.value&&clearInterval(x.value)})),(e,t)=>(u(),l("div",p,[i("div",w,[i("div",h,[i("div",g,d(m.value.days),1),t[0]||(t[0]=i("div",{class:"countdown-label"},"วัน",-1))]),i("div",y,[i("div",f,d(m.value.hours),1),t[1]||(t[1]=i("div",{class:"countdown-label"},"ชั่วโมง",-1))]),i("div",D,[i("div",S,d(m.value.minutes),1),t[2]||(t[2]=i("div",{class:"countdown-label"},"นาที",-1))])]),i("div",b,[i("div",null,"ประกาศผลวันที่: "+d(T.value),1)])]))}},[["__scopeId","data-v-2d734c6f"]]),x=()=>{const e=new Date,t=e.getFullYear(),a=e.getMonth(),s=e.getDate();let o;return o=s<1?new Date(t,a,1):s<16?new Date(t,a,16):new Date(t,a+1,1),o.setHours(14,30,0,0),o.getTime()<=e.getTime()&&(o=1===o.getDate()?new Date(t,a,16):new Date(t,a+1,1),o.setHours(14,30,0,0)),o},k={class:"lotto-countdown"},L={class:"countdown-header"},M={class:"next-draw-date"},C={class:"countdown-display"},_={class:"time-unit"},I={class:"time-value"},H={class:"time-unit"},B={class:"time-value"},W={class:"time-unit"},Z={class:"time-value"},N={key:0,class:"time-separator"},F={key:1,class:"time-unit"},Y={class:"time-value"},j=t({__name:"LottoDrawCountdown",props:{title:{type:String,default:"เวลาถึงงวดถัดไป"},showSeconds:{type:Boolean,default:!0}},setup(e){const{days:t,hours:m,minutes:p,seconds:w,nextDrawDate:h}=function(e={}){const{interval:t=1e3,padWithZeros:l=!0}=e,u=s(0),i=s(0),d=s(0),c=s(0),r=s(!1),v=s(null),m=s(x()),p=()=>{const e=new Date,t=m.value.getTime()-e.getTime();if(t<=0)return m.value=x(),void p();u.value=Math.floor(t/864e5),i.value=Math.floor(t%864e5/36e5),d.value=Math.floor(t%36e5/6e4),c.value=Math.floor(t%6e4/1e3),l&&(i.value=i.value.toString().padStart(2,"0"),d.value=d.value.toString().padStart(2,"0"),c.value=c.value.toString().padStart(2,"0"))},w=()=>{r.value||(p(),v.value=a(p,t),r.value=!0)},h=()=>{v.value&&(clearInterval(v.value),v.value=null),r.value=!1};return o((()=>{w()})),n((()=>{h()})),{days:u,hours:i,minutes:d,seconds:c,nextDrawDate:m,isActive:r,start:w,stop:h,reset:()=>{h(),m.value=x(),p(),w()},updateCountdown:p}}({padWithZeros:!0}),g=c((()=>h.value.toLocaleDateString("th-TH",{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"})));return(a,s)=>(u(),l("div",k,[i("div",L,[i("h3",null,d(e.title),1),i("p",M,d(g.value),1)]),i("div",C,[i("div",_,[i("div",I,d(v(t)),1),s[0]||(s[0]=i("div",{class:"time-label"},"วัน",-1))]),s[4]||(s[4]=i("div",{class:"time-separator"},":",-1)),i("div",H,[i("div",B,d(v(m)),1),s[1]||(s[1]=i("div",{class:"time-label"},"ชั่วโมง",-1))]),s[5]||(s[5]=i("div",{class:"time-separator"},":",-1)),i("div",W,[i("div",Z,d(v(p)),1),s[2]||(s[2]=i("div",{class:"time-label"},"นาที",-1))]),e.showSeconds?(u(),l("div",N,":")):r("",!0),e.showSeconds?(u(),l("div",F,[i("div",Y,d(v(w)),1),s[3]||(s[3]=i("div",{class:"time-label"},"วินาที",-1))])):r("",!0)])]))}},[["__scopeId","data-v-b69a8fa5"]]);function R(e){const{targetDate:t=null,updateInterval:l=1e3,padWithZeros:u=!0,autoStart:i=!0}=e||{},d=s(0),r=s(0),v=s(0),m=s(0),p=s(!1),w=s(!1),h=s(null),g=s(null),y=e=>{if(e){if(e instanceof Date)g.value=e;else if("number"==typeof e)g.value=new Date(e);else{if("string"!=typeof e)return;g.value=new Date(e)}w.value=!1,p.value&&f()}};t&&y(t);const f=()=>{if(!g.value)return;const e=(new Date).getTime(),t=g.value.getTime()-e;if(t<=0)return d.value=0,r.value=0,v.value=0,m.value=0,w.value=!0,void S();const a=Math.floor(t/864e5),s=Math.floor(t%864e5/36e5),o=Math.floor(t%36e5/6e4),n=Math.floor(t%6e4/1e3);d.value=a,u?(r.value=s.toString().padStart(2,"0"),v.value=o.toString().padStart(2,"0"),m.value=n.toString().padStart(2,"0")):(r.value=s,v.value=o,m.value=n)},D=()=>{!p.value&&g.value&&(f(),h.value=a(f,l),p.value=!0)},S=()=>{h.value&&(clearInterval(h.value),h.value=null),p.value=!1},b=c((()=>({days:d.value,hours:r.value,minutes:v.value,seconds:m.value}))),T=c((()=>
1{if(!g.value)return 0;const e=(new Date).getTime();return Math.max(0,g.value.getTime()-e)}));return o((()=>{i&&g.value&&D()})),n((()=>{S()})),{days:d,hours:r,minutes:v,seconds:m,timeValues:b,remainingTime:T,isRunning:p,isCompleted:w,target:g,setTargetDate:y,start:D,stop:S,reset:()=>{S(),w.value=!1,f(),i&&D()},updateCountdown:f}}const q={class:"countdown-container"},E={key:0,class:"countdown-title"},G={class:"countdown-display"},U={key:0,class:"countdown-unit"},z={class:"countdown-value"},A={class:"countdown-label"},P={key:1,class:"countdown-separator"},V={key:2,class:"countdown-unit"},$={class:"countdown-value"},J={class:"countdown-label"},K={key:3,class:"countdown-separator"},O={key:4,class:"countdown-unit"},Q={class:"countdown-value"},X={class:"countdown-label"},ee={key:5,class:"countdown-separator"},te={key:6,class:"countdown-unit"},ae={class:"countdown-value"},se={class:"countdown-label"},oe={key:1,class:"countdown-target-date"},ne={key:2,class:"countdown-completed"},le=t({__name:"GenericCountdownTimer",props:{targetDate:{type:[Date,String,Number],required:!0},updateInterval:{type:Number,default:1e3},padWithZeros:{type:Boolean,default:!0},title:{type:String,default:""},showDays:{type:Boolean,default:!0},showHours:{type:Boolean,default:!0},showMinutes:{type:Boolean,default:!0},showSeconds:{type:Boolean,default:!0},showTargetDate:{type:Boolean,default:!1},daysLabel:{type:String,default:"วัน"},hoursLabel:{type:String,default:"ชั่วโมง"},minutesLabel:{type:String,default:"นาที"},secondsLabel:{type:String,default:"วินาที"},completedMessage:{type:String,default:""},locale:{type:String,default:"th-TH"}},setup(e){const t=e,{days:a,hours:s,minutes:o,seconds:n,isCompleted:m,target:p}=R({targetDate:t.targetDate,updateInterval:t.updateInterval,padWithZeros:t.padWithZeros,autoStart:!0}),w=c((()=>p.value?p.value.toLocaleDateString(t.locale,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""));return(t,c)=>(u(),l("div",q,[e.title?(u(),l("div",E,d(e.title),1)):r("",!0),i("div",G,[e.showDays||v(a)>0?(u(),l("div",U,[i("div",z,d(v(a)),1),i("div",A,d(e.daysLabel),1)])):r("",!0),(e.showDays||v(a)>0)&&(e.showHours||v(s)>0)?(u(),l("div",P," : ")):r("",!0),e.showHours||v(s)>0?(u(),l("div",V,[i("div",$,d(v(s)),1),i("div",J,d(e.hoursLabel),1)])):r("",!0),(e.showHours||v(s)>0)&&(e.showMinutes||v(o)>0)?(u(),l("div",K," : ")):r("",!0),e.showMinutes||v(o)>0?(u(),l("div",O,[i("div",Q,d(v(o)),1),i("div",X,d(e.minutesLabel),1)])):r("",!0),e.showSeconds&&(e.showMinutes||v(o)>0)&&(e.showSeconds||v(n)>0)?(u(),l("div",ee," : ")):r("",!0),e.showSeconds?(u(),l("div",te,[i("div",ae,d(v(n)),1),i("div",se,d(e.secondsLabel),1)])):r("",!0)]),e.showTargetDate&&v(p)?(u(),l("div",oe,d(w.value),1)):r("",!0),v(m)&&e.completedMessage?(u(),l("div",ne,d(e.completedMessage),1)):r("",!0)]))}},[["__scopeId","data-v-3c4d449c"]]),ue={class:"countdown-examples-page"},ie={class:"example-section"},de={class:"example-container"},ce={class:"example-section"},re={class:"example-container"},ve={class:"example-section"},me={class:"example-container"},pe={class:"example-section"},we={class:"example-container custom-countdown"},he={class:"custom-countdown-header"},ge={class:"custom-countdown-display"},ye={class:"time-block"},fe={class:"time-value"},De={class:"time-block"},Se={class:"time-value"},be={class:"time-block"},Te={class:"time-value"},xe={class:"time-block"},ke={class:"time-value"},Le=t({__name:"countdown-examples",setup(e){const t=(new Date).getFullYear(),a=new Date("".concat(t+1,"-01-01T00:00:00")),s=new Date("2024-04-13T00:00:00"),o=c((()=>s.toLocaleDateString("en-US",{weekday:"long",year:"numeric",month:"long",day:"numeric"}))),{days:n,hours:r,minutes:p,seconds:w}=R({targetDate:s,padWithZeros:!0}),h=c((()=>({days:n.value,hours:r.value,minutes:p.value,seconds:w.value})));return(e,t)=>(u(),l("div",ue,[t[12]||(t[12]=i("h1",{class:"page-title"},"Countdown Timer Examples",-1)),i("div",ie,[t[0]||(t[0]=i("h2",{class:"section-title"},"Thai Lotto Countdown",-1)),t[1]||(t[1]=i("p",{class:"section-description"}," Countdown to the next Thai lottery prize announcement (1st and 16th of each month at 2:30 PM Thailand time) ",-1)),i("div",de,[m(T)])]),i("div",ce,[t[2]||(t[2]=i("h2",{class:"section-title"},"Lotto Draw Countdown",-1)),t[3]||(t[3]=i("p",{class:"section-description"}," Simplified countdown to the next lottery draw date ",-1)),i("div",re,[m(j)])]),i("div",ve,[t[4]||(t[4]=i("h2",{class:"section-title"},"Generic Countdown Timer",-1)),t[5]||(t[5]=i("p",{class:"section-description"}," Flexible countdown timer that can be used for any target date ",-1)),i("div",me,[m(le,{"target-date":v(a),title:"Countdown to New Year","show-target-date":"","completed-message":"Happy New Year!"},null,8,["target-date"])])]),i("div",pe,[t[10]||(t[10]=i("h2",{class:"section-title"},"Custom Countdown Example",-1)),t[11]||(t[11]=i("p",{class:"section-description"}," Custom countdown using the useCountdownTimer composable ",-1)),i("div",we,[i("div",he,[i("h3",null,d("Songkran Festival 2024")),i("p",null,d(o.value),1)]),i("div",ge,[i("div",ye,[i("span",fe,d(h.value.days),1),t[6]||(t[6]=i("span",{class:"time-label"},"Days",-1))]),i("div",De,[i("span",Se,d(h.value.hours),1),t[7]||
1(t[7]=i("span",{class:"time-label"},"Hours",-1))]),i("div",be,[i("span",Te,d(h.value.minutes),1),t[8]||(t[8]=i("span",{class:"time-label"},"Minutes",-1))]),i("div",xe,[i("span",ke,d(h.value.seconds),1),t[9]||(t[9]=i("span",{class:"time-label"},"Seconds",-1))])])])])]))}},[["__scopeId","data-v-e4a00820"]]);export{Le 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.