Her face was a picture
An expecting mum was left distraught after her own mother wrecked her gender reveal party in front of friends and family.
Soon-to-be mum-of-two Ashlee (@dinkymisspretty) was celebrating her gender reveal where family and friends eagerly awaited the popping of a balloon. While the world collectively shunned gender reveals in 2021 – largely due to the untold destruction they sometimes cause – this unborn baby’s grandmother woke up and chose violence.
@dinkymisspretty #fyp #foryou #genderrevealfail #genderreveal #genderrevealparty #mom #ROMWEnextgen ♬ Baby – Ashanti
Sharing a clip on TikTok, Ashlee is seen coated in pink confetti – so it’s a girl, right?
Well, no – because her mother had set off a separate cannon of pink confetti just as the balloon burst to reveal blue shreds of paper.
Awkwardly, Ashlee is seen overjoyed at the news – until her son tells her of her mother’s betrayal.
“Clearly you can see I wanted a girl so bad and in that moment I felt like I hit the lottery,” the mum says in the clip, adding: “Then here comes my son making me realise its really another boy. I was p***ed.”
One viewer commented: “This is the only one I can actually be okay with the parent being mad. Cause why play like that,” to which Ashlee responded: “Right, I wasn’t mad it was a boy I was mad they had me think it was a girl.”
Another added: “Now see this reaction is valid because you can’t play with a pregnant woman’s emotions like that. I’m sure you’ll have a beautiful baby boy though.”
Related links:
var host = 'www.joe.co.uk'; var element = document.createElement('script'); var firstScript = document.getElementsByTagName('script')[0]; var url = 'https://quantcast.mgr.consensu.org' .concat('/choice/', 'wFs6Tqd6-pgRC', '/', host, '/choice.js') var uspTries = 0; var uspTriesLimit = 3; element.async = true; element.type = 'text/javascript'; element.src = url;
firstScript.parentNode.insertBefore(element, firstScript);
function makeStub() { var TCF_LOCATOR_NAME = '__tcfapiLocator'; var queue = []; var win = window; var cmpFrame;
function addFrame() { var doc = win.document; var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]);
if (!otherCMP) { if (doc.body) { var iframe = doc.createElement('iframe');
iframe.style.cssText = 'display:none'; iframe.name = TCF_LOCATOR_NAME; doc.body.appendChild(iframe); } else { setTimeout(addFrame, 5); } } return !otherCMP; }
function tcfAPIHandler() { var gdprApplies; var args = arguments;
if (!args.length) { return queue; } else if (args[0] === 'setGdprApplies') { if ( args.length > 3 && args[2] === 2 && typeof args[3] === 'boolean' ) { gdprApplies = args[3]; if (typeof args[2] === 'function') { args[2]('set', true); } } } else if (args[0] === 'ping') { var retr = { gdprApplies: gdprApplies, cmpLoaded: false, cmpStatus: 'stub' };
if (typeof args[2] === 'function') { args[2](retr); } } else { queue.push(args); } }
function postMessageEventHandler(event) { var msgIsString = typeof event.data === 'string'; var json = {};
try { if (msgIsString) { json = JSON.parse(event.data); } else { json = event.data; } } catch (ignore) {}
var payload = json.__tcfapiCall;
if (payload) { window.__tcfapi( payload.command, payload.version, function(retValue, success) { var returnMsg = { __tcfapiReturn: { returnValue: retValue, success: success, callId: payload.callId } }; if (msgIsString) { returnMsg = JSON.stringify(returnMsg); } event.source.postMessage(returnMsg, '*'); }, payload.parameter ); } }
while (win) { try { if (win.frames[TCF_LOCATOR_NAME]) { cmpFrame = win; break; } } catch (ignore) {}
if (win === window.top) { break; } win = win.parent; } if (!cmpFrame) { addFrame(); win.__tcfapi = tcfAPIHandler; win.addEventListener('message', postMessageEventHandler, false); } };
makeStub();
var uspStubFunction = function() { var arg = arguments; if (typeof window.__uspapi !== uspStubFunction) { setTimeout(function() { if (typeof window.__uspapi !== 'undefined') { window.__uspapi.apply(window.__uspapi, arg); } }, 500); } };
var checkIfUspIsReady = function() {
uspTries++;
if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) {
console.warn('USP is not accessible');
} else {
clearInterval(uspInterval);
}
};
if (typeof window.__uspapi === 'undefined') {
window.__uspapi = uspStubFunction;
var uspInterval = setInterval(checkIfUspIsReady, 6000);
}
// This callback is triggered on each page load
__tcfapi('addEventListener', 0, function(tcData, success) {
if (success && (tcData.eventStatus == 'useractioncomplete' || tcData.eventStatus == 'tcloaded')) {
processCmpData(tcData);
}
});
function processCmpData(tcData) {
// Flag that CMP has been processed.
consentManager.cmpProcessed = true;
// Permutive disabling needed?
if (tcData.purpose.consents[1] && tcData.purpose.consents[3]) {
consentManager.permutive.isAllowed = true;
}
if (consentManager.isAllowed('permutive')) {
window.localStorage.removeItem('permutive-opt-out');
} else {
window.localStorage.setItem('permutive-opt-out', 'true');
}
consentManager.setUserConsent(tcData);
if(consentManager.isAllowed('google')) {
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-NTW9BPH'); }
// Consent String is needed as DFP target
consentManager.setConsentString(tcData.tcString);
consentManager.trackPublisherConsentLevel(tcData.publisher.consents);
consentManager.trackVendorConsentLevel(tcData.vendor.consents);
/**
* According to Google policies, if Publisher Purpose 1 is revoked, we should not display ads at all
* Check https://support.google.com/admanager/answer/9805023?hl=en for more information
* Here we update the flag that points if ads should be rederer or not.
*/
consentManager.hideAds(tcData.purpose.consents[1]);
// Posts tagged as sensitive shouldn't be showing any ads. Since we have a way to control ads viewability through
// the consent manager, it's easy to check for the posts tags and flagged if they should shown or not.
// According to Google policies, if Publisher Purpose 1 is revoked, we should not display ads at all
// Check https://support.google.com/admanager/answer/9805023?hl=en for more information
if (consentManager.hasBeenProcessed() && consentManager.displayAds) {
consentManager.renderAds();
}
// If consent was processed once the page was loaded, there are some ads that may not appear. Let's run prebid again.
if (typeof executeParallelAuctionAlongsidePrebid !== 'undefined' && !consentManager.prebidProcessed && consentManager.displayAds) {
executeParallelAuctionAlongsidePrebid()
}
// Facebook and Twitter are non IAB vendors, so we need to check their consents using a different callback
__tcfapi('getNonIABVendorConsents', 0, function(consent, success) {
if (success && consent.gdprApplies) {
consentManager.setUserNonIabConsent(consent);
}
})
if (!consentManager.sentEventFbPixel && consentManager.isAllowed('facebook')) {
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');
fbq('init', '1294117580618248');
fbq('track', "PageView");
fbq('track', 'ViewContent');
consentManager.sentEventFbPixel = true;
}
if (!consentManager.sentEventTwPixel && consentManager.isAllowed('twitter')) {
!function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments);
},s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='//static.ads-twitter.com/uwt.js',
a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script');
// Insert Twitter Pixel ID and Standard Event data below
twq('init','o1f6l');
twq('track','PageView'); consentManager.sentEventTwPixel = true;
}
}
Source link