More teams view refinement

This commit is contained in:
2026-05-06 09:41:22 +02:00
parent 2ec32ebd7e
commit 89c7f5a233
2 changed files with 26 additions and 3 deletions
@@ -77,6 +77,22 @@ public partial class TeamsViewModel : ViewModelBase
private readonly ObservableCollection<string> _filteredTournaments = [];
public ObservableCollection<string> FilteredTournaments => _filteredTournaments;
public bool IsTournamentFilterEnabled => !string.IsNullOrWhiteSpace(SelectedEventFilter);
partial void OnSelectedEventFilterChanged(string? value)
{
if (value == null)
{
SelectedTournamentFilter = null;
}
OnPropertyChanged(nameof(IsTournamentFilterEnabled));
UpdateFilteredTournaments();
if (!string.IsNullOrWhiteSpace(value))
{
_ = LoadTeams();
}
}
partial void OnEventFilterSearchChanged(string value) => UpdateFilteredEvents();
partial void OnTournamentFilterSearchChanged(string value) => UpdateFilteredTournaments();
@@ -93,7 +109,14 @@ public partial class TeamsViewModel : ViewModelBase
private void UpdateFilteredTournaments()
{
_filteredTournaments.Clear();
foreach (var t in AvailableTournaments.Where(t => string.IsNullOrWhiteSpace(TournamentFilterSearch) || t.ToLower().Contains(TournamentFilterSearch.ToLower())))
if (string.IsNullOrWhiteSpace(SelectedEventFilter))
{
return;
}
foreach (var t in AvailableTournaments
.Where(t => t.EndsWith($" @ {SelectedEventFilter}"))
.Where(t => string.IsNullOrWhiteSpace(TournamentFilterSearch) || t.ToLower().Contains(TournamentFilterSearch.ToLower())))
{
_filteredTournaments.Add(t);
}
+2 -2
View File
@@ -83,7 +83,7 @@
<!-- Tournament Filter Dropdown -->
<Panel Name="TournamentFilterPanel">
<ToggleButton Name="TournamentFilterToggle" HorizontalContentAlignment="Left" HorizontalAlignment="Stretch" Padding="8,6"
IsChecked="{Binding IsTournamentDropdownOpen}">
IsChecked="{Binding IsTournamentDropdownOpen}" IsEnabled="{Binding IsTournamentFilterEnabled}">
<ToggleButton.Template>
<ControlTemplate TargetType="ToggleButton">
<Border Background="{TemplateBinding Background}" BorderBrush="Gray" BorderThickness="1" CornerRadius="4">
@@ -94,7 +94,7 @@
<ToggleButton.Content>
<Panel>
<TextBlock Text="{Binding SelectedTournamentFilter, Mode=OneWay}"/>
<TextBlock Text="Filter by tournament..." Foreground="Gray" IsVisible="{Binding SelectedTournamentFilter, Converter={x:Static ObjectConverters.IsNull}}"/>
<TextBlock Text="Select an event first..." Foreground="Gray" IsVisible="{Binding SelectedTournamentFilter, Converter={x:Static ObjectConverters.IsNull}}"/>
</Panel>
</ToggleButton.Content>
</ToggleButton>