diff --git a/aleksis/core/assets/App.vue b/aleksis/core/assets/App.vue
index 54ae09a5b25789aa3c4a62ca3cfc7345e0c105e2..1fa486298e3fa515f2fc9eac33097bb53786fdd7 100644
--- a/aleksis/core/assets/App.vue
+++ b/aleksis/core/assets/App.vue
@@ -79,7 +79,7 @@
           </div>
         </template>
       </v-navigation-drawer>
-      <v-app-bar app color="primary white--text">
+      <v-app-bar app :color="$vuetify.theme.dark ? undefined : 'primary white--text'">
         <v-app-bar-nav-icon @click="drawer = !drawer" color="white" />
 
         <v-toolbar-title
@@ -90,6 +90,14 @@
           {{ systemProperties.sitePreferences.generalTitle }}
         </v-toolbar-title>
 
+        <v-progress-linear
+          :active="$root.contentLoading"
+          :indeterminate="$root.contentLoading"
+          absolute
+          bottom
+          :color="$vuetify.theme.dark ? 'primary' : 'grey lighten-3'"
+        ></v-progress-linear>
+
         <v-spacer />
         <div v-if="currentUser.isAuthenticated" class="d-flex">
           <notification-list />
diff --git a/aleksis/core/assets/app.js b/aleksis/core/assets/app.js
index 223d6b180ba98b9b65afbefbb21931f1dc50d76e..cf54e309b675ad30e51dad468b2daf24bf7f2d5a 100644
--- a/aleksis/core/assets/app.js
+++ b/aleksis/core/assets/app.js
@@ -174,6 +174,7 @@ const app = new Vue({
   render: (h) => h(App),
   data: () => ({
     showCacheAlert: false,
+    contentLoading: false,
   }),
   router,
   i18n,