I see what you mean. I’m using Damus and have a default zap app (Mine is Phoenix) but the app is opened to confirm the zap before sending. We need a way to approve an app to send zaps, is the for #[5] or the wallet to implement?
Discussion
I see that it's on all of us that want this... find a way to make it happen.
Practically I'm thinking in direction to look into code for client I could contribute to and then it's about how to hold balance to use for zapping.
What you want is to integrate a LN wallet (via a LN SDK) into the nostr app.
Then its native, no more switching back and forth.
See for example the recent Breez SDK, enables exactly that. Also non-custodial.