Day 2 vibes
This commit is contained in:
@@ -5,7 +5,9 @@
|
||||
</div>
|
||||
<main>
|
||||
<article class="content px-4">
|
||||
@Body
|
||||
<TelerikRootComponent>
|
||||
@Body
|
||||
</TelerikRootComponent>
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
@@ -9,7 +9,8 @@ main {
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
|
||||
background-color: var(--bg-sidebar);
|
||||
border-right: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.top-row {
|
||||
@@ -21,20 +22,20 @@ main {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.top-row ::deep a, .top-row ::deep .btn-link {
|
||||
white-space: nowrap;
|
||||
margin-left: 1.5rem;
|
||||
text-decoration: none;
|
||||
}
|
||||
.top-row ::deep a, .top-row ::deep .btn-link {
|
||||
white-space: nowrap;
|
||||
margin-left: 1.5rem;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.top-row ::deep a:first-child {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.top-row ::deep a:first-child {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
@media (max-width: 640.98px) {
|
||||
.top-row {
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
@inject Web.Services.DocsService DocsService
|
||||
@inject DocsService DocsService
|
||||
|
||||
<div class="top-row ps-3 navbar navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="">Web</a>
|
||||
<a class="navbar-brand" href="">
|
||||
<span class="brand-text">Trailblazer</span>
|
||||
</a>
|
||||
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
@@ -16,7 +18,17 @@
|
||||
<span class="bi bi-house-door-fill-nav-menu" aria-hidden="true"></span> Home
|
||||
</NavLink>
|
||||
</div>
|
||||
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="docs/overview">
|
||||
<span class="bi bi-book-nav-menu" aria-hidden="true"></span> Overview
|
||||
</NavLink>
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="gear">
|
||||
<span class="bi bi-tools-nav-menu" aria-hidden="true"></span> Gear
|
||||
</NavLink>
|
||||
</div>
|
||||
|
||||
@if (groupedNotes == null)
|
||||
{
|
||||
<div class="nav-item px-3"><span class="nav-link text-secondary">Loading...</span></div>
|
||||
@@ -53,7 +65,7 @@
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
var index = await DocsService.GetIndexAsync();
|
||||
groupedNotes = (index.Notes ?? new())
|
||||
groupedNotes = (index.Notes ?? new List<NoteInfo>())
|
||||
.GroupBy(n => string.IsNullOrEmpty(n.Category) ? "Uncategorized" : n.Category)
|
||||
.OrderBy(g => g.Key)
|
||||
.Select(g => new NoteGroup { Category = g.Key, Notes = g.OrderBy(n => n.Title).ToList() })
|
||||
@@ -63,6 +75,7 @@
|
||||
private class NoteGroup
|
||||
{
|
||||
public string Category { get; set; } = "";
|
||||
public List<Web.Models.NoteInfo> Notes { get; set; } = new();
|
||||
public List<NoteInfo> Notes { get; set; } = new();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,9 +9,17 @@
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
font-size: 1.1rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.02em;
|
||||
font-family: 'Outfit', sans-serif;
|
||||
font-size: 1.25rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: -0.01em;
|
||||
color: var(--accent) !important;
|
||||
}
|
||||
|
||||
.brand-text {
|
||||
background: linear-gradient(135deg, var(--accent) 0%, var(--primary-light) 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
|
||||
.bi {
|
||||
@@ -37,6 +45,14 @@
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
.bi-book-nav-menu {
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-book' viewBox='0 0 16 16'%3E%3Cpath d='M1 2.828c.885-.37 2.154-.769 4-.388A5 5 0 0 1 8 3.03V13.5a.5.5 0 0 1-.5.5c-1.777 0-3.158-.551-4.21-1.11-.534-.284-.822-.702-1.02-1.106C1.879 11.08 1.5 10.183 1.5 9V3c0-.138.172-.255.5-.172zM2 10.304c.367.214.9.482 1.5.662.6.18 1.174.243 1.5.256V3.881c-.563-.064-1.242-.08-2-.354C2.462 3.267 2.184 3.04 2 2.816v7.488zM7.5 13.5V3.03a5 5 0 0 1 2.5-.59c1.846-.38 3.115-.018 4 .388V2.67c0-.138.328-.255.5-.172.328.083.5.255.5.172v7.5c0 .828-.5 1.5-1.5 1.5s-1.5-.672-1.5-1.5v-5.5a.5.5 0 0 0-1 0v5.5c0 .828-.5 1.5-1.5 1.5s-1.5-.672-1.5-1.5v-.5z'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
.bi-tools-nav-menu {
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-gear' viewBox='0 0 16 16'%3E%3Cpath d='M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z'/%3E%3Cpath d='M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52l-.094-.319zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115l.094-.319z'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
.bi-file-text-nav-menu {
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-file-text' viewBox='0 0 16 16'%3E%3Cpath d='M5 4a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5zm-.5 2.5A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zM5 8a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5zm0 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H5z'/%3E%3Cpath d='M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z'/%3E%3C/svg%3E");
|
||||
}
|
||||
@@ -47,40 +63,42 @@
|
||||
}
|
||||
|
||||
.nav-item ::deep a {
|
||||
color: rgba(255, 255, 255, 0.75);
|
||||
border-radius: 0;
|
||||
height: 2.6rem;
|
||||
color: var(--text-main);
|
||||
border-radius: 8px;
|
||||
height: 2.8rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
line-height: 2.6rem;
|
||||
line-height: 2.8rem;
|
||||
padding: 0 1rem;
|
||||
border-left: 3px solid transparent;
|
||||
transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
|
||||
margin: 0.2rem 0.5rem;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.nav-item ::deep a.active {
|
||||
background-color: rgba(255, 255, 255, 0.12);
|
||||
color: white;
|
||||
border-left-color: rgba(255, 255, 255, 0.7);
|
||||
background-color: var(--primary);
|
||||
color: #fff;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.nav-item ::deep a:hover {
|
||||
background-color: rgba(255, 255, 255, 0.07);
|
||||
color: white;
|
||||
background-color: rgba(255, 255, 255, 0.05);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.nav-item-doc ::deep a {
|
||||
padding-left: 1.75rem !important;
|
||||
font-size: 0.8rem;
|
||||
height: 1.85rem !important;
|
||||
line-height: 1.85rem !important;
|
||||
border-left-color: transparent;
|
||||
padding-left: 2.5rem !important;
|
||||
font-size: 0.85rem;
|
||||
height: 2.2rem !important;
|
||||
line-height: 2.2rem !important;
|
||||
margin: 0.1rem 0.5rem;
|
||||
}
|
||||
|
||||
.nav-item-doc ::deep a.active {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
color: white;
|
||||
border-left-color: #6ea8fe;
|
||||
background-color: rgba(88, 129, 87, 0.2);
|
||||
color: var(--accent);
|
||||
border-left: 2px solid var(--accent);
|
||||
border-radius: 0 8px 8px 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.nav-item-doc ::deep a:hover {
|
||||
@@ -105,7 +123,7 @@
|
||||
|
||||
.nav-scrollable {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: rgba(255,255,255,0.15) transparent;
|
||||
scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
|
||||
}
|
||||
|
||||
.nav-scrollable::-webkit-scrollbar {
|
||||
@@ -117,7 +135,7 @@
|
||||
}
|
||||
|
||||
.nav-scrollable::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.15);
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user