90 Winners Needed! Win Free Swig Drinks for a Year (Daily Entry)
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:’Segoe UI’,Tahoma,Geneva,Verdana,sans-serif;line-height:1.8;background:linear-gradient(135deg,#ff6b9d 0%,#ffa726 50%,#ffeb3b 100%);min-height:100vh}
.article-container{max-width:800px;margin:0 auto;padding:20px;background:#fff;border-radius:0 0 30px 30px}
h1{font-size:32px;color:#e91e63;margin-bottom:10px;line-height:1.3;text-align:center}
h2{font-size:24px;color:#ff6b9d;margin:30px 0 15px;text-align:center}
h3{font-size:20px;color:#e91e63;margin:25px 0 10px}
p{margin-bottom:18px;font-size:17px;color:#333}
.hero-banner{width:100%;border-radius:20px;margin-bottom:20px;box-shadow:0 10px 40px rgba(233,30,99,0.3)}
.highlight-box{background:linear-gradient(135deg,#e91e63,#ff6b9d);color:#fff;padding:25px;border-radius:20px;margin:25px 0;text-align:center;box-shadow:0 10px 30px rgba(233,30,99,0.3)}
.highlight-box h3{color:#ffeb3b;margin:0 0 10px;font-size:28px}
.highlight-box p{margin:0;font-size:20px}
.prize-showcase{background:linear-gradient(135deg,#ffeb3b,#ffa726);padding:30px;border-radius:25px;margin:30px 0;text-align:center}
.prize-showcase h3{color:#e91e63;font-size:32px;margin-bottom:15px}
.prize-showcase .big-number{font-size:80px;font-weight:bold;color:#e91e63;text-shadow:3px 3px 0 #fff}
.prize-showcase p{color:#333;font-size:18px}
.drink-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}
.drink-item{background:#fff;border-radius:15px;padding:15px;text-align:center;box-shadow:0 5px 15px rgba(0,0,0,0.1);transition:transform 0.3s}
.drink-item:hover{transform:scale(1.05)}
.drink-item .emoji{font-size:40px}
.drink-item p{margin:5px 0 0;font-size:14px;color:#e91e63;font-weight:bold}
.key-info{background:#fff0f5;border-left:5px solid #e91e63;padding:20px;margin:25px 0;border-radius:0 15px 15px 0}
.key-info strong{color:#e91e63}
ul{margin:15px 0 20px 25px}
li{margin-bottom:10px}
ol{margin:15px 0 20px 25px}
.cta-section{background:linear-gradient(135deg,#e91e63,#ff6b9d,#ffa726);padding:40px;border-radius:25px;text-align:center;margin:30px 0}
.cta-section h3{color:#fff;font-size:28px;margin-bottom:15px}
.cta-button{display:inline-block;background:#fff;color:#e91e63;padding:20px 60px;font-size:24px;font-weight:bold;text-decoration:none;border-radius:50px;box-shadow:0 10px 30px rgba(0,0,0,0.3);transition:all 0.3s;animation:pulse 2s infinite}
.cta-button:hover{transform:scale(1.1)}
@keyframes pulse{0%,100%{box-shadow:0 10px 30px rgba(0,0,0,0.3)}50%{box-shadow:0 10px 30px rgba(233,30,99,0.6),0 0 0 10px rgba(233,30,99,0.2)}}
.ad-container{margin:25px 0;text-align:center;min-height:100px;background:#f9f9f9;display:flex;align-items:center;justify-content:center;border-radius:15px;padding:10px}
.countdown-banner{background:linear-gradient(90deg,#e91e63,#ff6b9d,#ffa726,#ffeb3b,#ffa726,#ff6b9d,#e91e63);background-size:200% 100%;color:#fff;padding:15px;text-align:center;position:sticky;top:0;z-index:100;font-weight:bold;font-size:18px;animation:rainbow 3s linear infinite}
@keyframes rainbow{0%{background-position:0% 50%}100%{background-position:200% 50%}}
/* Progress Bar */
#progress-container{position:fixed;top:0;left:0;width:100%;height:6px;background:rgba(255,255,255,0.3);z-index:9999}
#progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#e91e63,#ff6b9d,#ffa726,#ffeb3b);transition:width 0.1s;border-radius:0 3px 3px 0}
#progress-text{position:fixed;top:10px;right:15px;background:#e91e63;color:#fff;padding:8px 15px;border-radius:25px;font-size:14px;z-index:9999;font-weight:bold}
/* Start Modal */
#start-modal{display:flex;position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(233,30,99,0.95),rgba(255,167,38,0.95));z-index:99999;align-items:center;justify-content:center}
#start-modal-content{background:#fff;padding:40px;border-radius:30px;text-align:center;max-width:500px;margin:20px;box-shadow:0 20px 60px rgba(0,0,0,0.3)}
#start-modal h2{color:#e91e63;font-size:24px;margin-bottom:10px}
#start-modal .prize-amount{color:#e91e63;font-size:60px;font-weight:bold;margin:15px 0}
#start-modal .emoji-row{font-size:50px;margin:15px 0}
#start-modal p{color:#333;margin-bottom:15px;font-size:16px}
#start-modal .teaser{background:linear-gradient(135deg,#ffeb3b,#ffa726);padding:15px;border-radius:15px;margin:20px 0}
#start-modal .teaser p{color:#e91e63;margin:0;font-weight:bold}
#start-btn{background:linear-gradient(135deg,#e91e63,#ff6b9d);color:#fff;border:none;padding:20px 50px;font-size:24px;font-weight:bold;border-radius:50px;cursor:pointer;box-shadow:0 10px 30px rgba(233,30,99,0.4)}
#start-btn:hover{transform:scale(1.05)}
/* Toast */
#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#e91e63,#ff6b9d);color:#fff;padding:15px 30px;border-radius:50px;font-size:18px;z-index:9998;display:none;box-shadow:0 5px 20px rgba(233,30,99,0.4);font-weight:bold}
/* Social Proof */
#social-proof{position:fixed;bottom:20px;left:20px;background:#fff;padding:15px 20px;border-radius:15px;box-shadow:0 5px 20px rgba(233,30,99,0.3);z-index:9997;display:none;max-width:300px;border-left:5px solid #e91e63}
#social-proof p{margin:0;font-size:14px}
#social-proof strong{color:#e91e63}
/* Fun sections */
.fun-fact{background:linear-gradient(135deg,#e1f5fe,#b3e5fc);padding:25px;border-radius:20px;margin:30px 0;text-align:center;border:3px dashed #e91e63}
.fun-fact h4{color:#e91e63;margin-bottom:10px;font-size:20px}
.fun-fact p{color:#333;font-size:16px;margin:0}
.poll-box{background:#fff;border:3px solid #e91e63;border-radius:20px;padding:25px;margin:30px 0;text-align:center}
.poll-box h4{color:#e91e63;margin-bottom:15px;font-size:20px}
.poll-options{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.poll-option{background:#fff0f5;border:2px solid #ffb6c1;padding:12px 25px;border-radius:25px;cursor:pointer;transition:all 0.3s;font-size:16px}
.poll-option:hover{border-color:#e91e63;background:#fce4ec;transform:scale(1.05)}
.poll-option.selected{background:#e91e63;color:#fff;border-color:#e91e63}
.poll-results{display:none;margin-top:15px}
.poll-bar{background:#fce4ec;border-radius:10px;height:35px;margin:8px 0;overflow:hidden}
.poll-fill{background:linear-gradient(90deg,#e91e63,#ff6b9d);height:100%;border-radius:10px;display:flex;align-items:center;padding-left:15px;color:#fff;font-weight:bold}
/* Sticky Ad */
#sticky-ad{position:fixed;bottom:0;left:0;width:100%;background:#fff;padding:10px;text-align:center;box-shadow:0 -5px 20px rgba(233,30,99,0.2);z-index:9990;display:none}
#sticky-ad .close-sticky{position:absolute;top:5px;right:15px;background:none;border:none;font-size:20px;cursor:pointer;color:#e91e63}
/* Spin teaser */
.spin-teaser{background:linear-gradient(135deg,#ffeb3b,#ffa726);color:#e91e63;padding:25px;border-radius:20px;margin:30px 0;text-align:center;font-weight:bold;font-size:20px;box-shadow:0 10px 30px rgba(255,167,38,0.3)}
.spin-teaser small{display:block;margin-top:8px;font-weight:normal;color:#333}
/* Testimonial */
.testimonial{background:#fff;border-radius:20px;padding:25px;margin:25px 0;box-shadow:0 5px 20px rgba(0,0,0,0.1);border-left:5px solid #e91e63}
.testimonial p{font-style:italic;margin-bottom:10px}
.testimonial .author{color:#e91e63;font-weight:bold}
/* FAQ */
.faq-item{background:#fff0f5;border-radius:15px;padding:20px;margin:15px 0}
.faq-item h4{color:#e91e63;margin-bottom:10px}
.faq-item p{margin:0;color:#333}
/* Comparison table */
.compare-table{width:100%;border-collapse:collapse;margin:25px 0;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,0.1)}
.compare-table th{background:#e91e63;color:#fff;padding:15px;text-align:left}
.compare-table td{padding:15px;border-bottom:1px solid #fce4ec}
.compare-table tr:nth-child(even){background:#fff0f5}
/* Spin Wheel Popup */
#wheel-popup-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(233,30,99,0.9);z-index:99998}
#wheel-popup{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#e91e63,#ff6b9d);border-radius:30px;padding:30px;z-index:99999;text-align:center;box-shadow:0 25px 80px rgba(0,0,0,0.4);border:5px solid #ffeb3b;width:90%;max-width:420px}
#wheel-popup .close-btn{position:absolute;top:10px;right:15px;background:none;border:none;color:#fff;font-size:28px;cursor:pointer}
#wheel-popup h2{color:#fff;font-size:24px;margin:0 0 5px}
#wheel-popup .popup-subtitle{color:#ffeb3b;font-size:28px;font-weight:bold;margin:0 0 15px}
#wheel-popup .popup-desc{color:rgba(255,255,255,0.95);font-size:14px;margin-bottom:15px}
.prize-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:15px}
.prize-legend span{background:rgba(255,255,255,0.25);padding:6px 14px;border-radius:20px;font-size:13px;color:#fff;font-weight:bold}
#wheel-container{position:relative;width:280px;height:280px;margin:0 auto 20px}
#wheel-canvas{width:280px;height:280px;border-radius:50%;border:6px solid #ffeb3b;box-shadow:0 0 40px rgba(255,235,59,0.5)}
#wheel-pointer{position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:35px solid #ffeb3b;z-index:10}
#wheel-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:55px;height:55px;background:linear-gradient(135deg,#ffeb3b,#ffa726);border-radius:50%;border:4px solid #fff;z-index:5}
#popup-email-form{margin-bottom:15px}
#popup-email-form input{width:100%;padding:15px;font-size:16px;border:3px solid #ffeb3b;border-radius:50px;text-align:center;box-sizing:border-box}
#spin-btn{background:linear-gradient(135deg,#ffeb3b,#ffa726);color:#e91e63;border:none;padding:18px 40px;font-size:22px;font-weight:bold;border-radius:50px;cursor:pointer;width:100%}
#spin-btn:disabled{background:#ccc;color:#666;cursor:not-allowed}
#spin-result{display:none;background:#fff;border-radius:20px;padding:25px;margin-top:15px;border:3px solid #ffeb3b}
#spin-result h3{margin:0;color:#e91e63;font-size:26px}
#spin-result p{margin:10px 0 0;color:#333;font-size:15px}
.disclaimer{font-size:11px;color:rgba(255,255,255,0.7);margin-top:15px}
#confetti-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100000;display:none}
/* Mobile */
@media(max-width:600px){
h1{font-size:24px}
h2{font-size:20px}
.prize-showcase .big-number{font-size:50px}
.drink-grid{grid-template-columns:repeat(2,1fr)}
#start-modal-content{padding:25px}
.prize-amount{font-size:40px!important}
}
FREE SWIG FOR A YEAR!
Win a GOLD TUMBLER + FREE drinks every single day for an entire year!
Value: $784.75 per winner!

🥤 WIN FREE SWIG DRINKS FOR AN ENTIRE YEAR! 🥤
90 lucky winners will get a GOLD TUMBLER + FREE drinks every day for 365 days!
🏆 THE GRAND PRIZE 🏆
WINNERS will each receive:
✨ Exclusive GOLD TUMBLER ✨
🥤 ONE FREE 44oz SWIG DRINK EVERY DAY 🥤
📅 For an ENTIRE YEAR (Feb 1, 2026 – Jan 31, 2027) 📅
Total Value: $784.75!
🧋 What Could You Get Every Day?
Imagine walking into Swig EVERY SINGLE DAY and getting a FREE 44oz drink of your choice! Here’s what you could enjoy:
Dirty Sodas
Refreshers
Iced Coffees
Teas
Hot Cocoa
Smoothies
Lemonades
Specialties
💰 Let’s Do The Math!
🤯 THIS IS INSANE!
If you win, you’ll get approximately 365 FREE DRINKS!
At an average of $5 per drink, that’s $1,825 in FREE SWIG over the year!
But wait – the official value is $784.75 because it excludes holidays. Still AMAZING!
⚡ DAILY ENTRY! ⚡
You can enter ONCE PER DAY until January 24th! More entries = more chances to win!
📝 How to Enter (It’s Easy!)
- Must be 18+ years old
- US resident (including D.C.)
- NOT available in NY or RI (sorry!)
- Enter ONCE PER DAY for more chances!
Entering is super easy and takes less than a minute:
- 🔗 Visit swig.com/free-swig
- 📝 Fill out the simple entry form
- ✅ Submit and you’re entered!
- 🔄 Come back EVERY DAY to enter again!
🗳️ What’s YOUR go-to Swig order?
Results:
📅 Important Dates to Remember
- Entry Period: NOW through January 24, 2026 (11:59 PM)
- Entry Frequency: DAILY! Enter every single day!
- Prize Valid: February 1, 2026 – January 31, 2027
- Number of Winners: 90 lucky people!
- Drink Limit: One 44oz drink per day (excludes federal holidays)
🤔 What is Swig Anyway?
If you haven’t been to Swig yet, you’re missing out! Swig is a popular drive-thru drink shop known for their amazing “dirty sodas” – which are sodas mixed with flavored syrups and cream. They also serve refreshers, iced coffees, teas, hot cocoa, and more!
Founded in Utah, Swig has expanded across the country and has become a cult favorite. Their drinks are customizable, delicious, and perfect for any occasion!
“I’m literally obsessed with Swig’s dirty Dr Pepper with coconut! If I won free drinks for a year, I’d probably go EVERY. SINGLE. DAY!”
❓ Frequently Asked Questions
Q: How many times can I enter?
A: You can enter ONCE PER DAY! Come back every day until January 24th for more chances to win.
Q: What exactly do I win?
A: You win a special GOLD TUMBLER that entitles you to one FREE 44oz Swig drink every day for an entire year (Feb 1, 2026 – Jan 31, 2027).
Q: Can I get any drink I want?
A: Yes! Any 44oz drink on the menu. Dirty sodas, refreshers, coffees, teas – whatever you want!
Q: Why can’t NY and RI residents enter?
A: Some states have specific sweepstakes laws that make it complicated for companies to include them. Sorry!
🏆 Why This Sweepstakes is AMAZING
| Feature | This Sweepstakes |
|---|---|
| Number of Winners | 90 WINNERS! Great odds! |
| Entry Frequency | DAILY! Enter every day! |
| Prize Value | $784.75 per winner! |
| Total Drinks | 365 FREE drinks per winner! |
| Cost to Enter | 100% FREE! |
| Purchase Required? | NOPE! |
💡 Pro Tips to Maximize Your Chances
- 🔔 Set a daily reminder – Enter every single day!
- 📱 Bookmark the entry page – Make it easy to find
- 📧 Check your email – Winners are notified by email
- 👥 Tell your friends – More fun when everyone enters!
- ⏰ Don’t wait until the last day – Start entering NOW!
🎯 YOUR ODDS ARE BETTER THAN YOU THINK!
With 90 winners and daily entry, your chances are WAY better than most sweepstakes!
If you enter every day from now until Jan 24th, that’s potentially 20+ entries!
🚀 Ready to Enter?
Don’t wait! Enter NOW and come back EVERY DAY for more chances to win FREE SWIG FOR A YEAR!
This sweepstakes is sponsored by Swig. Freebie Mom is not affiliated with Swig. See official rules for complete details. Must be 18+, US resident (excluding NY and RI). Void where prohibited.
🎰 Spin the Wheel!
WIN EXTRA ENTRIES!
Spin for bonus entries into Freebie Mom’s daily Amazon Gift Card drawing!
*Bonus entries for Freebie Mom’s daily Amazon Gift Card drawing. Winners announced on Facebook.
(function(){
// Google Sheets URL
var GOOGLE_SHEET_URL = “https://script.google.com/macros/s/AKfycbwRxpyK7Uu1oUh5_vV07vEtRT2qsbeFrBOCMvfwyWOCa6vF2U7_Od1Xj5pNq9hBuj_ZIw/exec”;
// Elements
var startModal = document.getElementById(‘start-modal’);
var startBtn = document.getElementById(‘start-btn’);
var progressBar = document.getElementById(‘progress-bar’);
var progressText = document.getElementById(‘progress-text’);
var toast = document.getElementById(‘toast’);
var socialProof = document.getElementById(‘social-proof’);
var stickyAd = document.getElementById(‘sticky-ad’);
var closeSticky = document.getElementById(‘close-sticky’);
var entrySection = document.getElementById(‘entry-section’);
// State
var isScrolling = false;
var popupShown = false;
var hasSpun = false;
var userEmail = ”;
// Toast messages
var toasts = [
“🥤 FREE SWIG awaits! Keep scrolling!”,
“🧋 90 winners = great odds!”,
“⏰ Daily entry – come back tomorrow too!”,
“🎰 Spin Wheel Ahead!”,
“📝 Entry link coming up…”,
“✨ Imagine FREE drinks every day!”,
“🏆 $784.75 value!”
];
var toastIndex = 0;
// Social proof names
var names = [“Ashley from Utah”,”Brittany from Arizona”,”Chelsea from Texas”,”Danielle from California”,”Emma from Colorado”,”Faith from Nevada”,”Grace from Idaho”,”Hannah from Oregon”,”Isabella from Washington”,”Jessica from Montana”];
var nameIndex = 0;
// Start button
startBtn.addEventListener(‘click’, function(){
startModal.style.display = ‘none’;
isScrolling = true;
autoScroll();
});
// Auto scroll – LINEAR SPEED (no easing that causes slow-to-fast)
function autoScroll(){
var duration = 35000; // 35 seconds
var start = window.scrollY;
// Calculate where the entry section is
var entryRect = entrySection.getBoundingClientRect();
var entryTop = entryRect.top + window.scrollY;
var targetScroll = entryTop – 150; // Stop 150px above entry section
var startTime = Date.now();
var distance = targetScroll – start;
// Show toasts during scroll
var toastInterval = setInterval(function(){
showToast(toasts[toastIndex % toasts.length]);
toastIndex++;
}, 6000);
// Show social proof
var socialInterval = setInterval(function(){
showSocialProof();
}, 8000);
function scrollStep(){
var elapsed = Date.now() – startTime;
var progress = Math.min(elapsed / duration, 1);
// LINEAR easing – constant speed throughout
window.scrollTo(0, start + (distance * progress));
if(progress < 1){
requestAnimationFrame(scrollStep);
} else {
clearInterval(toastInterval);
clearInterval(socialInterval);
isScrolling = false;
}
}
requestAnimationFrame(scrollStep);
}
// Show toast
function showToast(msg){
toast.textContent = msg;
toast.style.display = 'block';
setTimeout(function(){ toast.style.display = 'none'; }, 3500);
}
// Show social proof
function showSocialProof(){
socialProof.innerHTML = '
‘ + names[nameIndex % names.length] + ‘ just entered! 🥤
‘;
socialProof.style.display = ‘block’;
nameIndex++;
setTimeout(function(){ socialProof.style.display = ‘none’; }, 4500);
}
// Progress bar
window.addEventListener(‘scroll’, function(){
var scrollTop = window.scrollY;
var docHeight = document.documentElement.scrollHeight – window.innerHeight;
var progress = Math.min((scrollTop / docHeight) * 100, 100);
progressBar.style.width = progress + ‘%’;
progressText.textContent = Math.round(progress) + ‘% to entry’;
// Show sticky ad after 25%
if(progress > 25 && stickyAd.style.display === ‘none’){
stickyAd.style.display = ‘block’;
}
// Show spin popup at 80%
if(progress > 80 && !popupShown && !hasSpun){
popupShown = true;
setTimeout(showWheelPopup, 500);
}
});
// Close sticky ad
closeSticky.addEventListener(‘click’, function(){
stickyAd.style.display = ‘none’;
});
// Poll
document.querySelectorAll(‘.poll-option’).forEach(function(opt){
opt.addEventListener(‘click’, function(){
document.querySelectorAll(‘.poll-option’).forEach(function(o){ o.classList.remove(‘selected’); });
this.classList.add(‘selected’);
document.querySelector(‘.poll-results’).style.display = ‘block’;
});
});
// ========== SPIN WHEEL ==========
var segments = [
{label:’+1 ENTRY’,color:’#e91e63′,text:’#fff’},
{label:’SPIN AGAIN’,color:’#9e9e9e’,text:’#fff’},
{label:’+2 ENTRIES’,color:’#ffa726′,text:’#fff’},
{label:’+3 ENTRIES’,color:’#26c6da’,text:’#fff’},
{label:’+5 ENTRIES’,color:’#66bb6a’,text:’#fff’},
{label:’SPIN AGAIN’,color:’#9e9e9e’,text:’#fff’},
{label:’+2 ENTRIES’,color:’#ffa726′,text:’#fff’},
{label:’2X ENTRIES’,color:’#ab47bc’,text:’#fff’}
];
var canvas = document.getElementById(‘wheel-canvas’);
var ctx = canvas.getContext(‘2d’);
var currentAngle = 0;
function drawWheel(){
var cx=canvas.width/2,cy=canvas.height/2,r=cx-5;
var arc=2*Math.PI/segments.length;
ctx.clearRect(0,0,canvas.width,canvas.height);
for(var i=0;i<segments.length;i++){
var a=i*arc+currentAngle;
ctx.beginPath();
ctx.moveTo(cx,cy);
ctx.arc(cx,cy,r,a,a+arc);
ctx.closePath();
ctx.fillStyle=segments[i].color;
ctx.fill();
ctx.strokeStyle='#fff';
ctx.lineWidth=3;
ctx.stroke();
ctx.save();
ctx.translate(cx,cy);
ctx.rotate(a+arc/2);
ctx.textAlign='right';
ctx.fillStyle=segments[i].text;
ctx.font='bold 13px Arial';
ctx.fillText(segments[i].label,r-12,5);
ctx.restore();
}
}
function showWheelPopup(){
document.getElementById('wheel-popup-overlay').style.display='block';
document.getElementById('wheel-popup').style.display='block';
drawWheel();
}
function hideWheelPopup(){
document.getElementById('wheel-popup-overlay').style.display='none';
document.getElementById('wheel-popup').style.display='none';
}
// Save to Google Sheets
function saveToGoogleSheets(email, prize){
fetch(GOOGLE_SHEET_URL, {
method: 'POST',
mode: 'no-cors',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({email: email, prize: prize})
});
}
document.getElementById('close-popup').onclick = hideWheelPopup;
document.getElementById('wheel-popup-overlay').onclick = hideWheelPopup;
document.getElementById('spin-btn').onclick = function(){
var email = document.getElementById('popup-email').value;
if(!email || email.indexOf('@') = total){
currentAngle = targetAngle;
drawWheel();
showResult(result);
return;
}
var ease = 1 – Math.pow(1 – time/total, 3);
currentAngle = startAngle + targetAngle * ease;
drawWheel();
requestAnimationFrame(spin);
}
spin();
};
function showResult(i){
var s = segments[i], t, m;
if(s.label === ‘SPIN AGAIN’){ t = ‘😅 Spin Again!’; m = ‘No bonus this time – but you still have 1 entry!’; }
else if(s.label === ‘+1 ENTRY’){ t = ‘🎟️ +1 Entry!’; m = “You got 1 bonus entry into today’s drawing!”; confetti(); }
else if(s.label === ‘+2 ENTRIES’){ t = ‘🎟️ +2 Entries!’; m = “You got 2 bonus entries into today’s drawing!”; confetti(); }
else if(s.label === ‘+3 ENTRIES’){ t = ‘🎟️ +3 Entries!’; m = “You got 3 bonus entries into today’s drawing!”; confetti(); }
else if(s.label === ‘+5 ENTRIES’){ t = ‘🎟️ +5 Entries!’; m = “You got 5 bonus entries into today’s drawing!”; confetti(); }
else if(s.label === ‘2X ENTRIES’){ t = ‘✨ 2X Entries!’; m = ‘Your entries are DOUBLED for today!’; confetti(); }
// Save to Google Sheets
saveToGoogleSheets(userEmail, s.label);
document.getElementById(‘result-title’).textContent = t;
document.getElementById(‘result-text’).textContent = m + ‘ Winner announced on Facebook.’;
document.getElementById(‘spin-result’).style.display = ‘block’;
document.getElementById(‘spin-btn’).style.display = ‘none’;
}
function confetti(){
var c = document.getElementById(‘confetti-canvas’), x = c.getContext(‘2d’);
c.style.display = ‘block’;
c.width = innerWidth;
c.height = innerHeight;
var p = [];
for(var i = 0; i < 150; i++){
p.push({
x: Math.random() * c.width,
y: -20 – Math.random() * c.height,
vx: Math.random() * 5 – 2.5,
vy: Math.random() * 4 + 2,
c: ['#e91e63','#ff6b9d','#ffa726','#ffeb3b','#26c6da','#66bb6a','#ab47bc'][Math.floor(Math.random() * 7)],
s: Math.random() * 10 + 5
});
}
function d(){
x.clearRect(0, 0, c.width, c.height);
var a = false;
p.forEach(function(q){
x.fillStyle = q.c;
x.fillRect(q.x, q.y, q.s, q.s);
q.x += q.vx;
q.y += q.vy;
q.vy += 0.1;
if(q.y < c.height + 50) a = true;
});
if(a) requestAnimationFrame(d);
else c.style.display = 'none';
}
d();
}
drawWheel();
})();
Helpful Freebie Mom Guides
Keep going
Ashley from Utah just entered! 🥤