diff --git a/appview/pages/pages.go b/appview/pages/pages.go index 5a4d9862..5bae2c3b 100644 --- a/appview/pages/pages.go +++ b/appview/pages/pages.go @@ -434,6 +434,7 @@ type BlogPost struct { type TimelineParams struct { BaseParams + Onboarding models.OnboardingProgress Timeline []models.TimelineGroup Repos []models.Repo GfiLabel *models.LabelDefinition diff --git a/appview/pages/templates/onboarding/fragments/progress.html b/appview/pages/templates/onboarding/fragments/progress.html new file mode 100644 index 00000000..2ae3d6fb --- /dev/null +++ b/appview/pages/templates/onboarding/fragments/progress.html @@ -0,0 +1,8 @@ +{{ define "onboarding/progressBar" }} +
+ {{ .Step }}/{{ .Total }} +
+
+
+
+{{ end }} diff --git a/appview/pages/templates/timeline/fragments/welcome.html b/appview/pages/templates/timeline/fragments/welcome.html new file mode 100644 index 00000000..ef1cf48a --- /dev/null +++ b/appview/pages/templates/timeline/fragments/welcome.html @@ -0,0 +1,19 @@ +{{ define "timeline/fragments/welcome" }} +
+
+

+ {{ i "sparkle" "size-4 flex-shrink-0" }} + Welcome +

+ + Continue {{ i "arrow-right" "size-3.5" }} + +
+
+

+ Continue where you left off to finish setting up your account. +

+ {{ template "onboarding/progressBar" .Onboarding }} +
+
+{{ end }} diff --git a/appview/pages/templates/timeline/timeline.html b/appview/pages/templates/timeline/timeline.html index 40ff036b..a7ffc61f 100644 --- a/appview/pages/templates/timeline/timeline.html +++ b/appview/pages/templates/timeline/timeline.html @@ -17,6 +17,9 @@
diff --git a/appview/settings/settings.go b/appview/settings/settings.go index 5abd3a04..176e387d 100644 --- a/appview/settings/settings.go +++ b/appview/settings/settings.go @@ -268,7 +268,7 @@ func (s *Settings) profileSettings(w http.ResponseWriter, r *http.Request) { // TODO: bring the user state from DB instead of PDS request isDeactivated := s.isAccountDeactivated(r.Context(), syntax.DID(user.Did)) - s.Pages.UserProfileSettings(w, pages.UserProfileSettingsParams{ + err = s.Pages.UserProfileSettings(w, pages.UserProfileSettingsParams{ BaseParams: pages.BaseParamsFromContext(r.Context()), PunchcardPreference: punchcardPreferences, IsTnglSh: isTnglSh, diff --git a/appview/timeline/timeline.go b/appview/timeline/timeline.go index 665e560c..2d683753 100644 --- a/appview/timeline/timeline.go +++ b/appview/timeline/timeline.go @@ -105,6 +105,14 @@ func (t *Timeline) Timeline(w http.ResponseWriter, r *http.Request) { } } + var onboarding *models.Onboarding + if user != nil { + onboarding, err = db.GetOnboarding(t.db, user.Did) + if err != nil { + t.logger.Error("failed to get onboarding status", "err", err) + } + } + var canFocus bool if user != nil { focusCount, _ := db.CountFocusNotifs(t.db, user.Did) @@ -113,6 +121,7 @@ func (t *Timeline) Timeline(w http.ResponseWriter, r *http.Request) { err = t.pages.Timeline(w, pages.TimelineParams{ BaseParams: pages.BaseParamsFromContext(r.Context()), + Onboarding: onboarding.Progress(), Timeline: timeline, Repos: repos, GfiLabel: gfiLabel,