+21
-17
internal/server/app.go
+21
-17
internal/server/app.go
···
97
97
return nil, fmt.Errorf("failed to start jetstream watcher: %w", err)
98
98
}
99
99
100
-
// -- Computed data
100
+
computed := computeData()
101
+
102
+
state := &Server{
103
+
Db: d,
104
+
Oauth: oauth,
105
+
Config: config,
106
+
Posthog: posthog,
107
+
IdResolver: idResolver,
108
+
Session: sess,
109
+
ComputedData: computed,
110
+
}
111
+
112
+
return state, nil
113
+
}
114
+
115
+
func computeData() ComputedData {
101
116
sortedLanguages := make([]db.Language, 0, len(db.Languages))
102
117
for _, l := range db.Languages {
103
118
sortedLanguages = append(sortedLanguages, l)
···
129
144
slices.SortFunc(sortedReactions, func(a, b db.Reaction) int {
130
145
return cmp.Compare(a.ID, b.ID)
131
146
})
132
-
// --
133
147
134
-
state := &Server{
135
-
Db: d,
136
-
Oauth: oauth,
137
-
Config: config,
138
-
Posthog: posthog,
139
-
IdResolver: idResolver,
140
-
Session: sess,
141
-
ComputedData: ComputedData{
142
-
SortedLanguages: sortedLanguages,
143
-
SortedCategories: sortedCategories,
144
-
SortedResourceTypes: sortedResourceTypes,
145
-
SortedReactions: sortedReactions,
146
-
},
148
+
return ComputedData{
149
+
SortedLanguages: sortedLanguages,
150
+
SortedCategories: sortedCategories,
151
+
SortedResourceTypes: sortedResourceTypes,
152
+
SortedReactions: sortedReactions,
147
153
}
148
-
149
-
return state, nil
150
154
}
151
155
152
156
func (s *Server) HandleIndexPage(w http.ResponseWriter, r *http.Request) {