Although "has a SICK heart" is more literal, I tried "has a BAD heart", which seems more natural, to me, if we are talking about a physical, rather than an emotional, condition.
I thought at first glance that it might have been an idiom for love-sick.
I wondered if it was more psychological, emotional "sickness". The fact is, a Google search returns very few examples of the expression "croí tinn" and most of those seem not to be good sources. teanglann.ie gives the example " Bhí mo chroí tinn ina ndiaidh" translated as "My heart ached after them" which does support the idea of it being affective rather than physical. Perhaps you could say "She has a sore heart" or, more freely translated, "Her heart is sore" to convey the emotional idea.
I agree - 'has a bad heart' is the usual phrase in English. However, Duolingo doesn't seem to like it!
Tá tinneas croí uirthi ?