I have a 2.5 gallon with a 25w elite heater and its pretty great.
In a 1 gallon, you have to change the water every 3 days, 1-3 weeks means your fish is getting ammonia poisoning. I think your fish had ammonia poisoning like mine and than developed popeye. Same thing happened to me. I didn't know at first but you should start changing them every 3 days.
I used Jungle's Fungus Clear
to medicate the popeye, you can buy it at walmart for $4.
I think you should try to figure out a way to make the temperature higher, my betta use to not move around and kept getting popeye when he didn't have a heater. I eventually moved his 1.5 gallon to a really hot room but finally caved when and got him a new setup since in winter its going to cold no matter what. Bettas prefer 78f-80f, they became super active and is much healthier when they are warm.
If you have 4 bettas, maybe consider getting a this petsmart 10 gallon
, its only $15 if your in the US or $18 if your in Canada! You can just divide it into 4 sections. You can also get an Elite 50w heater from Amazon
That way, all 4 fish can have more room and warm water for under 30 bucks! You can either cycle the 10 gallon or do 50% water changes every week.