diff --git a/PlotLine/Services/CoreServices.cs b/PlotLine/Services/CoreServices.cs index 65a5790..99bad47 100644 --- a/PlotLine/Services/CoreServices.cs +++ b/PlotLine/Services/CoreServices.cs @@ -406,7 +406,7 @@ public sealed class ProjectService( var projectBooks = await books.ListByProjectAsync(projectId); var metrics = await projects.GetDashboardMetricsAsync(projectId); - var recentActivity = await projectActivity.ListRecentForProjectAsync(projectId, 10); + var recentActivity = await projectActivity.ListRecentForProjectAsync(projectId, 5); var dashboardWarnings = await warnings.ListDashboardUnresolvedAsync(projectId, 5); var attentionThreads = await projects.ListDashboardAttentionThreadsAsync(projectId, 5); var writingPlans = await writingSchedule.GetWritingPlanSummariesByUserAsync(userId, projectId); diff --git a/PlotLine/Views/Projects/Details.cshtml b/PlotLine/Views/Projects/Details.cshtml index 86fe652..cccb4de 100644 --- a/PlotLine/Views/Projects/Details.cshtml +++ b/PlotLine/Views/Projects/Details.cshtml @@ -86,7 +86,84 @@ -
+
+
+

Books

+ Add book +
+ + @if (!Model.Books.Any()) + { +
+

No books yet

+

Add the first book to begin shaping this series.

+
+ } + else + { +
+ @foreach (var book in Model.Books) + { +
+
+
+
+ Cover for @book.BookTitle +
+
+
+
+
+

Book @book.BookNumber

+

+ @book.BookTitle +

+ @if (!string.IsNullOrWhiteSpace(book.Subtitle)) + { +

@book.Subtitle

+ } +
+ @book.Status +
+ +

@book.WordCountLabel

+ @if (book.ProgressPercentage.HasValue) + { + var progressValue = Math.Round(book.ProgressPercentage.Value); +
+
+
+ } + +
+ @book.ChapterCount.ToString("N0") chapters + @book.SceneCount.ToString("N0") scenes + Modified @book.UpdatedDate.ToString("dd MMM yyyy") +
+ +
+ Open Book + Edit Book +
+ + + +
+
+
+
+
+
+
+ } +
+ } +
+ +
@@ -220,80 +297,3 @@
- -
-
-

Books

- Add book -
- - @if (!Model.Books.Any()) - { -
-

No books yet

-

Add the first book to begin shaping this series.

-
- } - else - { -
- @foreach (var book in Model.Books) - { -
-
-
-
- Cover for @book.BookTitle -
-
-
-
-
-

Book @book.BookNumber

-

- @book.BookTitle -

- @if (!string.IsNullOrWhiteSpace(book.Subtitle)) - { -

@book.Subtitle

- } -
- @book.Status -
- -

@book.WordCountLabel

- @if (book.ProgressPercentage.HasValue) - { - var progressValue = Math.Round(book.ProgressPercentage.Value); -
-
-
- } - -
- @book.ChapterCount.ToString("N0") chapters - @book.SceneCount.ToString("N0") scenes - Modified @book.UpdatedDate.ToString("dd MMM yyyy") -
- -
- Open Book - Edit Book -
- - - -
-
-
-
-
-
-
- } -
- } -
diff --git a/PlotLine/wwwroot/uploads/books/21/cover-standard.webp b/PlotLine/wwwroot/uploads/books/21/cover-standard.webp new file mode 100644 index 0000000..2e2c856 Binary files /dev/null and b/PlotLine/wwwroot/uploads/books/21/cover-standard.webp differ diff --git a/PlotLine/wwwroot/uploads/books/21/cover-thumb.webp b/PlotLine/wwwroot/uploads/books/21/cover-thumb.webp new file mode 100644 index 0000000..eb005ea Binary files /dev/null and b/PlotLine/wwwroot/uploads/books/21/cover-thumb.webp differ