Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 20 additions & 4 deletions Abies.Conduit/Page/Article.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using Abies.Conduit.Routing;
using Abies.DOM;
using System.Collections.Generic;
using Abies.Conduit;
using static Abies.Html.Attributes;
using static Abies.Html.Events;

Expand Down Expand Up @@ -77,7 +78,7 @@ model with
),
Message.SubmitComment => (
model with { SubmittingComment = true },
[]
[ new SubmitCommentCommand(model.Slug.Value, model.CommentInput) ]
),
Message.CommentSubmitted commentSubmitted => (
model with
Expand All @@ -90,14 +91,29 @@ model with
},
[]
),
Message.DeleteComment => (model, []),
Message.DeleteComment delete => (
model,
[ new DeleteCommentCommand(model.Slug.Value, delete.Id) ]
),
Message.CommentDeleted commentDeleted => (
model with
{
model with
{
Comments = model.Comments?.FindAll(c => c.Id != commentDeleted.Id)
},
[]
),
Message.ToggleFavorite => (
model,
model.Article != null ? [ new ToggleFavoriteCommand(model.Article.Slug, model.Article.Favorited) ] : []
),
Message.ToggleFollow => (
model,
model.Article != null ? [ new ToggleFollowCommand(model.Article.Author.Username, model.Article.Author.Following) ] : []
),
Message.DeleteArticle => (
model,
model.Article != null ? [ new DeleteArticleCommand(model.Article.Slug) ] : []
),
_ => (model, [])
};

Expand Down
5 changes: 4 additions & 1 deletion Abies.Conduit/Page/Editor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using Abies.Conduit.Routing;
using Abies.DOM;
using System.Collections.Generic;
using Abies.Conduit;
using static Abies.Html.Attributes;
using static Abies.Html.Events;

Expand Down Expand Up @@ -83,7 +84,9 @@ public static (Model model, IEnumerable<Command> commands) Update(Abies.Message
),
Message.ArticleSubmitted => (
model with { IsSubmitting = true, Errors = null },
[]
model.Slug == null
? [ new CreateArticleCommand(model.Title, model.Description, model.Body, model.TagList ?? new List<string>()) ]
: [ new UpdateArticleCommand(model.Slug, model.Title, model.Description, model.Body) ]
),
Message.ArticleSubmitSuccess slug => (
model with { IsSubmitting = false, Errors = null, Slug = slug.Slug },
Expand Down
5 changes: 4 additions & 1 deletion Abies.Conduit/Page/Profile.cs
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,10 @@ model with
? [new LoadArticlesCommand(favoritedBy: model.UserName.Value)]
: [new LoadArticlesCommand(author: model.UserName.Value)]
),
Message.ToggleFollow => (model, []),
Message.ToggleFollow => (
model,
model.Profile != null ? [ new ToggleFollowCommand(model.UserName.Value, model.Profile.Following) ] : []
),
_ => (model, [])
};

Expand Down
Loading