@namespace MenuProject.Modals @inherits MenuProject.Modals.BaseModal @using MenuProject.MenuUI.Components @using Sandbox; @using Sandbox.UI; @using Menu; @using System; @if (Org is null) return;
@Org.Title
SetType("game")) title="Games" icon="sports_esports" /> SetType("map")) title="Maps" icon="map" />
@code { internal static OrganizationModal LastOpened; public Package.Organization Org { get; set; } int packageCount = 0; string type = "game"; TextEntry SearchEntry = default; List SelectedTags = new(); void OnPackageSelected(Package package) { package.OpenModal(); } protected override void OnParametersSet() { LastOpened = this; } void SetType(string newType) { type = newType; } void ToggleTag ( string tag ) { if ( SelectedTags.Contains( tag ) ) { SelectedTags.Remove( tag ); } else { SelectedTags.Add( tag ); } } string CurrentQuery { get { if ( Org == null ) return ""; var query = $"org:{Org.Ident} type:{type} " + ( SearchEntry?.Text ?? "" ); if ( SelectedTags.Count == 0 ) return query; foreach ( var tag in SelectedTags ) { query += $" +{tag}"; } return query; } } protected override int BuildHash () { return HashCode.Combine( CurrentQuery, packageCount, SearchEntry?.Text ); } }