Skip to content

Commit 7674bb6

Browse files
Order the crawler error by creation date
This change improves the crawler error page.
1 parent c8ea784 commit 7674bb6

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

web/src/App.res

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -293,28 +293,21 @@ module About = {
293293
module Errors = {
294294
module CrawlerError = {
295295
@react.component
296-
let make = (~err: CrawlerTypes.crawler_error) => {
296+
let make = (~crawler: CrawlerTypes.crawler_error_list, ~err: CrawlerTypes.crawler_error) => {
297+
let entity: option<string> = crawler.entity->Belt.Option.flatMap(Js.Json.stringifyAny)
297298
<div>
298299
<Change.RelativeDate title="Created " date={err.created_at->getDate} />
300+
<div> {("entity: " ++ entity->Belt.Option.getWithDefault(""))->str} </div>
301+
<div> {("crawler: " ++ crawler.crawler)->str} </div>
299302
<div> {("message: " ++ err.message)->str} </div>
300303
<div> {("body: " ++ err.body)->str} </div>
301304
<br />
302305
</div>
303306
}
304307
}
305308

306-
module CrawlerErrors = {
307-
@react.component
308-
let make = (~err: CrawlerTypes.crawler_error_list) => {
309-
let entity: option<string> = err.entity->Belt.Option.flatMap(Js.Json.stringifyAny)
310-
<div>
311-
<div> {("entity: " ++ entity->Belt.Option.getWithDefault(""))->str} </div>
312-
<div> {("crawler: " ++ err.crawler)->str} </div>
313-
{err.errors->Belt.List.map(e => <CrawlerError err=e />)->Belt.List.toArray->React.array}
314-
<br />
315-
</div>
316-
}
317-
}
309+
let getDateInt = mDate =>
310+
mDate->Belt.Option.getExn->Belt.Option.getExn->Js.Date.valueOf->Belt.Float.toInt
318311

319312
@react.component
320313
let make = (~store: Store.t) => {
@@ -324,7 +317,15 @@ module Errors = {
324317
<p>
325318
{"The following errors happened when updating the index. This is likely causing some data to be missing."->str}
326319
</p>
327-
{state.errors->Belt.List.map(e => <CrawlerErrors err=e />)->Belt.List.toArray->React.array}
320+
{state.errors
321+
->Belt.List.map(crawler => crawler.errors->Belt.List.map(err => (crawler, err)))
322+
->Belt.List.flatten
323+
->Belt.List.sort(((_, err_a), (_, err_b)) =>
324+
err_b.created_at->getDateInt - err_a.created_at->getDateInt
325+
)
326+
->Belt.List.map(((crawler, err)) => <CrawlerError crawler err />)
327+
->Belt.List.toArray
328+
->React.array}
328329
</TextContent>
329330
}
330331
}

0 commit comments

Comments
 (0)