Punctuation of direct speech, edge cases

Solution 1:

The only thing you have to "relearn" is that a full-stop at the end of reported speech becomes a comma when the sense runs on into the sentence which reports it.

"I'm done," she said.

That's one complete sentence reporting some speech.

It doesn't matter if what is being reported has its own sentence structure: that's contained within the quotation. It's the comma at the end which links the quotation to the reporting. Please be reassured that your example is correct:

"I can't take her. I'm done," she said.

Where you're reporting a trailing-off of speech, or some other ending, the punctuation mark isn't a full-stop so it doesn't become a comma. However, because the sense runs on into the reporting clause, that doesn't get a capital letter, in much the same way as the first example.

"But I thought he was..." he complained, lapsing into silence.
"Oh sh—" he whispered, seeing the car hurtle towards him.
"No!" she exclaimed, slamming the book shut.

Where an interjection interrupts the reported speech, I'd use a dash. There's no punctuation at all at the end of the first fragment, because there's nothing there in what's actually being said.

"I just can't" — she sobbed ostentatiously — "take any more!"