show 5 notes per wiki listing

This commit is contained in:
Inhji 2023-07-09 19:58:31 +02:00
parent 5e805c15ca
commit e8b4db9340
2 changed files with 10 additions and 7 deletions

View file

@ -46,18 +46,20 @@ defmodule Chiya.Notes do
|> Repo.preload(@preloads) |> Repo.preload(@preloads)
end end
def list_notes_by_channel_published(%Chiya.Channels.Channel{} = channel) do def list_notes_by_channel_published(%Chiya.Channels.Channel{} = channel, count \\ 10) do
list_notes_by_channel_query(channel) list_notes_by_channel_query(channel)
|> order_by([n], desc: n.published_at) |> order_by([n], desc: n.published_at)
|> where([n], not is_nil(n.published_at)) |> where([n], not is_nil(n.published_at))
|> limit(^count)
|> Repo.all() |> Repo.all()
|> Repo.preload(@preloads) |> Repo.preload(@preloads)
end end
def list_notes_by_channel_updated(%Chiya.Channels.Channel{} = channel) do def list_notes_by_channel_updated(%Chiya.Channels.Channel{} = channel, count \\ 10) do
list_notes_by_channel_query(channel) list_notes_by_channel_query(channel)
|> order_by([n], desc: n.published_at) |> order_by([n], desc: n.published_at)
|> where([n], not is_nil(n.published_at)) |> where([n], not is_nil(n.published_at))
|> limit(^count)
|> Repo.all() |> Repo.all()
|> Repo.preload(@preloads) |> Repo.preload(@preloads)
end end

View file

@ -69,12 +69,13 @@ defmodule ChiyaWeb.PageController do
[channel, notes_updated, notes_published] = [channel, notes_updated, notes_published] =
case settings.wiki_channel_id do case settings.wiki_channel_id do
nil -> nil ->
[nil, nil] [nil, nil, nil]
id ->
id ->
channel = Chiya.Channels.get_channel!(id) channel = Chiya.Channels.get_channel!(id)
updated = Chiya.Notes.list_notes_by_channel_updated(channel) updated = Chiya.Notes.list_notes_by_channel_updated(channel, 5)
published = Chiya.Notes.list_notes_by_channel_published(channel) published = Chiya.Notes.list_notes_by_channel_published(channel, 5)
[channel, updated, published] [channel, updated, published]
end end