Enhance dashboard published feeds controls
This commit is contained in:
parent
e796e09d14
commit
ca3d34053f
5 changed files with 177 additions and 29 deletions
|
|
@ -1,11 +1,13 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Mapping
|
||||
from typing import cast
|
||||
|
||||
import htpy as h
|
||||
from htpy import Node, Renderable
|
||||
|
||||
from repub.components import (
|
||||
action_button,
|
||||
app_shell,
|
||||
header_action_link,
|
||||
inline_link,
|
||||
|
|
@ -89,6 +91,19 @@ def _source_feed_row(source_feed: Mapping[str, object]) -> tuple[Node, ...]:
|
|||
if last_updated_iso is not None
|
||||
else h.p(class_="font-medium text-slate-900")[str(source_feed["last_updated"])]
|
||||
)
|
||||
next_run_iso = source_feed.get("next_run_at")
|
||||
next_run = (
|
||||
h.time(
|
||||
{
|
||||
"data-next-run-at": str(next_run_iso),
|
||||
"title": str(next_run_iso),
|
||||
},
|
||||
datetime=str(next_run_iso),
|
||||
class_="font-medium text-slate-900",
|
||||
)[str(source_feed["next_run"])]
|
||||
if next_run_iso is not None
|
||||
else h.p(class_="font-medium text-slate-900")[str(source_feed["next_run"])]
|
||||
)
|
||||
return (
|
||||
h.div[
|
||||
h.div(class_="font-semibold text-slate-950")[str(source_feed["source"])],
|
||||
|
|
@ -108,9 +123,15 @@ def _source_feed_row(source_feed: Mapping[str, object]) -> tuple[Node, ...]:
|
|||
tone=str(source_feed["feed_status_tone"]),
|
||||
),
|
||||
last_updated,
|
||||
next_run,
|
||||
h.p(class_="font-medium text-slate-900")[
|
||||
str(source_feed["artifact_footprint"])
|
||||
],
|
||||
action_button(
|
||||
label="Run now",
|
||||
disabled=bool(source_feed["run_disabled"]),
|
||||
post_path=cast(str | None, source_feed.get("run_post_path")),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -122,7 +143,15 @@ def published_feeds_table(
|
|||
eyebrow="Published feeds",
|
||||
title="Published feeds",
|
||||
empty_message="No feeds have been published yet.",
|
||||
headers=("Source", "Feed URL", "Status", "Last updated", "Disk usage"),
|
||||
headers=(
|
||||
"Source",
|
||||
"Feed URL",
|
||||
"Status",
|
||||
"Last updated",
|
||||
"Next run",
|
||||
"Disk usage",
|
||||
"Actions",
|
||||
),
|
||||
rows=rows,
|
||||
actions=muted_action_link(href="/sources", label="Manage sources"),
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue