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" }}
+
+ {{ if .Onboarding.Active }}
+ {{ template "timeline/fragments/welcome" . }}
+ {{ end }}
{{ template "timeline/fragments/notifications" . }}
{{ template "timeline/fragments/recents" . }}
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,