@using System.Security.Claims @using Lieb.Data @using Lieb.Models @using Lieb.Models.GuildWars2.Raid @inject UserService UserService @inject RaidService RaidService @inject TimeZoneService TimeZoneService @inject RaidRandomizerService RaidRandomizerService
@_raid.Title
@_raid.Description
Date

@_startTime.DateTime.ToLongDateString()

Time

from: @_startTime.LocalDateTime.ToShortTimeString() to: @_endTime.LocalDateTime.ToShortTimeString()

Organizer

@_raid.Organizer

Guild

@_raid.Guild

Voice chat

@_raid.VoiceChat

@if(_isRaidSignUpAllowed) { if(_raid.RaidType == RaidType.Planned) { } else { } } else { } @if(_raid.RaidType != RaidType.Planned) { } @code { [Parameter] public Raid _raid { get; set; } [Parameter] public LiebUser? _user { get; set; } bool _isRaidSignUpAllowed; string _errorMessage; private DateTimeOffset _startTime; private DateTimeOffset _endTime; private DateTimeOffset _freeForAllTime; protected override async Task OnParametersSetAsync() { _isRaidSignUpAllowed = _user != null && RaidService.IsRaidSignUpAllowed(_user.LiebUserId, _raid.RaidId, out _errorMessage); _startTime = await TimeZoneService.GetLocalDateTime(_raid.StartTimeUTC); _endTime = await TimeZoneService.GetLocalDateTime(_raid.EndTimeUTC); _freeForAllTime = await TimeZoneService.GetLocalDateTime(_raid.FreeForAllTimeUTC); } async Task SignOffClicked() { await RaidService.SignOff(_raid.RaidId, _user.LiebUserId); _raid = RaidService.GetRaid(_raid.RaidId); } async Task RandomizeClicked() { await RaidRandomizerService.RandomizeRaid(_raid.RaidId); _raid = RaidService.GetRaid(_raid.RaidId); } }