@using System; @using Sandbox; @using Sandbox.UI; @namespace Sandbox.Menu @inherits Panel
close
@Package.Title
@Package.Org.Title
favorite
thumb_up
thumb_down
reviews
@code { [Parameter, EditorRequired] public Package Package { get; set; } RealTimeUntil timeUntilClose = 4; Panel _closeProgress = default; protected override void OnMouseOver(MousePanelEvent e) { timeUntilClose = 10; } public override void Tick() { base.Tick(); if ( _closeProgress is not null ) { _closeProgress.Style.Width = Length.Fraction( ((float)timeUntilClose.Relative) / 4.0f ); _closeProgress.Style.Dirty(); } if (timeUntilClose < 0) { Delete(); } } void OpenModal() { Game.Overlay.ShowGameModal(Package.FullIdent); Close(); } void Close() { Delete(); } void LeaveReview() { Game.Overlay.ShowReviewModal(Package); Close(); } bool IsFavourite => Package.Interaction.Favourite; async void VoteUp() { await Package.SetVoteAsync(true); StateHasChanged(); } async void VoteDown() { await Package.SetVoteAsync(false); StateHasChanged(); } async void ToggleFavourite() { await Package.SetFavouriteAsync(!IsFavourite); StateHasChanged(); } }