Skip to content

Commit 045a97d

Browse files
committed
Remove extra lookup
1 parent 6cf5c0f commit 045a97d

File tree

3 files changed

+4
-18
lines changed

3 files changed

+4
-18
lines changed

src/packages/router.gleam

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,8 @@ fn search(request: Request, context: Context) -> Response {
154154
})
155155
_ -> packages
156156
}
157-
let assert Ok(total_package_count) =
158-
storage.get_total_package_count(context.db)
159157

160-
page.packages_list(packages, total_package_count, search_term)
158+
page.packages_list(packages, search_term)
161159
|> wisp.html_response(200)
162160
}
163161

src/packages/storage.gleam

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -321,13 +321,6 @@ pub fn get_optional_package(
321321
|> result.map_error(error.StorageError)
322322
}
323323

324-
pub fn get_total_package_count(database: Database) -> Result(Int, Error) {
325-
database.packages
326-
|> storail.list([])
327-
|> result.map(list.length)
328-
|> result.map_error(error.StorageError)
329-
}
330-
331324
pub fn upsert_release(
332325
database: Database,
333326
package: String,

src/packages/web/page.gleam

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,10 @@ import lustre/element/html
1111
import packages/storage.{type Package}
1212
import packages/web/icons
1313

14-
pub fn packages_list(
15-
packages: List(Package),
16-
total_package_count: Int,
17-
search_term: String,
18-
) -> String {
14+
pub fn packages_list(packages: List(Package), search_term: String) -> String {
1915
html.div(
2016
[attribute.class("content")],
21-
search_aware_package_list(packages, total_package_count, search_term),
17+
search_aware_package_list(packages, search_term),
2218
)
2319
|> layout
2420
}
@@ -105,13 +101,12 @@ fn search_form(search_term: String) -> Element(Nil) {
105101

106102
fn search_aware_package_list(
107103
packages: List(Package),
108-
total_package_count: Int,
109104
search_term: String,
110105
) -> List(Element(Nil)) {
111106
let header_phrase = case search_term, packages {
112107
"", [] -> "No packages have been added yet"
113108
"", [_] -> "1 package is available!"
114-
"", _ -> int.to_string(total_package_count) <> " packages are available!"
109+
"", _ -> int.to_string(list.length(packages)) <> " packages are available!"
115110

116111
_, [] -> "No packages match your query"
117112
_, [_] -> "1 package matches your query!"

0 commit comments

Comments
 (0)