feat: added Board adding, editing and removing

This commit is contained in:
limited_dev 2023-03-11 02:50:07 +01:00
parent 9bdad9e48d
commit b595ce2909
15 changed files with 222 additions and 11 deletions

View file

@ -0,0 +1,45 @@
@page "/sys/modmenu/boards"
@using ImageBoardServerApp.Data.Repository
<AuthorizeView Roles="Admin">
<Authorized>
<h3>Boards</h3>
<span>Tag / Topic / Max Threads / GETs / Locked?</span>
<br/>
<hr/>
@foreach (var b in brds)
{
<a href="/@b.Tag">@b.Tag</a>
<span> / @b.Topic / @b.maxThreads / @b.NumberOfGETs / @b.isLocked / </span>
<a href="/sys/modmenu/boards/edit/@b.Tag">Edit Board</a>
<span> / </span>
<a @onclick="() => removeBoard(b)" href="javascript:void(0)">Delete Board</a>
<br/>
<hr/>
}
<BoardForm/>
</Authorized>
<NotAuthorized>
<DeadLink/>
</NotAuthorized>
</AuthorizeView>
@code {
public List<BoardData> brds { get; set; }
protected override async Task OnParametersSetAsync()
{
await base.OnParametersSetAsync();
brds = await BoardsRepository.getBoardsAsync();
}
private async Task removeBoard(BoardData b)
{
List<PostData> postsOnB = await PostsRepository.getPostsByBoardAsync(b.Tag);
foreach (var p in postsOnB)
{
await TheManager.deleteThread(p);
}
await BoardsRepository.deleteBoardAsync(b.BoardID);
}
}

View file

@ -0,0 +1,29 @@
@page "/sys/modmenu/boards/edit/{Tag}"
@using ImageBoardServerApp.Data.Repository
<AuthorizeView Roles="Admin">
<Authorized>
<BoardForm Tag="@b.Tag" Topic="@b.Topic" maxThread="@mxThr" lockBoard="@b.isLocked"/>
</Authorized>
<NotAuthorized>
<DeadLink/>
</NotAuthorized>
</AuthorizeView>
@code {
[Parameter]
public string Tag { get; set; }
public string mxThr { get; set; }
public BoardData b { get; set; }
protected override async Task OnParametersSetAsync()
{
await base.OnParametersSetAsync();
b = await BoardsRepository.getBoardByTagAsync(Tag);
if (b == null)
return;
mxThr = b.maxThreads + "";
}
}

View file

@ -8,8 +8,9 @@
<h3>ModMenu</h3>
<span>Welcome @mail to the mod menu</span>
<div>
<a href="/sys/reports">[Reports]</a>
<a href="/sys/users">[Users]</a>
<a href="/sys/modmenu/reports">[Reports]</a>
<a href="/sys/modmenu/users">[Users]</a>
<a href="/sys/modmenu/boards">[Boards]</a>
</div>
</Authorized>
<NotAuthorized>

View file

@ -1,4 +1,4 @@
@page "/sys/reports"
@page "/sys/modmenu/reports"
@using ImageBoardServerApp.Data.Repository
<AuthorizeView Roles="Admin,Mod">
<Authorized>

View file

@ -1,4 +1,4 @@
@page "/sys/users"
@page "/sys/modmenu/users"
@using ImageBoardServerApp.Data.Repository
<AuthorizeView Roles="Admin">
<Authorized>