101 lines
5.2 KiB
Plaintext
101 lines
5.2 KiB
Plaintext
@model CatherineLynwood.Models.Reviews
|
||
@{
|
||
ViewData["Title"] = "Reader Reviews – The Alpha Flame: Discovery";
|
||
}
|
||
|
||
<div class="container my-5">
|
||
<div class="row">
|
||
<div class="col-12">
|
||
<nav aria-label="breadcrumb">
|
||
<ol class="breadcrumb">
|
||
<li class="breadcrumb-item"><a asp-controller="Home" asp-action="Index">Home</a></li>
|
||
<li class="breadcrumb-item"><a asp-controller="TheAlphaFlame" asp-action="Index">The Alpha Flame</a></li>
|
||
<li class="breadcrumb-item"><a asp-controller="Discovery" asp-action="Index">Discovery</a></li>
|
||
<li class="breadcrumb-item active" aria-current="page">Reviews</li>
|
||
</ol>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
<div class="row justify-content-center">
|
||
<div class="col-lg-10">
|
||
<section class="mb-5 text-center">
|
||
<h1 class="display-5 fw-bold">Reader Reviews</h1>
|
||
<p class="lead">Here’s what readers are saying about <em>The Alpha Flame: Discovery</em>. If you’ve read the book, we’d love for you to share your thoughts too.</p>
|
||
</section>
|
||
|
||
<section class="reader-reviews">
|
||
@if (Model?.Items?.Any() == true)
|
||
{
|
||
foreach (var review in Model.Items)
|
||
{
|
||
var fullStars = (int)Math.Floor(review.RatingValue);
|
||
var hasHalfStar = review.RatingValue - fullStars >= 0.5;
|
||
var emptyStars = 5 - fullStars - (hasHalfStar ? 1 : 0);
|
||
var reviewDate = review.DatePublished.ToString("d MMMM yyyy");
|
||
|
||
<div class="card mb-3">
|
||
<div class="card-body">
|
||
<blockquote class="blockquote ms-3 me-3 mt-3">
|
||
<span class="mb-2 text-warning">
|
||
@for (int i = 0; i < fullStars; i++)
|
||
{
|
||
<i class="fad fa-star"></i>
|
||
}
|
||
@if (hasHalfStar)
|
||
{
|
||
<i class="fad fa-star-half-alt"></i>
|
||
}
|
||
@for (int i = 0; i < emptyStars; i++)
|
||
{
|
||
<i class="fad fa-star" style="--fa-primary-opacity: 0.2; --fa-secondary-opacity: 0.2;"></i>
|
||
}
|
||
</span>
|
||
@Html.Raw(review.ReviewBody)
|
||
<footer class="blockquote-footer mt-2">
|
||
@review.AuthorName on
|
||
<cite title="@review.SiteName">
|
||
@if (string.IsNullOrEmpty(review.URL))
|
||
{
|
||
@review.SiteName
|
||
}
|
||
else
|
||
{
|
||
<a href="@review.URL" target="_blank" rel="noopener">@review.SiteName</a>
|
||
}
|
||
</cite> — <span class="text-muted small">@reviewDate</span>
|
||
</footer>
|
||
</blockquote>
|
||
</div>
|
||
</div>
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
<p class="text-muted text-center">There are no reviews to display yet. Be the first to leave one!</p>
|
||
}
|
||
</section>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
@section Meta{
|
||
<MetaTag meta-title="The Alpha Flame: Discovery by Catherine Lynwood"
|
||
meta-description="A gritty 1980s Birmingham crime novel about twin sisters uncovering dark family secrets and surviving abuse. Realistic, powerful, and unflinching — discover The Alpha Flame today."
|
||
meta-keywords="The Alpha Flame Discovery, Catherine Lynwood, 1983 novel, twin sisters, suspense fiction, Rubery, Birmingham fiction, historical drama, family secrets"
|
||
meta-author="Catherine Lynwood"
|
||
meta-url="https://www.catherinelynwood.com/the-alpha-flame/discovery"
|
||
meta-image="https://www.catherinelynwood.com/images/webp/the-alpha-flame-discovery-cover-1200.webp"
|
||
meta-image-alt="Maggie from 'The Alpha Flame: Discovery' by Catherine Lynwood"
|
||
og-site-name="Catherine Lynwood - The Alpha Flame: Discovery"
|
||
article-published-time="@new DateTime(2024, 11, 20)"
|
||
article-modified-time="@new DateTime(2025, 06, 07)"
|
||
twitter-card-type="summary_large_image"
|
||
twitter-site-handle="@@CathLynwood"
|
||
twitter-creator-handle="@@CathLynwood" />
|
||
|
||
<script type="application/ld+json">
|
||
@Html.Raw(Model.SchemaJsonLd)
|
||
</script>
|
||
|
||
} |