See commits.
Using AdwStatusPage will clean the code a bit. However keep using GtkImage and GtkSpinner until the issues below gets fixed: