Skip to content
This repository was archived by the owner on Dec 21, 2023. It is now read-only.

Commit 9de4dd9

Browse files
committed
Improve home page visuals
1 parent 74ed4a9 commit 9de4dd9

4 files changed

Lines changed: 56 additions & 40 deletions

File tree

OpenTabletDriver.Web/Controllers/HomeController.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,14 @@ public HomeController(ILogger<HomeController> logger, IReleaseService releaseSer
2424
this.releaseService = releaseService;
2525
}
2626

27-
private IEnumerable<IRelease> releases;
28-
2927
public const string REPOSITORY_URL = "https://www.github.com/OpenTabletDriver/OpenTabletDriver";
3028
public const string DISCORD_INVITE_URL = "https://discord.gg/9bcMaPkVAR";
3129

3230
[ResponseCache(Duration = 300)]
3331
public async Task<IActionResult> Index()
3432
{
35-
return View(releases ??= await releaseService.GetAllReleases());
33+
var release = await releaseService.GetLatestRelease();
34+
return View(release);
3635
}
3736

3837
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
@using OpenTabletDriver.Web.Core.Contracts
2-
@using OpenTabletDriver.Web.Controllers
3-
@using OpenTabletDriver.Web.Utilities
42

5-
@{
6-
int index = 0;
7-
}
8-
9-
@model IEnumerable<IRelease>
3+
@model IRelease
104

115
<div class="container">
126
<section class="py-5 text-center">
@@ -15,13 +9,10 @@
159
OpenTabletDriver is an open source, cross-platform, low latency, user-mode tablet driver.
1610
</p>
1711
</section>
18-
<div class="row row-cols-sm-1 row-cols-md-2 row-cols-lg-3">
19-
@foreach (IRelease release in Model.Take(3))
20-
{
21-
<div class="col p-2 @(index >= 2 ? "d-md-none d-lg-block" : string.Empty)">
22-
<partial name="Release/_ReleaseCard" model="@release" view-data="@ViewData.With(d => d.Add("Primary", index == 0))"/>
23-
</div>
24-
index++;
25-
}
12+
<div class="row row-cols-sm-1 row-cols-lg-3">
13+
<div class="col d-none d-sm-block"></div>
14+
<div class="col">
15+
<partial name="Release/_ReleaseCard" model="@Model"/>
16+
</div>
2617
</div>
2718
</div>

OpenTabletDriver.Web/Views/Shared/Release/_ReleaseCard.cshtml

Lines changed: 40 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,49 @@
33
@model IRelease
44

55
@{
6-
bool isPrimary = ViewData["Primary"] as bool? ?? false;
7-
string border = isPrimary ? "border-primary" : string.Empty;
8-
string background = isPrimary ? "bg-primary" : "bg-secondary";
9-
string buttonColor = isPrimary ? "btn-primary" : "btn-secondary";
10-
string textColor = isPrimary ? "text-white" : "text-muted";
6+
var color = ViewBag.Color ?? "primary";
7+
var background = $"bg-{color}";
8+
var border = $"border-{color}";
9+
var buttonColor = $"btn-{color}";
10+
var textColor = "text-white";
11+
var imageSize = "70px";
1112
}
1213

13-
<ul class="list-group rounded-3 shadow @border">
14-
<li class="list-group-item py-3 text-center @background @border">
14+
<div class="card shadow rounded-3 @border">
15+
<div class="card-header @background text-center py-3">
1516
<h4 class="my-0 fw-normal">@Model.Tag</h4>
16-
</li>
17-
<li class="list-group-item text-center @border">
18-
<img class="p-1" width="250" style="@(isPrimary ? string.Empty : "opacity:0.4")" src="otd.png"/>
19-
<div class="mt-1 mb-1">
17+
</div>
18+
<div class="card-body">
19+
<div class="text-center">
20+
<img width="250" src="otd.png"/>
21+
</div>
22+
<ol style="list-style: none; display: flex; justify-content:space-between"
23+
class="text-center px-5 pb-3">
24+
<li>
25+
<a class="link-light d-flex flex-column" href="Wiki/Install/Windows">
26+
<img height="@imageSize" src="/images/platform/Windows_logo_-_2012_derivative.svg">
27+
Windows
28+
</a>
29+
</li>
30+
<li>
31+
<a class="link-light d-flex flex-column" href="Wiki/Install/Linux">
32+
<img height="@imageSize" src="/images/platform/TuxFlat.svg">
33+
Linux
34+
</a>
35+
</li>
36+
<li>
37+
<a class="link-light d-flex flex-column" href="Wiki/Install/MacOS">
38+
<img height="@imageSize" src="/images/platform/Apple_Computer_Logo_rainbow.svg">
39+
macOS
40+
</a>
41+
</li>
42+
</ol>
43+
<div class="text-center">
2044
<a role="button" class="btn @buttonColor" href="@Model.Url">View On GitHub</a>
2145
</div>
22-
</li>
23-
@foreach (IReleaseAsset asset in await Model.GetReleaseAssets())
24-
{
25-
<li class="list-group-item text-center d-none d-lg-block @border">
26-
<a class="stretched-link text-muted" href="@asset.Url">@asset.FileName</a>
27-
</li>
28-
}
29-
<li class="list-group-item @background @border">
46+
</div>
47+
<div class="card-footer @background">
3048
<small class="@textColor">Released @Model.Date.ToLocalTime().ToString("MM/dd/yyyy")</small>
31-
</li>
32-
</ul>
49+
50+
</div>
51+
</div>

OpenTabletDriver.Web/Views/Wiki/Install/Linux.cshtml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
1+
@using OpenTabletDriver.Web.Core.Services
2+
3+
@inject IReleaseService releaseService
4+
15
@{
26
ViewBag.Title = "Linux Installation Guide";
7+
var release = await releaseService.GetLatestRelease();
8+
var assets = await release.GetReleaseAssets();
9+
var deb = assets.FirstOrDefault(a => a.FileName == "OpenTabletDriver.deb")!;
310
}
411

512
<h3 class="wiki-nav-item" id="debian">
613
Ubuntu / Debian
714
</h3>
815
<ol>
916
<li>
10-
Download the <a href="https://github.com/OpenTabletDriver/OpenTabletDriver/releases/latest">latest release</a>
17+
Download the <a href="@deb.Url">latest release</a>
1118
<small class="text-muted">(OpenTabletDriver.deb)</small>
1219
</li>
1320
<li>

0 commit comments

Comments
 (0)