diff --git a/appview/db/strings.go b/appview/db/strings.go --- a/appview/db/strings.go +++ b/appview/db/strings.go @@ -131,7 +131,7 @@ ) return err } -func GetStrings(e Execer, filters ...filter) ([]String, error) { +func GetStrings(e Execer, limit int, filters ...filter) ([]String, error) { var all []String var conditions []string @@ -144,6 +144,11 @@ whereClause := "" if conditions != nil { whereClause = " where " + strings.Join(conditions, " and ") + } + + limitClause := "" + if limit != 0 { + limitClause = fmt.Sprintf(" limit %d ", limit) } query := fmt.Sprintf(`select @@ -154,8 +159,12 @@ description, content, created, edited - from strings %s`, + from strings + %s + order by created desc + %s`, whereClause, + limitClause, ) rows, err := e.Query(query, args...) diff --git a/appview/pages/pages.go b/appview/pages/pages.go --- a/appview/pages/pages.go +++ b/appview/pages/pages.go @@ -1160,6 +1160,15 @@ func (p *Pages) StringsDashboard(w io.Writer, params StringsDashboardParams) error { return p.execute("strings/dashboard", w, params) } +type StringTimelineParams struct { + LoggedInUser *oauth.User + Strings []db.String +} + +func (p *Pages) StringsTimeline(w io.Writer, params StringTimelineParams) error { + return p.execute("strings/timeline", w, params) +} + type SingleStringParams struct { LoggedInUser *oauth.User ShowRendered bool diff --git a/appview/pages/templates/strings/fragments/form.html b/appview/pages/templates/strings/fragments/form.html --- a/appview/pages/templates/strings/fragments/form.html +++ b/appview/pages/templates/strings/fragments/form.html @@ -31,8 +31,9 @@
All strings
+