Morally you're right. It's not ethical to go out with covid for anything non essential (and certainly not without a mask.
It's extremely infectious and there's all sorts of reasons why people want to avoid infection, from having an underlying health issue that makes them more vulnerable, to having something important coming up that being ill for would ruin (could be a big event, an operation, a holiday etc), to not getting sick pay (especially applies to supermarket staff, also let's not forget we're also in a cost of living crisis), to the long term health issues covid can create for anyone and the strain covid is still putting on the health services etc etc. There's still hundreds of people dying with it in the UK every month.
Your friend should have either got a home delivery for her shopping or asked someone to drop some shopping off for her. If there was absolutely no alternative she should have worn a mask
People who are forced to work when they are still infectious need to wear a mask and tell people they come in contact with that they're positive so that they can also put a mask on if they choose and monitor themselves for symptoms/avoid vulnerable relatives etc
Ultimately we need better guidelines, better infection controls and proper sick pay available to those who are infectious. Tell your unions and with an election coming up any prospective parliamentary candidates that this is important to you, we need to start pushing for it
In the meantime your friend is the exact reason why I still wear a mask in indoor public spaces and have no intention of stopping anytime soon.
People are well advised to stock up on FFP2 masks and anti-viral nasal spray, and wear the masks in healthcare settings, on public transport and in the supermarket at thd very least.