Merge remote-tracking branch 'origin/main' into feat/issue-67-playevent-datecriterion

# Conflicts:
#	common/components/filters.py
#	tests/test_filter_bars.py
This commit is contained in:
2026-06-21 12:35:23 +02:00
2 changed files with 26 additions and 10 deletions
+13 -10
View File
@@ -1515,16 +1515,19 @@ def _playevent_fields(existing: dict) -> list:
max_value=ended_max,
),
),
RangeSlider(
label="Days to Finish",
input_name_prefix="filter-days-to-finish",
min_value=days_min,
max_value=days_max,
range_min=0,
range_max=365,
step="1",
min_placeholder="e.g. 1",
max_placeholder="e.g. 30",
_filter_field(
"Days to Finish",
RangeSlider(
label="Days to Finish",
input_name_prefix="filter-days-to-finish",
min_value=days_min,
max_value=days_max,
range_min=0,
range_max=365,
step="1",
min_placeholder="e.g. 1",
max_placeholder="e.g. 30",
),
),
]
return fields
+13
View File
@@ -276,6 +276,19 @@ class FilterBarRenderingTest(TestCase):
html,
)
def test_playevent_filter_bar_labels_days_to_finish_slider(self):
"""The Days to Finish range slider must be wrapped in a labelled field —
RangeSlider does not render its own label, so a bare slider shows none."""
from common.components import PlayEventFilterBar
html = str(
PlayEventFilterBar(
filter_json="", preset_list_url="/l", preset_save_url="/s"
)
)
self.assertIn("Days to Finish", html)
self.assertNoEscapedTags(html)
def test_game_filter_bar_has_new_widgets(self):
"""The expanded games FilterBar exposes platform_group, device, playevent_note,
purchase_type / purchase_ownership_type, plus count and aggregate-playtime