Leaving early if you don’t take lunch?

Hello so I have a question I work as a pickup lead at my store and I have worked there for around 5 months almost. Ever since I started working there I was told by everyone even my direct supervisor that if you don’t take a 30 minute lunch (unpaid) you can leave 30 minutes early. Now I’m scheduled 8 1/2 hours so if I do take a lunch I get 8 hours of pay. My usual schedule is 10:30-7 but I leave at 6:30 because I still get 8 hours of pay and don’t take my lunch. Anyways recently I was told my store leader (not my store manager) that I can’t leave early and if I do I’m getting written up. I was so mad and confused because everybody I know does this so I asked my actually store manager and she said “it was not forced or in the contract” however they have been all over me. Eventually they realized I was still leaving at 6:30 so they intentionally changed my schedule to now 11-7 forcing me to stay until 7 by not scheduling that lunch period. So my question is. Is this right? Or is this violation of my rights because I feel targeted if you are going to write me up then you need to write up the entire store. (Sorry for my bad grammar)