reorganized Raid pages

This commit is contained in:
Sarah Faey 2022-11-16 22:23:53 +01:00
parent f40903851e
commit d0ff8251a2
16 changed files with 174 additions and 53 deletions

View file

@ -0,0 +1,71 @@
@using Lieb.Data
@using Lieb.Models
@using Lieb.Models.GuildWars2.Raid
@using SharedClasses.SharedModels
<p>
<label>
Discord Messages:
</label>
<button type=button @onclick="() => AddDiscordMessageClicked()">Add message</button>
<table>
<tr>
<th>Server</th>
<th>Channel</th>
</tr>
@foreach( DiscordRaidMessage message in _raid.DiscordRaidMessages)
{
bool disableEdit = message.DiscordRaidMessageId != 0;
<tr>
<td>
<InputSelect @bind-Value="message.DiscordGuildId" disabled="@disableEdit">
@foreach(DiscordServer item in _discordServers)
{
<option value="@item.Id">@item.Name</option>
}
</InputSelect>
</td>
<td>
<InputSelect @bind-Value="message.DiscordChannelId" disabled="@disableEdit">
@if(message.DiscordGuildId > 0)
{
List<DiscordChannel> channels = _discordServers.Where(s => s.Id == message.DiscordGuildId).FirstOrDefault(new DiscordServer()).Channels;
@foreach(DiscordChannel item in channels)
{
<option value="@item.Id">@item.Name</option>
}
}
</InputSelect>
</td>
<td><button type=button @onclick="() => DeleteMessageClicked(message)">Delete</button></td>
</tr>
}
</table>
</p>
@code {
[Parameter]
public Raid _raid { get; set; }
[Parameter]
public List<DiscordServer> _discordServers {get; set; }
[Parameter]
public List<DiscordRaidMessage> _messagesToDelete {get; set; }
async Task AddDiscordMessageClicked()
{
_raid.DiscordRaidMessages.Add(new DiscordRaidMessage());
}
async Task DeleteMessageClicked(DiscordRaidMessage message)
{
if(message.DiscordRaidMessageId != 0)
{
_messagesToDelete.Add(message);
}
_raid.DiscordRaidMessages.Remove(message);
}
}

View file

@ -145,45 +145,9 @@
</p>
}
<p>
<label>
Discord Messages:
</label>
<button type=button @onclick="() => AddDiscordMessageClicked()">Add message</button>
<table>
<tr>
<th>Server</th>
<th>Channel</th>
</tr>
@foreach( DiscordRaidMessage message in _raid.DiscordRaidMessages)
{
bool disableEdit = message.DiscordRaidMessageId != 0;
<tr>
<td>
<InputSelect @bind-Value="message.DiscordGuildId" disabled="@disableEdit">
@foreach(DiscordServer item in _discordServers)
{
<option value="@item.Id">@item.Name</option>
}
</InputSelect>
</td>
<td>
<InputSelect @bind-Value="message.DiscordChannelId" disabled="@disableEdit">
@if(message.DiscordGuildId > 0)
{
List<DiscordChannel> channels = _discordServers.Where(s => s.Id == message.DiscordGuildId).FirstOrDefault(new DiscordServer()).Channels;
@foreach(DiscordChannel item in channels)
{
<option value="@item.Id">@item.Name</option>
}
}
</InputSelect>
</td>
<td><button type=button @onclick="() => DeleteMessageClicked(message)">Delete</button></td>
</tr>
}
</table>
</p>
<DiscordMessageEdit _raid=@_raid _discordServers=@_discordServers _messagesToDelete=@_messagesToDelete ></DiscordMessageEdit>
<ReminderEdit _raid=@_raid _discordServers=@_discordServers _remindersToDelete=@_remindersToDelete ></ReminderEdit>
<ValidationSummary />
<label class="validation-message" >@_errorMessage</label>
@ -270,20 +234,6 @@
}
_raid.Roles.Remove(role);
}
async Task AddDiscordMessageClicked()
{
_raid.DiscordRaidMessages.Add(new DiscordRaidMessage());
}
async Task DeleteMessageClicked(DiscordRaidMessage message)
{
if(message.DiscordRaidMessageId != 0)
{
_messagesToDelete.Add(message);
}
_raid.DiscordRaidMessages.Remove(message);
}
async Task DeleteRaidClicked()
{

View file

@ -0,0 +1,100 @@
@using Lieb.Data
@using Lieb.Models
@using Lieb.Models.GuildWars2.Raid
@using SharedClasses.SharedModels
<p>
<label>
Raid Reminders:
</label>
<button type=button @onclick="() => AddReminderClicked()">Add reminder</button>
<table>
<tr>
<th>Time</th>
<th>Type</th>
@if(_raid.Reminders.Where(r => r.Type == RaidReminder.ReminderType.Channel).Any())
{
<th>Server</th>
<th>Channel</th>
}
else
{
<th></th>
<th></th>
}
<th>Message</th>
</tr>
@foreach( RaidReminder reminder in _raid.Reminders)
{
bool hidden = reminder.Type == RaidReminder.ReminderType.User;
<tr>
<td>
TODO: Time
</td>
<td>
<InputSelect @bind-Value="reminder.Type">
@foreach(RaidReminder.ReminderType type in Enum.GetValues(typeof(RaidReminder.ReminderType)))
{
<option value="@type">@type.ToString()</option>
}
</InputSelect>
</td>
<td>
<InputSelect @bind-Value="reminder.DiscordServerId" hidden="@hidden">
@foreach(DiscordServer item in _discordServers)
{
<option value="@item.Id">@item.Name</option>
}
</InputSelect>
</td>
<td>
<InputSelect @bind-Value="reminder.DiscordChannelId" hidden="@hidden">
@if(reminder.DiscordServerId > 0)
{
List<DiscordChannel> channels = _discordServers.Where(s => s.Id == reminder.DiscordServerId).FirstOrDefault(new DiscordServer()).Channels;
@foreach(DiscordChannel item in channels)
{
<option value="@item.Id">@item.Name</option>
}
}
</InputSelect>
</td>
<td>
<InputText @bind-Value="reminder.Message" />
</td>
<td><button type=button @onclick="() => DeleteReminderClicked(reminder)">Delete</button></td>
</tr>
}
</table>
</p>
@code {
[Parameter]
public Raid _raid { get; set; }
[Parameter]
public List<DiscordServer> _discordServers {get; set; }
[Parameter]
public List<RaidReminder> _remindersToDelete {get; set; }
async Task AddReminderClicked()
{
_raid.Reminders.Add(new RaidReminder()
{
RaidId = _raid.RaidId,
Type = RaidReminder.ReminderType.User
});
}
async Task DeleteReminderClicked(RaidReminder reminder)
{
if(reminder.RaidReminderId != 0)
{
_remindersToDelete.Add(reminder);
}
_raid.Reminders.Remove(reminder);
}
}