Back
Font Size
18px
Theme
Select Chapter
Previous

Mia turned to her, beaming. "Do you think Daddy will like it?"

On the screen, Vanessa's face darkened. She stepped forward and grabbed Mia roughly by the hair. Mia cried out in pain and surprise. Vanessa dragged her away from the mirror, pulled a pair of scissors from behind her back, and began cutting.

Mia begged. I could hear her voice through the phone speaker, clear and desperate.

"Please don't! Mommy helped pick this dress!"

Vanessa's voice came through, cold and vicious.

"Stop using dead people to steal my life."

Then the scissors snipped, over and over. Mia screamed.

I felt Mia bury her face against my leg in the present moment, unable to bear hearing herself scream. I paused the recording and knelt to hold her tight. I had already seen enough.

Vanessa's voice was barely a whisper now. "Adrian..."

I pressed play again.

The camera captured everything. Vanessa slapping Mia hard across the face. Kicking her gently but deliberately in the side to keep her down when Mia tried to crawl toward the hair on the floor. Standing over her, watching her cry, with no remorse at all.

My hand tightened around the phone until my knuckles turned white.

Vanessa's face turned ashen. She took a shaky breath. "You don't understand. I was upset. I was jealous. I didn't mean to hurt her."

I looked down at the engagement ring on her finger. The ring I had placed there only weeks before, because I thought bringing Vanessa into our lives would give Mia a mother figure and us a fresh start.

How incredibly wrong I had been.

Mia didn't need a replacement mother. She needed me to protect the memory of the mother she had lost.

I reached out and took Vanessa's hand. For a second, she looked hopeful, thinking I might forgive her.

I pulled the diamond ring from her finger.

Her breath caught. "Adrian, please. Don't do this."

I dropped the ring onto the floor, where it landed with a soft metallic click beside the fallen hair and the scissors.

"There will be no wedding," I said.

Vanessa stared at the ring as if her entire future had just shattered before her eyes. And perhaps it had. But my daughter's childhood had almost been shattered first.

I lifted Mia up into my arms. She wrapped both arms around my neck and pressed the ruined side of her head against my shoulder, hiding it from sight.

Vanessa began to cry then—loud, heaving sobs. I couldn't tell if they were real or just for show. I no longer cared.

"You're choosing her over me?" Vanessa asked, her voice cracking.

I looked down at the hair scattered across the floor. Then up at the camera, still recording everything. Then at my daughter, trembling in my arms.

"No," I said. "I am choosing my child over the woman who hurt her."

I walked toward the front door. Behind me, Vanessa whispered my name, pleading.

Report this article

Select a reason for reporting:

Inaccurate information Copyright violation Spam / advertisement Offensive content Other '; footer.hidden = true; overlay.hidden = false; document.body.style.overflow = 'hidden'; } function hideSection() { if (section) section.hidden = true; } function openModal() { if (alreadyReported) { showSuccess(); return; } overlay.hidden = false; document.body.style.overflow = 'hidden'; } function closeModal() { overlay.hidden = true; document.body.style.overflow = ''; footer.hidden = false; overlay.querySelectorAll('input[name="report_reason"]').forEach(function(r) { r.checked = false; }); document.getElementById('reportMessage').value = ''; errorBox.hidden = true; submitBtn.disabled = false; submitBtn.textContent = 'Submit report'; imageItems = []; imgGrid.innerHTML = ''; updateAttachBtn(); } btn.addEventListener('click', openModal); closeBtn.addEventListener('click', closeModal); cancelBtn.addEventListener('click', closeModal); overlay.addEventListener('click', function(e) { if (e.target === overlay) closeModal(); }); document.addEventListener('keydown', function(e) { if (!overlay.hidden && e.key === 'Escape') closeModal(); }); // --- Error helper --- function showError(msg) { errorBox.textContent = msg; errorBox.hidden = false; } // --- Submit --- submitBtn.addEventListener('click', function() { var selected = overlay.querySelector('input[name="report_reason"]:checked'); if (!selected) { showError('Please select a reason.'); return; } errorBox.hidden = true; submitBtn.disabled = true; var itemsToUpload = imageItems.filter(function(it) { return !it.uploadedUrl; }); if (itemsToUpload.length === 0) { doSubmit(selected.value); return; } submitBtn.textContent = 'Uploading…'; var done = 0, failed = 0; itemsToUpload.forEach(function(entry) { entry.statusEl.textContent = '…'; entry.statusEl.className = 'report-img-item__status'; entry.statusEl.hidden = false; resizeImage(entry.file, MAX_LONG_PX, function(resized) { uploadFile(resized, currentSlug, function(err, url) { done++; if (err) { failed++; entry.statusEl.textContent = 'Failed'; entry.statusEl.className = 'report-img-item__status err'; } else { entry.uploadedUrl = url; entry.statusEl.textContent = '✓'; entry.statusEl.className = 'report-img-item__status done'; } if (done === itemsToUpload.length) { if (failed > 0) { showError('Could not upload ' + failed + ' image(s). Remove the failed ones (red) or submit without them.' ); submitBtn.disabled = false; submitBtn.textContent = 'Submit report'; } else { doSubmit(selected.value); } } }); }); }); }); function doSubmit(reason) { submitBtn.textContent = 'Sending…'; var uploadedUrls = imageItems .map(function(it) { return it.uploadedUrl; }) .filter(Boolean); var payload = { reason: reason, message: document.getElementById('reportMessage').value.trim(), post_slug: currentSlug, post_url: window.location.href }; if (uploadedUrls.length) payload.image_urls = uploadedUrls; fetch('/api/post-report', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest' }, body: JSON.stringify(payload) }) .then(function(r) { return r.json(); }) .then(function(data) { if (data && data.ok) { markReported(currentSlug); alreadyReported = true; bodyEl.innerHTML = '✓ Thank you for your report.'; footer.hidden = true; setTimeout(function() { closeModal(); footer.hidden = false; hideSection(); }, 2000); } else { showError((data && data.message) ? data.message : 'Something went wrong. Please try again.'); submitBtn.disabled = false; submitBtn.textContent = 'Submit report'; } }) .catch(function() { showError('Connection failed. Please try again.'); submitBtn.disabled = false; submitBtn.textContent = 'Submit report'; }); } })();