The overall idea is sound, but there a couple of things that can be polished:
When a situation resolves (e.g. the user goes back online), then it would be nice to show a message to the user e.g. ✅ You're back online. or when the server is online again ✅ Our services are working again. (Apologies for the inconvenience.).
Keep the blocking overlay, but make it more transparent and move the modal to the bottom right. The goal here being that the user can still read the website (but not interact with it).
The default UI could be prettier. (E.g. more spacing between the text.)
The overall idea is sound, but there a couple of things that can be polished:
✅ You're back online.
or when the server is online again✅ Our services are working again. (Apologies for the inconvenience.)
.