CrumbLevel.razor 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <div class="flex flex-col justify-center">
  2. @if (Items is null || Items.Count == 0)
  3. {
  4. }
  5. else if (Items.Count == 1)
  6. {
  7. <div class="flex items-center h-full">
  8. <a class="hover:text-white transition-colors"
  9. href="@Items[0].Href">
  10. @Items[0].Label
  11. </a>
  12. </div>
  13. }
  14. else
  15. {
  16. <!-- Multi-parent stack -->
  17. <div class="flex flex-col gap-0.5">
  18. @for (var i = 0; i < Items.Count; i++)
  19. {
  20. var crumb = Items[i];
  21. var isLast = i == Items.Count - 1;
  22. <div class="flex items-center gap-1">
  23. <span class="text-zinc-600 select-none">
  24. @(isLast ? "└─" : "├─")
  25. </span>
  26. <a class="hover:text-white transition-colors"
  27. href="@crumb.Href">
  28. @crumb.Label
  29. </a>
  30. </div>
  31. }
  32. </div>
  33. }
  34. </div>
  35. @code {
  36. [Parameter, EditorRequired] public List<ResourceBreadCrumbComponent.Breadcrumb> Items { get; set; } = new();
  37. }