Long term relationship; gaining feelings for another guy

Let me set up some backstory.

I have been with my boyfriend (B) for a year as of February 1st. We are both a freshman in highschool. Recently, it has been rocky. A few weeks ago, I broke up with him because I was constantly sad and crying over the relationship. He and I had jealousy issues (mainly him), he controlled what I wore, my friends don't like him, we are constantly arguing, etc. Currently, it has gotten better but we still constantly have problems going on. I am also struggling with anxiety and this has been affecting my mental health. B and I have few things in common. Things that don't align are music taste, values, views on life/our goals, sports, people choice, etc. He hates my parents because they smoke medical marijuana as well. He thinks "hippies" are weird and isn't comfortable around them because they act like that. I haven't been into having sex with him lately and he pressures me into it every time. I feel less attracted to him.

Recently, my friends and I met a guy named.. let's name him D. D and I instantly clicked; we have the same interests and music taste. He constantly makes me smile and laugh and he is a sweet person all around. He is very attractive, we have the same dream goals, etc. Recently, we've been playing Minecraft together every other night over discord and talk nonstop. He is fun to be around and my friends think he is a great person. I think it is obvious D likes me, but he hasn't nor will act on it. I have no intention at all of cheating. I'm feeling very guilty and confused because I regret getting back together with B but also feels right. I'm stuck, what are your opinions?