yavsc/Yavsc/Views/Blogspot/Index.cshtml

125 lines
4.0 KiB
Plaintext

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

@model IEnumerable<IGrouping<string,BlogPost>>
@{
ViewData["Title"] = "Blogs, l'index";
}
@section header {
<style>
.collapsed {
height: 1em;
}
.sametitlegrip {
text-decoration: underline;
cursor: pointer;
}
.sametitle {
overflow: hidden;
transition: height 1s;
}
td {
transition: height 1s;
}
div.row {
border-bottom: dashed black 1px;
}
</style>
}
@section scripts {
<script>
$(document).ready(function () {
$(".sametitle").addClass("collapsed")
.on("mouseover",function(){
$(this).removeClass("collapsed")
}).on("mouseout",function(){
$(this).addClass("collapsed")
});
}
)
</script>
}
<h2>@ViewData["Title"]</h2>
<p class="text-success">@ViewData["StatusMessage"]</p>
@if (User.IsSignedIn()) {
<label>
<input type="checkbox" id="cbv" checked/>Invisibles, posts privés</label>
<script>
$("#cbv").change(function() {
if (this.checked) {
$("tr.hiddenpost").removeClass("hidden");
} else {
$("tr.hiddenpost").addClass("hidden");
}
});
</script>
<p>
<a asp-action="Create">@SR["Create a new article"]</a>
</p>
}
<div class="container">
@foreach (var group in Model) {
var title = group.Key;
string secondclass="";
var first = group.First();
string trclass = (first.Visible) ? "visiblepost" : "hiddenpost";
<div class="row @trclass">
<div class="col-xs-10">
<a asp-action="Title" asp-route-id="@title" >
<h3 markdown="@first.Title"></h3>
@if (first.Photo==null) { }
else {<img src="@first.Photo" class="blogphoto" alt="@first.Title">}
</a>
<div class="smalltext" markdown="@((first.Content?.Length > 256) ? first.Content.Substring(0, 256) + "..." : first.Content)"></div>
<div class="smalltext"> @first.Author.UserName ,
(posté le @first.DateCreated.ToString("dddd d MMM yyyy à H:mm")
@if ((first.DateModified - first.DateCreated).Minutes > 0){ 
@:- Modifié le @first.DateModified.ToString("dddd d MMM yyyy à H:mm",System.Globalization.CultureInfo.CurrentUICulture)
})</div>
</div>
<div class="col-xs-2">
<ul class="actiongroup">
@if (await AuthorizationService.AuthorizeAsync(User, first, new ViewRequirement())) {
<li>
<a asp-action="Details" asp-route-id="@first.Id" class="btn btn-lg">Details</a>
</li>
}
@if (await AuthorizationService.AuthorizeAsync(User, first, new EditRequirement())) {
<li><a asp-action="Edit" asp-route-id="@first.Id" class="btn btn-default">@SR["Edit"]</a>
</li>
<li><a asp-action="Delete" asp-route-id="@first.Id" class="btn btn-danger">@SR["Delete"]</a>
</li>
}
</ul>
</div>
</div>
long gcount = group.Count();
@if (gcount>1) {
<div class="sametitle">
<div class="sametitlegrip">@(gcount-1) autre@(gcount>2?"s":"") au même titre:</div>
@foreach (var item in group.Skip(1)) {
trclass = ((item.Visible)?"visiblepost":"hiddenpost");
<div class="row @trclass">
<div class="col-xs-10">
<markdown>
@((item.Content?.Length > 120) ? item.Content.Substring(0, 120) + "..." : item.Content)
</markdown>
</div>
<div class="col-xs-2">
<a asp-action="Details" asp-route-id="@item.Id" class="btn btn-lg">
le @item.DateModified.ToString("dddd d MMM yyyy à H:mm",System.Globalization.CultureInfo.CurrentUICulture)
</a>
</div>
</div>
}
</div>
}
}
</div>