CrumbLevel.razor 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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 flex items-center gap-1"
  9. href="@Items[0].Href">
  10. <span>@Items[0].Label</span>
  11. <span class="text-xxs text-zinc-400">
  12. (@Items[0].Kind.ToLower())
  13. </span>
  14. </a>
  15. </div>
  16. }
  17. else
  18. {
  19. <div class="flex flex-col gap-0.5">
  20. @for (var i = 0; i < Items.Count; i++)
  21. {
  22. var crumb = Items[i];
  23. var isLast = i == Items.Count - 1;
  24. <div class="flex items-center gap-1">
  25. <span class="text-zinc-600 select-none">
  26. @(isLast ? "└─" : "├─")
  27. </span>
  28. <a class="hover:text-white transition-colors flex items-center gap-1"
  29. href="@crumb.Href">
  30. <span>@crumb.Label</span>
  31. <span class="text-xs text-zinc-400">
  32. (@crumb.Kind)
  33. </span>
  34. </a>
  35. </div>
  36. }
  37. </div>
  38. }
  39. </div>
  40. @code {
  41. [Parameter] [EditorRequired] public List<ResourceBreadCrumbComponent.Breadcrumb> Items { get; set; } = new();
  42. }