about summary refs log tree commit diff
path: root/src/indieauth/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/indieauth/mod.rs')
-rw-r--r--src/indieauth/mod.rs15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/indieauth/mod.rs b/src/indieauth/mod.rs
index 5cdbf05..af49a7f 100644
--- a/src/indieauth/mod.rs
+++ b/src/indieauth/mod.rs
@@ -1,4 +1,4 @@
-use crate::database::Storage;
+use crate::database::{settings::Setting, Storage};
 use axum::{
     extract::{Form, FromRef, Json, Query, State},
     http::StatusCode,
@@ -13,6 +13,7 @@ use axum_extra::{
     headers::{authorization::Bearer, Authorization, ContentType, HeaderMapExt},
     TypedHeader,
 };
+use futures::FutureExt;
 use kittybox_indieauth::{
     AuthorizationRequest, AuthorizationResponse, ClientMetadata, Error, ErrorKind, GrantRequest,
     GrantResponse, GrantType, IntrospectionEndpointAuthMethod, Metadata, PKCEMethod, Profile,
@@ -319,12 +320,20 @@ async fn authorization_endpoint_get<A: AuthBackend, D: Storage + 'static>(
     {
         request.scope.replace(Scopes::new(vec![Scope::Profile]));
     }
+    let (blog_name, theme, channels) = tokio::join!(
+        db.get_setting::<crate::database::settings::SiteName>(&me)
+            .map(Result::unwrap_or_default),
+        db.get_setting::<crate::database::settings::Theme>(&me)
+            .map(Result::unwrap_or_default),
+        db.get_channels(&me).map(|i| i.unwrap_or_default())
+    );
 
     Html(
         kittybox_frontend_renderer::Template {
             title: "Confirm sign-in via IndieAuth",
-            blog_name: "Kittybox",
-            feeds: vec![],
+            blog_name: &blog_name.as_ref(),
+            feeds: channels,
+            theme: theme.into_inner(),
             user: None,
             content: kittybox_frontend_renderer::AuthorizationRequestPage {
                 request,