LANCommander/LANCommander.Launcher/UI/Library/Components/LibraryListItem.razor
Pat Hartl 9ba9887eb1 Rename project files, namespaces, artifacts
Client has been renamed to launcher, and thus namespaces and artifact names had to change. The server project has also had some artifacts renamed in order to create a more clear separation of builds. This will break auto-updates before v0.9.0.
2024-08-04 17:53:19 -05:00

37 lines
1.1 KiB
Text

@using LANCommander.Launcher.Models
<Dropdown Trigger="new Trigger[] { Trigger.ContextMenu }" Style="display: block; width: 100%;">
<Overlay>
<Menu>
<LibraryItemContextMenu Model="Model" />
</Menu>
</Overlay>
<ChildContent>
<ListItem OnClick="OnClick" Class="@GetItemClasses()">
<div class="library-list-icon">
<MediaImage Id="@Model.IconId" />
</div>
<span>@Model.Name</span>
</ListItem>
</ChildContent>
</Dropdown>
@code {
[Parameter] public LibraryItem Model { get; set; }
[Parameter] public EventCallback OnClick { get; set; }
[Parameter] public Guid? SelectedItem { get; set; }
[Parameter] public EventCallback<Guid?> SelectedItemChanged { get; set; }
string GetItemClasses()
{
HashSet<string> classes = new HashSet<string>();
if (Model.State == LibraryItemState.Installed)
classes.Add("installed");
if (SelectedItem == Model.Key)
classes.Add("selected");
return String.Join(" ", classes);
}
}