The moment I step through my work door I set a timer for 7.5 hours. Once that timer is up, I close all my work, and go home.
There are 4 people on my team, who I honestly think just do not have their own lives. They come in at 8am, and leave around 10. Every single day.
I am at the bottom of our "scoreboard" for bug fixes, yet I work the most efficiently. They have 3x more fixes than I because they just choose to sit here for hours and hours and hours and just work, I don't get it.
Now I look bad in comparison, management doesn't give a shit (obviously) and I have already had my job threatened. "I have no problem buying out the your contract, you're the least effective on our team". And "Why can't you be like _________ and __________?"
My favourite part is, I designed the entire UI/UX for the app, I coded all of it for over 15 mobile devices. These people do not have the same skill set as I do. I explained everything to management, and they just told me "I don't buy it, I expect you to unofficially make up yours hours".
Now they want us to come in on Saturday. Of course the rest of my team has no problem with this, but I run my own company and any second I can find that is free, I'm using, and bet your ass I'm working on my own shit on the weekend.
I've never been so stressed out in my entire life.
This mentality that somehow sitting in office for long hours and cranking shit out is just so horrible. I really believe that this has to do a lot with the individual employee/person rather than just management. Yes, I am not counting out the pointy haired bosses and all but to a great extent, it is up to you, the employee, to dictate how long will you be working on a given day. Sure, some of us love sitting in office because we probably have nothing better to do (been there) but learning to value your time is really underrated. People, learn to value your own time and you will suddenly see how everyone else around you respects you for that. /rant
Now, just to add the other side, creating value is a lot more than spending x hours in office. Like you said, you designed a major component of the app which is what matters. Yes, there may be days when you want to crank that stuff out like there is no tomorrow because you are excited about it, go for it. And yes, go work on some weekends if needed for the team (release/critical fix etc). Take one for the team but do it wisely. Let everyone know that you are willing to raise your hand but you are not a doormat.
In your case, since are you doing the right thing, your company does not deserve you and based on what you said, they already don't care about you. So like everyone else is saying and you know the answer anyway, find something better and move on.