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 = []; private readonly ObservableCollection<string> _filteredTournaments = [];
public ObservableCollection<string> FilteredTournaments => _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 OnEventFilterSearchChanged(string value) => UpdateFilteredEvents();
partial void OnTournamentFilterSearchChanged(string value) => UpdateFilteredTournaments(); partial void OnTournamentFilterSearchChanged(string value) => UpdateFilteredTournaments();
@@ -93,7 +109,14 @@ public partial class TeamsViewModel : ViewModelBase
private void UpdateFilteredTournaments() private void UpdateFilteredTournaments()
{ {
_filteredTournaments.Clear(); _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); _filteredTournaments.Add(t);
} }
+2 -2
View File
@@ -83,7 +83,7 @@
<!-- Tournament Filter Dropdown --> <!-- Tournament Filter Dropdown -->
<Panel Name="TournamentFilterPanel"> <Panel Name="TournamentFilterPanel">
<ToggleButton Name="TournamentFilterToggle" HorizontalContentAlignment="Left" HorizontalAlignment="Stretch" Padding="8,6" <ToggleButton Name="TournamentFilterToggle" HorizontalContentAlignment="Left" HorizontalAlignment="Stretch" Padding="8,6"
IsChecked="{Binding IsTournamentDropdownOpen}"> IsChecked="{Binding IsTournamentDropdownOpen}" IsEnabled="{Binding IsTournamentFilterEnabled}">
<ToggleButton.Template> <ToggleButton.Template>
<ControlTemplate TargetType="ToggleButton"> <ControlTemplate TargetType="ToggleButton">
<Border Background="{TemplateBinding Background}" BorderBrush="Gray" BorderThickness="1" CornerRadius="4"> <Border Background="{TemplateBinding Background}" BorderBrush="Gray" BorderThickness="1" CornerRadius="4">
@@ -94,7 +94,7 @@
<ToggleButton.Content> <ToggleButton.Content>
<Panel> <Panel>
<TextBlock Text="{Binding SelectedTournamentFilter, Mode=OneWay}"/> <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> </Panel>
</ToggleButton.Content> </ToggleButton.Content>
</ToggleButton> </ToggleButton>