Skip to content

Commit 62203f8

Browse files
committed
current nav should be nullable
1 parent 612a4d4 commit 62203f8

File tree

5 files changed

+9
-10
lines changed

5 files changed

+9
-10
lines changed

src/Elastic.Documentation.Site/_ViewModels.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class GlobalLayoutViewModel
1818
public required LayoutName? Layout { get; init; }
1919

2020
public required IReadOnlyCollection<PageTocItem> PageTocItems { get; init; }
21-
public required INavigationItem CurrentNavigationItem { get; init; }
21+
public required INavigationItem? CurrentNavigationItem { get; init; }
2222
public required INavigationItem? Previous { get; init; }
2323
public required INavigationItem? Next { get; init; }
2424
public required string NavigationHtml { get; init; }
@@ -29,7 +29,8 @@ public class GlobalLayoutViewModel
2929
public required bool AllowIndexing { get; init; }
3030
public required Uri? CanonicalBaseUrl { get; init; }
3131
public required GoogleTagManagerConfiguration GoogleTagManager { get; init; }
32-
public string? CanonicalUrl => CanonicalBaseUrl is not null ? new Uri(CanonicalBaseUrl, CurrentNavigationItem.Url).ToString().TrimEnd('/') : null;
32+
public string? CanonicalUrl => CanonicalBaseUrl is not null ?
33+
new Uri(CanonicalBaseUrl, CurrentNavigationItem?.Url).ToString().TrimEnd('/') : null;
3334
public required FeatureFlags Features { get; init; }
3435

3536
public required INavigationItem[] Parents { get; init; }

src/Elastic.Markdown/IO/DocumentationSet.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@ public interface IPositionalNavigation
3535

3636
INavigationItem? GetPrevious(MarkdownFile current);
3737
INavigationItem? GetNext(MarkdownFile current);
38-
INavigationItem GetCurrent(MarkdownFile file) =>
39-
MarkdownNavigationLookup.TryGetValue(file.CrossLink, out var navigationItem)
40-
? navigationItem : throw new InvalidOperationException($"Could not find navigation item for {file.CrossLink}");
38+
INavigationItem? GetCurrent(MarkdownFile file) => MarkdownNavigationLookup.GetValueOrDefault(file.CrossLink);
4139

4240
INavigationItem[] GetParents(INavigationItem current)
4341
{

src/Elastic.Markdown/Slices/IndexViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public class IndexViewModel
2626
public required IReadOnlyCollection<PageTocItem> PageTocItems { get; init; }
2727
public required MarkdownFile CurrentDocument { get; init; }
2828

29-
public required INavigationItem CurrentNavigationItem { get; init; }
29+
public required INavigationItem? CurrentNavigationItem { get; init; }
3030
public required INavigationItem? PreviousDocument { get; init; }
3131
public required INavigationItem? NextDocument { get; init; }
3232
public required INavigationItem[] Parents { get; init; }

src/Elastic.Markdown/Slices/Layout/_Breadcrumbs.cshtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<a
3232
itemprop="item"
3333
href="@firstCrumb.Url"
34-
@Htmx.GetHxAttributes(firstCrumb.Url, Model.CurrentNavigationItem.NavigationRoot.Id == firstCrumb.NavigationRoot.Id)
34+
@Htmx.GetHxAttributes(firstCrumb.Url, Model.CurrentNavigationItem?.NavigationRoot.Id == firstCrumb.NavigationRoot.Id)
3535
>
3636
<span itemprop="name" class="hover:text-black">@firstCrumb.NavigationTitle</span>
3737
</a>
@@ -54,7 +54,7 @@
5454
<a
5555
itemprop="item"
5656
href="@item.Url"
57-
@Htmx.GetHxAttributes(item.Url, Model.CurrentNavigationItem.NavigationRoot.Id == item.NavigationRoot.Id)
57+
@Htmx.GetHxAttributes(item.Url, Model.CurrentNavigationItem?.NavigationRoot.Id == item.NavigationRoot.Id)
5858
>
5959
<span itemprop="name" class="hover:text-black">@item.NavigationTitle</span>
6060
</a>

src/Elastic.Markdown/Slices/Layout/_PrevNextNav.cshtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
{
88
<a
99
href="@Model.Previous.Url"
10-
@Htmx.GetHxAttributes(Model.Previous.Url, Model.CurrentNavigationItem.NavigationRoot.Id == Model.Previous.NavigationRoot.Id)
10+
@Htmx.GetHxAttributes(Model.Previous.Url, Model.CurrentNavigationItem?.NavigationRoot.Id == Model.Previous.NavigationRoot.Id)
1111
class="flex h-full items-center text-ink-light hover:black border-1 border-grey-20 hover:border-grey-80 rounded-lg p-6 shadow-md"
1212
>
1313
<svg class="size-6 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
@@ -25,7 +25,7 @@
2525
{
2626
<a
2727
href="@Model.Next.Url"
28-
@Htmx.GetHxAttributes(Model.Next.Url, Model.CurrentNavigationItem.NavigationRoot.Id == Model.Next.NavigationRoot.Id)
28+
@Htmx.GetHxAttributes(Model.Next.Url, Model.CurrentNavigationItem?.NavigationRoot.Id == Model.Next.NavigationRoot.Id)
2929
class="flex h-full items-center justify-end text-ink-light hover:black border-1 border-grey-20 hover:border-grey-80 rounded-lg p-6 shadow-md text-right"
3030
>
3131
<div>

0 commit comments

Comments
 (0)