Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 

171 wiersze
4.5 KiB

  1. @use '../atoms/variables' as *;
  2. // ─── Entry List Container ──────────────────────────────────────────────────
  3. .entry-list {
  4. background: $color-card-white;
  5. border-radius: $radius-lg;
  6. box-shadow: $shadow-card;
  7. overflow: hidden;
  8. transition: opacity 0.18s ease;
  9. &--fading { opacity: 0; }
  10. }
  11. // ─── Empty State ──────────────────────────────────────────────────────────
  12. .empty-state {
  13. background: $color-card-white;
  14. border-radius: $radius-lg;
  15. padding: $space-6 $space-8;
  16. box-shadow: $shadow-card;
  17. }
  18. .empty-state__title {
  19. font-size: $font-size-base;
  20. font-weight: $font-weight-bold;
  21. color: $color-text-dark;
  22. margin: 0 0 $space-2;
  23. }
  24. // ─── Footer mit Gesamtdauer ───────────────────────────────────────────────
  25. .entry-list__footer {
  26. display: flex;
  27. justify-content: flex-end;
  28. // 2 Buttons (28px) + 2× gap (8px) + eigener padding = Badge bündig
  29. padding: $space-3 calc(#{$space-8} + 28px + 28px + #{$space-2} + #{$space-2});
  30. border-top: 1px solid $color-border;
  31. }
  32. .entry-list__total {
  33. font-size: $font-size-base;
  34. font-weight: $font-weight-bold;
  35. color: $color-text-dark;
  36. background: $color-card;
  37. border-radius: $radius-pill;
  38. padding: $space-1 $space-4;
  39. }
  40. // ─── Entry Row ────────────────────────────────────────────────────────────
  41. .entry-row {
  42. border-bottom: 1px solid rgba($color-border, 0.5);
  43. transition: opacity 0.28s ease, transform 0.28s ease, max-height 0.28s ease;
  44. &:last-child { border-bottom: none; }
  45. // Fade-in bei neuem Eintrag
  46. &--new {
  47. opacity: 0;
  48. transform: translateY(-6px);
  49. }
  50. // Fade-out beim Löschen
  51. &--removing {
  52. opacity: 0;
  53. transform: translateX(12px);
  54. max-height: 0;
  55. overflow: hidden;
  56. padding: 0;
  57. margin: 0;
  58. }
  59. }
  60. // ─── Anzeige-Modus ────────────────────────────────────────────────────────
  61. .entry-row__display {
  62. display: flex;
  63. align-items: center;
  64. justify-content: space-between;
  65. gap: $space-4;
  66. padding: $space-4 $space-8;
  67. &:hover {
  68. background: rgba($color-primary, 0.03);
  69. .entry-row__btn {
  70. opacity: 1;
  71. }
  72. }
  73. &[hidden] {
  74. display: none !important;
  75. }
  76. }
  77. .entry-row__info {
  78. flex: 1;
  79. min-width: 0;
  80. }
  81. .entry-row__title {
  82. font-size: $font-size-base;
  83. font-weight: $font-weight-bold;
  84. color: $color-text-dark;
  85. white-space: nowrap;
  86. overflow: hidden;
  87. text-overflow: ellipsis;
  88. }
  89. .entry-row__note {
  90. font-size: $font-size-sm;
  91. color: $color-text-muted;
  92. margin-top: 2px;
  93. white-space: nowrap;
  94. overflow: hidden;
  95. text-overflow: ellipsis;
  96. }
  97. .entry-row__actions {
  98. display: flex;
  99. align-items: center;
  100. gap: $space-2;
  101. flex-shrink: 0;
  102. }
  103. .entry-row__badge {
  104. font-size: $font-size-sm;
  105. font-weight: $font-weight-bold;
  106. color: $color-text-dark;
  107. background: $color-card;
  108. border-radius: $radius-pill;
  109. padding: $space-1 $space-3;
  110. min-width: 48px;
  111. text-align: center;
  112. font-variant-numeric: tabular-nums;
  113. }
  114. .entry-row__btn {
  115. display: flex;
  116. align-items: center;
  117. justify-content: center;
  118. width: 28px;
  119. height: 28px;
  120. border-radius: 50%;
  121. background: transparent;
  122. border: none;
  123. cursor: pointer;
  124. opacity: 0;
  125. transition: opacity $transition-fast, background $transition-fast, color $transition-fast;
  126. color: $color-text-muted;
  127. svg { width: 14px; height: 14px; pointer-events: none; }
  128. &--edit:hover { background: rgba($color-primary, 0.1); color: $color-primary; }
  129. &--delete:hover{ background: rgba($color-error, 0.1); color: $color-error; }
  130. // immer sichtbar auf Touch-Geräten
  131. @media (hover: none) { opacity: 1; }
  132. }
  133. // ─── Bearbeiten-Modus ─────────────────────────────────────────────────────
  134. .entry-row__edit {
  135. padding: $space-4 $space-8;
  136. background: rgba($color-primary, 0.03);
  137. border-top: 1px solid rgba($color-border, 0.5);
  138. }
  139. .entry-form__grid--inline {
  140. // Gleiche Grid-Struktur wie das Haupt-Formular
  141. display: grid;
  142. grid-template-columns: 130px 1fr;
  143. gap: $space-3 $space-6;
  144. align-items: center;
  145. }