diff --git a/Wave/Components/ArticleCard.razor b/Wave/Components/ArticleCard.razor index 3c33e54..45065ec 100644 --- a/Wave/Components/ArticleCard.razor +++ b/Wave/Components/ArticleCard.razor @@ -1,14 +1,43 @@ @using Wave.Data @using Humanizer -
-
- - - -
-
- +@if (HasArticleLink) { + +
+
+ +
+
+

@Article.Title

+ + @Article.PublishDate.ToString("d") + @if (Article.Status is not ArticleStatus.Published) { + @Article.Status.Humanize() + } + +

+ @Article.BodyPlain[..Math.Min(1000, Article.BodyPlain.Length)] +

+ @if (Action is not null) { +
+ @Action(Article) +
+ } else if (Article.Categories.Count > 0) { +
+ @foreach (var category in Article.Categories.OrderBy(c => c.Color)) { + + } +
+ } +
+
+
+} else { +
+
+ +
+

@Article.Title

@Article.PublishDate.ToString("d") @@ -19,24 +48,26 @@

@Article.BodyPlain[..Math.Min(1000, Article.BodyPlain.Length)]

- - @if (Action is not null) { -
- @Action(Article) -
- } else if (Article.Categories.Count > 0) { -
- @foreach (var category in Article.Categories.OrderBy(c => c.Color)) { - - } -
- } -
-
+ @if (Action is not null) { +
+ @Action(Article) +
+ } else if (Article.Categories.Count > 0) { +
+ @foreach (var category in Article.Categories.OrderBy(c => c.Color)) { + + } +
+ } +
+
+} @code { [Parameter] public required Article Article { get; set; } [Parameter] public RenderFragment
? Action { get; set; } + [Parameter] + public bool HasArticleLink { get; set; } = true; } diff --git a/Wave/Components/ArticleCardList.razor b/Wave/Components/ArticleCardList.razor index 69133d7..60beffb 100644 --- a/Wave/Components/ArticleCardList.razor +++ b/Wave/Components/ArticleCardList.razor @@ -5,7 +5,7 @@ } else {
@foreach (var article in Articles.OrderByDescending(a => a.PublishDate)) { - + }
} @@ -15,4 +15,6 @@ public required IList
Articles { get; set; } = []; [Parameter] public RenderFragment
? Action { get; set; } + [Parameter] + public bool HasArticleLink { get; set; } = true; } diff --git a/Wave/Components/CategoryBadgeComponent.razor b/Wave/Components/CategoryBadgeComponent.razor index 4c4aa81..5f80ef6 100644 --- a/Wave/Components/CategoryBadgeComponent.razor +++ b/Wave/Components/CategoryBadgeComponent.razor @@ -3,14 +3,21 @@ @using System.Net - - @Category.Name - +@if (HasCategoryLink) { + + @Category.Name + +} else { + + @Category.Name + +} @code { [Parameter] public required Category Category { get; set; } + [Parameter] + public bool HasCategoryLink { get; set; } = true; [Parameter(CaptureUnmatchedValues = true)] public Dictionary? AdditionalAttributes { get; set; } - } \ No newline at end of file