diff --git a/appview/db/strings.go b/appview/db/strings.go index 9d0c7137..18304219 100644 --- a/appview/db/strings.go +++ b/appview/db/strings.go @@ -131,7 +131,7 @@ func AddString(e Execer, s String) error { 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 @@ -146,6 +146,11 @@ func GetStrings(e Execer, filters ...filter) ([]String, error) { whereClause = " where " + strings.Join(conditions, " and ") } + limitClause := "" + if limit != 0 { + limitClause = fmt.Sprintf(" limit %d ", limit) + } + query := fmt.Sprintf(`select did, rkey, @@ -154,8 +159,12 @@ func GetStrings(e Execer, filters ...filter) ([]String, error) { 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 index 6697ffa3..dc42a234 100644 --- a/appview/pages/pages.go +++ b/appview/pages/pages.go @@ -1160,6 +1160,15 @@ func (p *Pages) StringsDashboard(w io.Writer, params StringsDashboardParams) err 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 index 2badb23e..8c2dd61d 100644 --- a/appview/pages/templates/strings/fragments/form.html +++ b/appview/pages/templates/strings/fragments/form.html @@ -31,8 +31,9 @@ name="content" id="content-textarea" wrap="off" - class="w-full dark:bg-gray-700 dark:text-white dark:border-gray-600 dark:placeholder-gray-400" + class="w-full dark:bg-gray-700 dark:text-white dark:border-gray-600 dark:placeholder-gray-400 font-mono" rows="20" + spellcheck="false" placeholder="Paste your string here!" required>{{ .String.Contents }}
All strings
+