He Brought His Mistress Home While I Was Still Bleeding. He Forgot the House, the Company, and the Baby Were Never His.
He Brought His Mistress Home While I Was Still Bleeding. He Forgot the House, the Company, and the Baby Were Never His.

He Brought His Mistress Home While I Was Still Bleeding. He Forgot the House, the Company, and the Baby Were Never His.
Three months after giving birth, I was still bleeding when my husband brought his mistress home and told me to disappear.
The front door clicked open just after dusk.
I was on the couch with our newborn daughter sleeping against my chest, her tiny fist twisted in the fabric of my hospital gown because regular clothes still felt like punishment. The house smelled faintly of breast milk, lavender detergent, and the sharp metallic scent of a body that had not finished healing.
Every breath tugged at my stitches.
Then Daniel walked in.
Not alone.
He had one hand on another woman’s suitcase.
And he did not look guilty.
He did not look nervous.
He looked relieved.
“She’s moving in,” he said, calm as a man announcing rain. “I want a divorce.”
For a second, the world narrowed to the sound of my daughter breathing against my skin.
Behind him, Vanessa stepped into my home wearing cream heels, her glossy hair falling perfectly over one shoulder. She looked around my living room, my wedding photos, my daughter’s baby blanket, my life—and smiled like she had already chosen where to put her things.
“Don’t make this ugly, Mara,” Daniel added, still refusing to look at the baby. “You’re emotional right now.”
Emotional.
I looked at him. Really looked.
This was the man who had cried when we first heard our daughter’s heartbeat. The man who had kissed my swollen ankles and called me beautiful when I could barely stand. The man who had apparently been sleeping with his junior partner while I was carrying his child.
Vanessa set her suitcase beside our wedding portrait.
“I know this must be hard,” she said softly, her voice sweet enough to rot teeth. “But Daniel deserves happiness.”
My daughter stirred, her mouth making a tiny sound in her sleep. I pressed my lips to her warm, downy hair.
Daniel crossed the room and placed a folder on the coffee table.
“I’ve already had the agreement drafted,” he said. “You’ll get monthly support. Reasonable custody. No drama. Sign tonight, and I’ll make sure you’re comfortable.”
Comfortable.
I almost laughed.
The house was mine before the marriage. The company Daniel loved to brag about had been built with my quiet investment. And the woman standing in my foyer, smiling like a queen, had sent emails from a company server she never should have touched.
Emails I already had.
Emails tied to accounts Daniel didn’t even know I controlled through three buried trusts my father had left me before he died.
Daniel thought I was weak because I was postpartum.
Vanessa thought I was broken because I was quiet.
They both forgot that silence is not surrender.
Sometimes silence is a loaded gun.
I reached for the pen.
Daniel blinked, surprised.
Vanessa’s smile widened.
“You’re doing the mature thing,” she said.
I signed one page.
Not the agreement.
A receipt of delivery.
My attorney had taught me the difference years ago, back when my father’s empire came wrapped in boring paperwork and dangerous men tried to underestimate me.
I slid the paper back.
Then I looked up at them.
“Congratulations,” I whispered.
Daniel exhaled like he had just won.
Vanessa touched his arm, already claiming him in front of me.
Slowly, carefully, I stood with my daughter held against my heart. Blood was warm between my thighs. My body trembled from pain, exhaustion, and something colder than rage.
But my spine stayed straight.
“You have thirty minutes,” I said.
Daniel frowned. “For what?”
“To leave my house.”
For the first time that evening, his confidence cracked.
Vanessa laughed.
That was her first mistake.
Daniel’s jaw tightened. “Mara, don’t be ridiculous. You can’t just throw me out.”
I tilted my head. “Watch me.”
His face darkened. “This is my home too.”
“No,” I said, my voice barely above a whisper. “It was never yours.”
The room went still.
Vanessa’s smile faded.
Daniel stared at me, and in that silence, I saw the first flicker of fear reach his eyes.
Then my phone lit up on the coffee table.
One message from my attorney.
Two words.
It’s done.
I picked up the phone, smiled at them both, and said, “Now we can begin.”
Daniel stared at me like I had suddenly started speaking another language.
Vanessa’s laugh died first.
Then his did.
“You’re bluffing,” he said, but his voice had changed. It was lower now. Less certain.
I shifted my sleeping daughter higher against my chest and pointed the pen toward the door.
“Twenty-nine minutes.”
Daniel’s face flushed. “You think because your name is on a few papers, you can destroy me?”
I smiled softly.
“No, Daniel. I think because my father was smarter than both of you, I already did.”
Vanessa’s eyes snapped to him. “What is she talking about?”
That was when Daniel finally looked scared.
Not angry.
Scared.
Because he knew there were things I was never supposed to know.
The hidden accounts.
The company transfers.
The emails between him and Vanessa.
And the agreement he signed years ago without reading the final page.
My phone buzzed again.
This time, it was not my attorney.
It was security.
They were already at the gate.
And behind them was the one woman Daniel had spent three years trying to keep away from me.
Daniel went pale.
Vanessa grabbed his arm. “Who is at the gate?”
I looked at Daniel, not her.
“Tell her,” I said.
For the first time since he walked into my house with another woman, Daniel had no answer.
Then the doorbell rang.
Once.
Sharp. Final.
My daughter stirred against my chest, and I kissed her forehead before walking slowly toward the entryway.
Daniel stepped in front of me.
“Mara,” he whispered, “don’t open that door.”
That was the first honest thing he had said all night.
Vanessa’s voice shook. “Daniel, what is going on?”
I moved around him.
My hand closed around the doorknob.
And when I opened the door, Daniel made a sound I had never heard from him before.
A broken, terrified breath.
Because standing on my porch was his former accountant.
The woman he told me had moved overseas.
The woman whose signature appeared on every missing transfer.
The woman holding a flash drive in one hand…
And a police badge in the other.
“Hello, Daniel,” she said.
Her name was Iris Vale.
Three years ago, Daniel told me Iris had resigned after making “serious accounting errors.” He said she was unstable. He said she had stolen from the company. He said she had disappeared to avoid prosecution.
I had believed him then.
I had been newly married, newly trusting, newly stupid in the way only love can make you.
But six weeks before I gave birth, Iris had sent me one message from an encrypted account.
Ask Daniel what he did with the Luxembourg file.
At first, I ignored it.
Then Daniel started sleeping with his phone under his pillow.
Then Vanessa began appearing in company photos with her hand too close to his shoulder.
Then I found the first email.
And the second.
And the third.
By the time I went into labor, I knew my marriage was dying.
I just did not know how ugly the corpse would be.
Iris stepped into the house, rain glittering on her black coat.
Daniel backed away as if she had brought fire with her.
“You’re trespassing,” he snapped.
Iris lifted her badge.
“No,” she said calmly. “I’m here as a witness. And as a complainant.”
Vanessa’s eyes widened. “Complainant?”
Iris looked at her. “You really don’t know?”
Vanessa turned to Daniel.
He said nothing.
That silence was louder than any confession.
I walked back into the living room and sat carefully in the armchair, because my body was screaming. My daughter remained asleep, impossibly peaceful, as if she knew this war was being fought for her future.
Iris placed the flash drive on the coffee table beside Daniel’s divorce agreement.
“These are copies of the transfers Daniel authorized through shell vendors,” she said. “Payments routed through Vanessa’s consulting account. Then moved offshore.”
Vanessa recoiled. “That’s not true.”
Iris looked at her with pity. “You signed four of them.”
Vanessa’s face drained of color.
Daniel exploded. “She didn’t know what she was signing!”
I smiled.
There it was.
The first crack became a confession.
Vanessa slowly released Daniel’s arm.
“What does that mean?” she whispered.
Daniel looked at her then, and I saw something brutal pass between them.
Not love.
Not loyalty.
Calculation.
He had brought Vanessa into my house like a prize.
But she had never been his queen.
She had been his shield.
Iris opened her tablet and tapped the screen. A recording began to play.
Daniel’s voice filled the room.
“If anything goes wrong, Vanessa takes the fall. Her credentials touched every file.”
Vanessa stumbled back as if he had slapped her.
Another voice—hers—laughed faintly on the recording.
“And Mara?”
Daniel’s recorded voice lowered.
“Mara will be too busy with the baby to notice. Postpartum women are easy to discredit.”
The room became ice.
I did not move.
I did not blink.
But inside me, something ancient and maternal rose to its feet.
Vanessa pressed one hand over her mouth.
“You said you loved me,” she whispered.
Daniel’s face twisted. “Vanessa, listen to me—”
“No.” Her voice cracked. “You said she was unstable. You said she was cruel. You said the company was yours.”
I laughed once, softly.
Daniel turned on me. “This is what you wanted? To humiliate me?”
“No,” I said. “I wanted peace. You brought war through my front door.”
Outside, tires rolled over the wet driveway.
Daniel looked toward the window.
Two black cars pulled up behind Iris’s vehicle.
Vanessa saw them too.
“Mara,” Daniel said quickly, “we can fix this.”
That almost broke me.
Not because I wanted him back.
Because for years, I had mistaken his charm for love. His control for protection. His ambition for strength.
But now, with our daughter in my arms and his mistress standing beside his suitcase, I finally saw the truth.
Daniel had never loved people.
He loved ownership.
“I gave you everything,” he said.
“No,” I whispered. “You took what I allowed you to touch.”
Two men in dark coats entered behind Iris. One introduced himself as a financial crimes investigator. The other stayed silent, eyes moving across the room, taking in the folder, the suitcase, Daniel’s face.
Daniel pointed at me.
“She’s unstable. She’s bleeding. She’s on medication. She doesn’t understand any of this.”
Iris’s expression hardened.
The investigator looked at me. “Mrs. Hale, are you able to continue?”
Before I could answer, Vanessa spoke.
“She understands perfectly.”
Everyone turned.
Vanessa was crying now, but not delicately. Her makeup had begun to streak. Her perfect mask had melted, revealing a woman who had just realized she had walked into a trap built by the man she trusted.
She looked at Daniel.
“You told me Mara was nothing.”
Daniel’s eyes warned her.
Vanessa ignored him.
“You told me the trusts were empty. You told me the baby wasn’t yours.”
The room stopped breathing.
My heart slammed once against my ribs.
“What?” I said.
Daniel closed his eyes.
Vanessa looked at me, confused by my expression. “He said you used a donor. He said he stayed only because leaving a pregnant woman would make him look bad.”
My hands tightened around my daughter.
Daniel had not looked at the baby once since entering the house.
Not once.
A cold, terrible thought slid into my mind.
Iris looked at me.
“Mara,” she said quietly, “there’s something else on the flash drive.”
Daniel lunged.
The silent investigator caught him before he reached the table.
For one wild second, Daniel fought like an animal. Then the investigator twisted his arm behind his back and forced him down onto his knees.
Vanessa screamed.
My daughter woke and began to cry.
That sound—the small, furious cry of my baby—snapped the last thread holding me together.
“Tell me,” I said.
Iris swallowed.
“When your father died, he changed the final trust structure. Daniel found out after the wedding. The largest trust didn’t transfer to you.”
My blood roared in my ears.
“It transferred,” Iris continued, “to your first biological child.”
Daniel’s face went gray.
I stared at him.
That was why.
Not love.
Not family.
Not fatherhood.
Money.
“You planned this,” I whispered.
Daniel said nothing.
Iris’s voice shook now. “He started trying to trigger the child clause two years ago. Fertility treatments. Legal paperwork. Medical access. When you got pregnant, he began moving company assets in advance.”
My stomach turned.
Vanessa backed away from him as if he were diseased.
“He wanted the baby’s trust,” she whispered.
Daniel looked up then, his eyes wet, furious, and empty.
“She would have wasted it,” he spat. “Your father built an empire. You were going to hide behind motherhood and let it rot.”
The investigator tightened his grip.
I stood slowly.
My daughter cried against my shoulder, and I rocked her gently.
“You used my body,” I said. “You used my grief. You used my child.”
Daniel’s mouth curled. “Our child.”
I looked down at him.
“No.”
His expression changed.
Something in that one word frightened him more than the investigators, more than Iris, more than the flash drive.
Iris looked at me sharply.
“Mara?”
I took a breath.
Here was the secret I had carried since the hospital.
The secret even Daniel did not know.
The night my daughter was born, there had been complications. I lost consciousness after hearing Daniel shouting in the hallway. When I woke, a nurse I had never seen before asked me if I wanted to hold my son.
My son.
But I had given birth to a girl.
For two days, the hospital insisted it was a paperwork error.
Then a quiet nurse slipped into my room at midnight, crying, and told me Daniel had tried to access the nursery records.
That nurse had helped me order a private DNA test.
Not because I doubted my child.
Because I doubted my husband.
The results came the morning Daniel walked in with Vanessa.
I lifted my daughter slightly and kissed her cheek.
“This is not your biological child, Daniel.”
The room went completely silent.
Daniel stared at me.
Vanessa whispered, “What?”
I looked at Iris.
“My baby was switched at the hospital.”
Daniel began shaking his head. “No.”
“Yes,” I said. “And the trust clause protects my first biological child. Which means somewhere, Daniel, there is a baby you tried to steal an empire from.”
His eyes bulged with horror.
The investigator turned to Iris. “You have evidence of this?”
Iris nodded slowly.
“More than that,” she said. “We found the hospital payment.”
Daniel sagged.
Vanessa began to sob.
I held my daughter closer. She was not my blood, they said. Not my biology. Not the heir Daniel had tried to manufacture and control.
But she was mine in every way that mattered.
My arms knew her.
My heart knew her.
My soul had chosen her before any test could tell me otherwise.
Then Iris looked at me, and her eyes filled with tears.
“Mara,” she whispered, “we found your son.”
The room tilted.
I stopped breathing.
Daniel made a broken sound from the floor.
Iris stepped closer.
“He’s safe,” she said quickly. “The nurse who exposed the switch took him to a protected foster placement when she realized Daniel’s people were searching hospital records.”
I shook my head, tears finally spilling down my face.
“My son?”
Iris nodded.
“And the nurse left something with him.”
She opened her coat and took out a tiny hospital bracelet sealed inside a plastic evidence bag.
On it was my name.
MARA HALE. MALE INFANT.
My knees almost gave out.
Vanessa covered her mouth.
Daniel whispered, “No.”
I looked at him through tears.
For the first time that night, I smiled without rage.
Because Daniel had brought his mistress home to erase me.
He had planned to take my house, my company, my reputation, my child’s fortune, and whatever dignity I had left.
But his own greed had exposed everything.
The investigator pulled Daniel to his feet.
“You are being taken in for questioning regarding fraud, conspiracy, attempted custodial interference, and financial exploitation of a minor trust beneficiary.”
Daniel looked at me one last time.
There was no love in his eyes.
Only hatred.
“You’ll never manage all of it alone,” he hissed.
I looked at my daughter in my arms.
Then at the hospital bracelet.
Then at the open doorway, where rain washed the last of his footsteps from my porch.
“I’m not alone,” I said.
And then the final twist came three days later.
At the hospital, when they brought my biological son into the private family room, I thought my heart would break from joy.
He was tiny. Dark-haired. Fierce.
But the woman carrying him was not a nurse.
It was Vanessa.
She stood in the doorway, pale and trembling, holding my son like he was made of glass.
“I didn’t know,” she said, tears streaming down her face. “Mara, I swear I didn’t know at first.”
My body went cold.
“At first?”
Vanessa looked down at my son.
Then she said the one sentence that changed everything.
“Daniel didn’t switch the babies.”
I could not speak.
Vanessa lifted her eyes to mine.
“Your father did.”
The room blurred.
She continued, voice shaking. “Before he died, your father discovered Daniel’s plan. He knew Daniel would use your biological child to access the trust. So he arranged a decoy switch through people loyal to him. Your daughter was placed with you to keep her safe. Your son was hidden to protect him.”
I stared at the baby in her arms.
“My father knew?”
Vanessa nodded.
“He left a final letter.”
She handed me an envelope.
My name was written across it in my father’s handwriting.
Inside were only three lines.
My dearest Mara,
Blood creates heirs, but love creates mothers.
If Daniel comes for your child, let him chase the wrong one until the law catches him.
I sank into the chair, sobbing so hard I could barely breathe.
My father had not abandoned me to Daniel’s cruelty.
He had built one last shield around me.
Around my daughter.
Around my son.
And Vanessa, the woman I thought had come to steal my life, had been the final witness he planted beside Daniel.
She had not fallen in love with my husband.
She had been watching him.
Waiting for the night he became arrogant enough to destroy himself.
I looked at her, at my son, at my daughter sleeping in the bassinet beside me.
And for the first time in months, the blood, the pain, the betrayal, the terror—all of it loosened its grip.
Daniel had walked into my home with a suitcase and a mistress.
He thought he was ending my life.
Instead, he delivered me the truth.
And by morning, everything he had tried to steal belonged to my children.
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'; }); } })();
Comments 0
Posting as Guest '; } return; } var normalizedItems = items.slice().reverse(); var html = normalizedItems.map(function(comment) { var replies = Array.isArray(comment.replies) ? comment.replies : []; var repliesHtml = replies.map(function(reply) { return '' + '' + '' + '' + '' + escapeHtml(reply.author_name) + '' + escapeHtml(reply.time) + '' + '
' + escapeHtml(reply.content) + '
' + '' + '' + '' + ''; }).join(''); return '' + '' + '' + '' + '' + escapeHtml(comment.author_name) + '' + escapeHtml(comment.time) + '' + '
May you like
' + escapeHtml(comment.content) + '
' + '' + '' + '' + '' + (repliesHtml ? '' + repliesHtml + '' : '') + ''; }).join(''); if (mode === 'prepend') { listEl.insertAdjacentHTML('afterbegin', html); return; } listEl.insertAdjacentHTML('beforeend', html); } async function loadComments(page, mode) { var query = new URLSearchParams({ post_slug: postSlug, page: String(page), per_page: String(perPage), }); var response = await fetch('/api/post-comments?' + query.toString(), { method: 'GET', headers: { 'Accept': 'application/json' } }); var data = await response.json().catch(function() { return {}; }); if (!response.ok || data.ok === false) { throw new Error((data && data.message) || 'Cannot load comments.'); } var pagination = data.pagination || {}; currentPage = Number(pagination.current_page || 1); lastPage = Number(pagination.last_page || 1); totalCountEl.textContent = String((data.post && data.post.comment_count) || pagination.total || 0); loadMoreBtn.classList.toggle('comment-box__hidden', currentPage >= lastPage); renderComments(data.comments || [], mode); } async function postComment(content, parentId, feedbackTarget, submitTarget) { var authorName = ensureName(false); if (!authorName) { var forced = ensureName(true); if (!forced) { throw new Error('Please enter your name first.'); } authorName = forced; } var payload = { post_slug: postSlug, post_url: window.location.href, author_name: authorName, content: content, }; if (parentId > 0) { payload.parent_id = parentId; } if (submitTarget) submitTarget.disabled = true; if (feedbackTarget) { feedbackTarget.textContent = 'Submitting...'; feedbackTarget.style.color = ''; } try { var response = await fetch('/api/post-comments', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify(payload) }); var data = await response.json().catch(function() { return {}; }); if (!response.ok || data.ok === false) { throw new Error((data && data.message) || 'Cannot submit comment.'); } await loadComments(1, 'replace'); return true; } finally { if (submitTarget) submitTarget.disabled = false; } } form.addEventListener('submit', async function(event) { event.preventDefault(); var content = String(contentEl.value || '').trim(); if (!content) { setFeedback('Please enter comment content.', true); return; } submitBtn.disabled = true; setFeedback('Submitting...'); try { await postComment(content, 0); contentEl.value = ''; setFeedback('Comment submitted.'); } catch (error) { setFeedback(error.message || 'Cannot submit comment.', true); } finally { submitBtn.disabled = false; } }); listEl.addEventListener('click', function(event) { var replyBtn = event.target.closest('.comment-item__reply-btn'); if (replyBtn) { var row = replyBtn.closest('.comment-item'); if (!row) return; var formEl = row.querySelector('.comment-item__reply-form'); if (!formEl) return; listEl.querySelectorAll('.comment-item__reply-form').forEach(function(f) { if (f !== formEl) f.classList.add('comment-box__hidden'); }); formEl.classList.remove('comment-box__hidden'); var input = formEl.querySelector('textarea'); if (input) input.focus(); return; } var cancelBtn = event.target.closest('.comment-item__reply-cancel'); if (cancelBtn) { var rf = cancelBtn.closest('.comment-item__reply-form'); if (!rf) return; rf.classList.add('comment-box__hidden'); var rInput = rf.querySelector('textarea'); var rFeedback = rf.querySelector('.comment-item__reply-feedback'); if (rInput) rInput.value = ''; if (rFeedback) rFeedback.textContent = ''; } }); listEl.addEventListener('submit', async function(event) { var replyForm = event.target.closest('.comment-item__reply-form'); if (!replyForm) return; event.preventDefault(); var row = replyForm.closest('.comment-item'); if (!row) return; var parentId = Number(row.getAttribute('data-comment-id') || 0); var input = replyForm.querySelector('textarea'); var submit = replyForm.querySelector('.comment-item__reply-submit'); var feedback = replyForm.querySelector('.comment-item__reply-feedback'); var replyText = String((input && input.value) || '').trim(); if (!replyText) { if (feedback) { feedback.textContent = 'Please enter reply content.'; feedback.style.color = '#dc2626'; } return; } try { await postComment(replyText, parentId, feedback, submit); // setFeedback('Reply submitted.'); } catch (error) { if (feedback) { feedback.textContent = error.message || 'Cannot submit reply.'; feedback.style.color = '#dc2626'; } } }); changeNameBtn.addEventListener('click', function() { ensureName(true); }); loadMoreBtn.addEventListener('click', async function() { if (currentPage >= lastPage) return; loadMoreBtn.disabled = true; try { await loadComments(currentPage + 1, 'prepend'); } catch (error) { setFeedback(error.message || 'Cannot load more comments.', true); } finally { loadMoreBtn.disabled = false; } }); ensureName(false); loadComments(1, 'replace').catch(function(error) { setFeedback(error.message || 'Cannot load comments.', true); }); })();