@model IPagedList<Dpz.Core.Public.ViewModel.Response.PictureRecordResponse>

@{
    // Prepare initial data if we wanted to dump JSON, but we are parsing DOM now.
    // Still good to have data attributes.
    var hasMore = Model.CurrentPageIndex < Model.TotalPageCount;
}

<div class="albums" 
     data-page-index="@Model.CurrentPageIndex" 
     data-page-size="@Model.PageSize"
     data-total-count="@Model.TotalItemCount"
     data-total-pages="@Model.TotalPageCount"
     data-has-more="@hasMore.ToString().ToLower()">

    <div class="albums__header">
        <h1 class="albums__title"><i class="fa fa-camera-retro"></i> 精彩瞬间</h1>
        <p class="albums__subtitle">记录生活,分享感动</p>
        <div class="albums__stats">
            <span>共 @Model.TotalItemCount 张照片</span>
            <span>第 @Model.CurrentPageIndex / @Model.TotalPageCount 页</span>
        </div>
    </div>

    <div class="albums__grid">
        @* 列宽基准元素,Masonry 通过此元素计算列宽,自身不可见 *@
        <div class="albums__grid-sizer"></div>
        @foreach (var picture in Model)
        {
            <div class="albums__item">
                <div class="albums__card">
                    <div class="albums__image-wrapper">
                        <img class="albums__image is-loaded"
                             src="@picture.AccessUrl!albums"
                             data-src-original="@picture.AccessUrl"
                             data-id="@picture.Id"
                             alt="@picture.Description"
                             width="@picture.Width"
                             height="@picture.Height"
                             loading="lazy" />
                        <div class="albums__overlay">
                            <div class="albums__actions">
                                <button class="albums__action-btn" data-action="download" data-url="@picture.AccessUrl" title="下载">
                                    <i class="fa fa-download"></i>
                                </button>
                                <button class="albums__action-btn" data-action="share" data-url="@picture.AccessUrl" title="分享">
                                    <i class="fa fa-share"></i>
                                </button>
                            </div>
                            <div class="albums__info">
                                <div class="albums__desc">@picture.Description</div>
                                <div class="albums__meta">
                                    <div class="albums__meta-row">
                                        <span>@(picture.Creator?.Name ?? "Unknown")</span>
                                        <span>@picture.UploadTime.ToString("yyyy/MM/dd")</span>
                                    </div>
                                    <div class="albums__meta-row">
                                        <span>@picture.Width × @picture.Height</span>
                                        <span>@((picture.Length / 1024.0 / 1024.0).ToString("F2")) MB</span>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        }
    </div>

    <div class="albums__loading">
        <div class="albums__spinner"></div>
    </div>
    
    <div class="albums__no-more" style="display: @(hasMore ? "none" : "block")">
        <p>已经到底啦 ~</p>
    </div>
</div>
评论加载中...