2023-01-25 22:45:36 +00:00
|
|
|
@using System.ComponentModel.DataAnnotations
|
|
|
|
@using ImageBoardServerApp.Data.Repository
|
|
|
|
|
|
|
|
@inject NavigationManager NavigationManager
|
|
|
|
|
|
|
|
<div>
|
|
|
|
<span>[</span>
|
|
|
|
<a class="toggleOpened" onclick="@ToggleOpened">@toggleText</a>
|
|
|
|
<span>]</span>
|
|
|
|
</div>
|
|
|
|
@if (opened)
|
|
|
|
{
|
|
|
|
<div class="pd centered">
|
2023-01-26 08:07:25 +00:00
|
|
|
<span>Comment on @post.Title in /@post.Board/</span>
|
2023-01-25 22:45:36 +00:00
|
|
|
|
|
|
|
<div class="pd centered marg">
|
|
|
|
<RadzenTextBox Placeholder="Username (Anonymous)" MaxLength="15" Change=@(args => OnChange(args, "username")) Class="w-100"/>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="pd centered marg">
|
|
|
|
<RadzenTextArea Placeholder="Comment..." @bind-Value="@postContent" Cols="30" Rows="6" Change=@(args => OnChange(args, "Content")) Class="w-100"/>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="pd centered marg">
|
2023-01-26 08:07:25 +00:00
|
|
|
<InputFile OnChange="@SingleUpload" type="file" accept="image/*"/>
|
2023-01-25 22:45:36 +00:00
|
|
|
<RadzenButton class="pd" Click="@onPostClick" Text="Comment!"></RadzenButton>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@code {
|
|
|
|
|
|
|
|
private bool opened = false;
|
|
|
|
|
|
|
|
private string toggleText = "Open Comment Formula";
|
|
|
|
|
|
|
|
private void ToggleOpened()
|
|
|
|
{
|
|
|
|
opened = !opened;
|
|
|
|
toggleText = opened ? "Close Comment Formula" : "Open Comment Formula";
|
|
|
|
}
|
|
|
|
|
|
|
|
[Parameter]
|
|
|
|
[Required]
|
|
|
|
public PostData post { get; set; }
|
|
|
|
|
|
|
|
string postUsername = "Anonymous";
|
|
|
|
string postContent = "";
|
|
|
|
|
|
|
|
void OnChange(string value, string name)
|
|
|
|
{
|
|
|
|
switch (name)
|
|
|
|
{
|
|
|
|
case "username":
|
|
|
|
postUsername = value;
|
|
|
|
if (value == "")
|
|
|
|
{
|
|
|
|
postUsername = "Anonymous";
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case "content":
|
|
|
|
postContent = value;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
Console.WriteLine("not found.");
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
Console.WriteLine($"Smth changed!: {value}");
|
|
|
|
}
|
2023-01-26 08:07:25 +00:00
|
|
|
|
|
|
|
private async Task SingleUpload(InputFileChangeEventArgs e)
|
|
|
|
{
|
|
|
|
MemoryStream ms = new MemoryStream();
|
|
|
|
await e.File.OpenReadStream().CopyToAsync(ms);
|
|
|
|
var bytes = ms.ToArray();
|
|
|
|
image = bytes;
|
|
|
|
Console.WriteLine("File has been selected!");
|
|
|
|
ms.Close();
|
|
|
|
}
|
|
|
|
|
|
|
|
private Byte[] image;
|
2023-01-25 22:45:36 +00:00
|
|
|
|
|
|
|
private async Task onPostClick()
|
|
|
|
{
|
|
|
|
var userToCreate = new UserData
|
|
|
|
{
|
|
|
|
Ipv4Address = "192.168.178.101",
|
|
|
|
Banned = false,
|
|
|
|
lastActionTimeStamp = DateTime.Now.Millisecond
|
|
|
|
};
|
|
|
|
int userID = await UsersRepository.createUserAsync(userToCreate);
|
2023-01-26 08:07:25 +00:00
|
|
|
|
|
|
|
bool hasImage = false;
|
|
|
|
CommentData commentToCreate;
|
|
|
|
if (hasImage)
|
2023-01-25 22:45:36 +00:00
|
|
|
{
|
2023-01-26 08:07:25 +00:00
|
|
|
var imageToUpload = new ImageData
|
|
|
|
{
|
|
|
|
Board = post.Board,
|
|
|
|
Image = image
|
|
|
|
};
|
|
|
|
int imageID = await ImagesRepository.createImageAsync(imageToUpload);
|
|
|
|
commentToCreate = new CommentData()
|
|
|
|
{
|
|
|
|
PostID = post.PostID,
|
|
|
|
UserID = userID,
|
|
|
|
ImageID = imageID,
|
|
|
|
Content = postContent,
|
|
|
|
Username = postUsername,
|
|
|
|
Board = post.Board,
|
|
|
|
CreatedAt = DateTimeOffset.Now.ToUnixTimeMilliseconds()
|
|
|
|
/*
|
2023-01-25 22:45:36 +00:00
|
|
|
UserID = userID,
|
|
|
|
Post = post,
|
|
|
|
Username = postUsername,
|
|
|
|
Content = postContent,
|
|
|
|
CreatedAt = DateTimeOffset.Now.ToUnixTimeMilliseconds(),
|
|
|
|
Board = post.Board
|
|
|
|
*/
|
2023-01-26 08:07:25 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
commentToCreate = new CommentData()
|
|
|
|
{
|
|
|
|
PostID = post.PostID,
|
|
|
|
UserID = userID,
|
|
|
|
Content = postContent,
|
|
|
|
Username = postUsername,
|
|
|
|
Board = post.Board,
|
|
|
|
CreatedAt = DateTimeOffset.Now.ToUnixTimeMilliseconds()
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2023-01-25 22:45:36 +00:00
|
|
|
int commentId = await CommentsRepository.createCommentAsync(commentToCreate);
|
|
|
|
if (commentId == -1)
|
|
|
|
{
|
|
|
|
//Open comment unsucessfull
|
|
|
|
NavigationManager.NavigateTo("/UnSuccessfulPost");
|
|
|
|
Console.WriteLine("Shit sucks and did not work.");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
//comment successfull
|
|
|
|
Console.WriteLine("Post created");
|
|
|
|
}
|
|
|
|
}
|