diff --git a/.gitignore b/.gitignore
index 9491a2f..9d1a5b6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -360,4 +360,6 @@ MigrationBackup/
.ionide/
# Fody - auto-generated XML schema
-FodyWeavers.xsd
\ No newline at end of file
+FodyWeavers.xsd
+/.idea/.idea.decePubClient/.idea
+/.idea/config
diff --git a/App.razor b/App.razor
index 6fd3ed1..81a7df9 100644
--- a/App.razor
+++ b/App.razor
@@ -1,12 +1,27 @@
- Sorry, there's nothing at this address. You are not authorized to access this resource. Sorry, there's nothing at this address.
+ + + @Message.User.DisplayName + + + @Message.User.UserName + + + + + @Message.CreatedAt.GetPassedTime(CascadingState.Localizer) + + + + +
+ @if (Message.Title is { Length: > 0 }) + { +@Message.Title
+ } + + @if (Message.Content is { Length: > 0 }) + { ++ @media.FileName +
++ @media.ContentType +
++ . + . + . + @CascadingState.Localizer["loading"] + . + . + . +
+ +@code { + [CascadingParameter] CascadingState CascadingState { get; set; } +} \ No newline at end of file diff --git a/Components/MessageUpsertForm.razor b/Components/MessageUpsertForm.razor index 16fabcd..72cf9a1 100644 --- a/Components/MessageUpsertForm.razor +++ b/Components/MessageUpsertForm.razor @@ -1,7 +1,430 @@ -@((MarkupString)MessageForm.Content)
+ break; + } ++ @media.FileName +
++ @media.ContentType @media.Size.GetFileSize(CascadingState.Localizer) +
++ @media.FileName +
++ @media.ContentType @media.Size.GetFileSize(CascadingState.Localizer) +
++ @media.FileName +
++ @media.ContentType @media.Size.GetFileSize(CascadingState.Localizer) +
+ +Current count: @currentCount
- - - -@code { - private int currentCount = 0; - - private void IncrementCount() - { - currentCount++; - } -} diff --git a/Pages/ExpandMessage.razor b/Pages/ExpandMessage.razor index c0078e9..333c82e 100644 --- a/Pages/ExpandMessage.razor +++ b/Pages/ExpandMessage.razor @@ -1,42 +1,207 @@ -@page "/expand/{messageId}" -esempio di messaggio precedente a quello espanso
", + Medias = new(), + CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)), + IsFavourite = Random.Shared.Next() % 2 == 0, + IsBoosted = Random.Shared.Next() % 2 == 0, + } + }; + + Descendants = new Listesempio di messaggio successivo a quello espanso
", + Medias = new(), + CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)), + IsFavourite = Random.Shared.Next() % 2 == 0, + IsBoosted = Random.Shared.Next() % 2 == 0, + } + }; + IsLoading = false; } -} + + void OnTimeSortingChanged(TimeSortingType timeSortingType) + { + TimeSortingType = timeSortingType; + } + + async Task OnMessageReply(MessageForm messageForm) + { + await Task.Run(() => + { + }); + var replyMessage = await MessagesService.SubmitMessage(messageForm); + Descendants.Add(new() + { + MessageId = Guid.NewGuid().ToString(), + Content = messageForm.Content?.ParseContent(messageForm.ContentType), + CreatedAt = DateTime.UtcNow, + MessageType = messageForm.MessageType, + Medias = messageForm.Media.Select(m => new Media + { + FileName = m.FileName, + AltText = m.AltText, + ContentType = m.ContentType, + Url = m.Base64Preview, + Blob = m.Blob + }).ToList(), + Title = messageForm.Title, + User = new MessageUser + { + UserId = CascadingState.User.Id, + UserName = CascadingState.User.UserName, + DisplayName = CascadingState.User.DisplayName, + PictureUrl = CascadingState.User.PictureUrl, + ProfileUrl = CascadingState.User.ProfileUrl, + BackgroundUrl = CascadingState.User.BackgroundUrl + }, + }); + } + + async ValueTask OnMessageBoost(Message message) + { + await Task.Run(() => + { + }); + message.IsBoosted = !message.IsBoosted; + var boostedMessage = await MessagesService.BoostUnboostMessage(message); + } + + async ValueTask OnMessageFavourite(Message message) + { + await Task.Run(() => + { + }); + message.IsFavourite = !message.IsFavourite; + var favouriteMessage = await MessagesService.FavouriteUnfavouriteMessage(message); + } + + async ValueTask OnMessageDelete(Message message) + { + await Task.Run(() => + { + }); + var deleteResult = await MessagesService.DeleteMessage(message); + } + + async ValueTask OnMessageMediaDownload(Media media) + { + await Task.Run(() => + { + }); + await BlazorDownloadFileService.DownloadFileAsync(media.FileName, media.Blob, media.ContentType); + } + + async ValueTask OnUserBlock(MessageUser messageUser) + { + await Task.Run(() => + { + }); + var blockResult = await MessagesService.BlockUserFromMessage(messageUser); + } + + async ValueTask OnUserDirectMessage(Message message) + { + await Task.Run(() => + { + }); + var directMessage = await MessagesService.ReplyMessage(message, MessageType.Direct); + } + + async ValueTask OnUserSilence(MessageUser messageUser) + { + await Task.Run(() => + { + }); + var silenceResult = await MessagesService.SilenceUserFromMessage(messageUser); + } +} \ No newline at end of file diff --git a/Pages/FetchData.razor b/Pages/FetchData.razor deleted file mode 100644 index 7d004a5..0000000 --- a/Pages/FetchData.razor +++ /dev/null @@ -1,57 +0,0 @@ -@page "/fetchdata" -@inject HttpClient Http - -This component demonstrates fetching data from the server.
- -@if (forecasts == null) -{ -Loading...
-} -else -{ -Date | -Temp. (C) | -Temp. (F) | -Summary | -
---|---|---|---|
@forecast.Date.ToShortDateString() | -@forecast.TemperatureC | -@forecast.TemperatureF | -@forecast.Summary | -
+ @CascadingState.Localizer["Empty"] +
+ } -+ @CascadingState.Localizer["General"] +
++ @CascadingState.Localizer["Empty"] +
++ @CascadingState.Localizer["Profile"] +
++ @CascadingState.Localizer["Empty"] +
++ @CascadingState.Localizer["Data import/export"] +
++ @CascadingState.Localizer["Empty"] +
++ @CascadingState.Localizer["Mutes/Blocks"] +
++ @CascadingState.Localizer["Empty"] +
+