M.C.
It is not uncommon for children this age to eat only a few certain things and only want those and only those. You said that she will eat fruit all day long if you let her. So why not? That's not idealy what she should eat but it's better than the junk I see a lot of parents feeding their kids all the time. Plus fruit is at least full of nutrient and vitamins. Also a lot of sugar though too so even if you can stuff a few spoon fulls of cottage cheese in her just so she gets some protein with it. But again, this is not uncommon for many children. I will make all kinds of things for my 2-year-old and he'll take a couple of bites and be done but then want to eat half a box of cheerios. Kids won't eat what you put in front of them just because you do. Maybe let her have a little more freedom on what you give her and not try to worry that she didn't eat what you made. That happens a lot. Just let her eat freely for a little while and see if that helps her weight.