Change (don't hide) Install as App button once installed
This may make the functionality a bit easier to understand.
Maybe we could change it to "open app", and perform the equivalent of this button browser button.
If that doesn't work, maybe we could just grey it out and change the text to: "Already installed as app".

IIRC, there are some technical restrictions that prevent us from doing any other actions than the ones already available in Pybricks Code. I'm not sure there is a way to tell the difference between "already installed" and the browser doesn't support the feature/the browser is not working as expected.
What is currently the condition that hides/unhides the Install as App button?
EDIT: Ah, if I read that right, we currently check something like is-installable?
If the browser supports "installing" and the app is not installed yet, there is a "beforeinstallprompt" event. Normally, the browser would pop up something in the address bar area, but we intercept this event and tell it not to do that. This is when we show the button. If we don't get this event, it could mean that the app is already installed, or the event just hasn't been sent yet, or the browser is broken, or there could be a user setting in the browser to disable the feature, or the browser doesn't support the feature at all. And I haven't been able to find any sort of test to tell the difference between any of these. The only thing I have found is we can tell if we are running as an "app" or not.
Relevant discussion: https://github.com/orgs/pybricks/discussions/1301