Message d'info pour les users en trial dans /compte/roadmap

This commit is contained in:
Colin Maudry
2026-07-14 11:48:29 +02:00
parent ea95431eae
commit ad293acd88
3 changed files with 60 additions and 2 deletions
+6 -1
View File
@@ -22,10 +22,15 @@ def layout(**_):
return guard
balance = subs_db.credit_pending(current_user.id)
next_recharge = subs_db.next_recharge_at(current_user.id)
sub = subs_db.get_current(current_user.id)
return account_shell(
"roadmap",
roadmap_ui.roadmap_content(
editable=True, balance=balance, next_recharge=next_recharge
editable=True,
balance=balance,
next_recharge=next_recharge,
sub_status=sub["status"] if sub else None,
trial_ends_at=sub["current_period_end"] if sub else None,
),
)
+22 -1
View File
@@ -106,8 +106,26 @@ def _en_cours_items(en_cours: list[dict]) -> list:
]
def _trial_hint(sub_status: str | None, trial_ends_at: str | None):
if sub_status != "trial" or not trial_ends_at:
return None
try:
end_date = datetime.fromisoformat(trial_ends_at).strftime("%d/%m/%Y")
except (ValueError, TypeError):
return None
return dbc.Alert(
f"Vous pourrez voter à la fin de votre période d'essai, le {end_date}.",
color="info",
className="mb-3",
)
def roadmap_content(
editable: bool, balance: int | None = None, next_recharge: datetime | None = None
editable: bool,
balance: int | None = None,
next_recharge: datetime | None = None,
sub_status: str | None = None,
trial_ends_at: str | None = None,
) -> html.Div:
try:
issues = github.fetch_roadmap_issues()
@@ -126,6 +144,9 @@ def roadmap_content(
"Les abonné·es votent pour les fonctionnalités à développer en priorité."
)
)
trial_hint = _trial_hint(sub_status, trial_ends_at) if editable else None
if trial_hint is not None:
body.append(trial_hint)
body.append(
html.Div(
dbc.ListGroup(