ServerCardComponent.razor 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. @typeparam TServer where TServer : RackPeek.Domain.Resources.Hardware.Models.Server
  2. <div class="border border-zinc-800 rounded p-4 bg-zinc-900">
  3. <div class="flex justify-between items-center mb-3">
  4. <div class="text-zinc-100">
  5. @Server.Name
  6. </div>
  7. @if (Server.Ipmi == true)
  8. {
  9. <span class="text-xs text-emerald-400">IPMI</span>
  10. }
  11. </div>
  12. <div class="grid grid-cols-1 md:grid-cols-2 gap-3 text-sm">
  13. @if (Server.Cpus?.Any() == true)
  14. {
  15. <div>
  16. <div class="text-zinc-400 mb-1">CPU</div>
  17. @foreach (var cpu in Server.Cpus)
  18. {
  19. <div class="text-zinc-300">
  20. @cpu.Model — @cpu.Cores cores / @cpu.Threads threads
  21. </div>
  22. }
  23. </div>
  24. }
  25. @if (Server.Ram is not null)
  26. {
  27. <div>
  28. <div class="text-zinc-400 mb-1">RAM</div>
  29. <div class="text-zinc-300">
  30. @Server.Ram.Size GB @Server.Ram.Mts MT/s
  31. </div>
  32. </div>
  33. }
  34. @if (Server.Drives?.Any() == true)
  35. {
  36. <div>
  37. <div class="text-zinc-400 mb-1">Drives</div>
  38. @foreach (var drive in Server.Drives)
  39. {
  40. <div class="text-zinc-300">
  41. @drive.Type — @drive.Size GB
  42. </div>
  43. }
  44. </div>
  45. }
  46. @if (Server.Nics?.Any() == true)
  47. {
  48. <div>
  49. <div class="text-zinc-400 mb-1">NICs</div>
  50. @foreach (var nic in Server.Nics)
  51. {
  52. <div class="text-zinc-300">
  53. @nic.Type — @nic.Speed Gbps (@nic.Ports ports)
  54. </div>
  55. }
  56. </div>
  57. }
  58. @if (Server.Gpus?.Any() == true)
  59. {
  60. <div>
  61. <div class="text-zinc-400 mb-1">GPU</div>
  62. @foreach (var gpu in Server.Gpus)
  63. {
  64. <div class="text-zinc-300">
  65. @gpu.Model — @gpu.Vram GB VRAM
  66. </div>
  67. }
  68. </div>
  69. }
  70. </div>
  71. </div>
  72. @code {
  73. [Parameter][EditorRequired] public TServer Server { get; set; } = default!;
  74. }