journal-spellcards.component.html 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <div class="spellcards-container">
  2. <div cdkDropListGroup>
  3. <!-- TODO: revert array to 0-9 -->
  4. @for(level of [0,1]; track level; let index = $index) {
  5. <div class="example-container">
  6. <div
  7. [class]="showSpellList[index] ? 'level-row' : 'level-row collapsed'"
  8. (click)="toggleSpellList(index)"
  9. >
  10. <div class="level-flex">
  11. <icon
  12. [size]="'l'"
  13. [type]="'UI'"
  14. [icon]="showSpellList[index] ? 'visible' : 'hidden'"
  15. [class]="'pointer'"
  16. class="inline"
  17. ></icon>
  18. <div class="heading-2 inline">{{ getSpellLevel(index) }}</div>
  19. </div>
  20. </div>
  21. <div
  22. cdkDropList
  23. cdkDropListOrientation="horizontal"
  24. [cdkDropListData]="getSpellList(index)"
  25. class="spell-list"
  26. (cdkDropListDropped)="drop($event)"
  27. [class]="showSpellList[index] ? '' : 'hidden'"
  28. >
  29. @for (spell of getSpellList(index); let spellIndex = $index; track
  30. spell) {
  31. <spellcard
  32. cdkDrag
  33. [id]="spellIndex"
  34. (cdkDragStarted)="dragStart(index)"
  35. (cdkDragReleased)="dragEnd($event)"
  36. [spell]="spell"
  37. (click)="showFullSpellcard(spell, level, spellIndex)"
  38. ></spellcard>
  39. } @if (draggingIndex === index){
  40. <div class="removal-card" [id]="'deletion' + index">
  41. Hier zum Löschen ablegen
  42. </div>
  43. } @else {
  44. <add-card
  45. [level]="index"
  46. [alreadyUsedSpells]="getUsedIDs(index)"
  47. (createNewSpell)="openSpellCreationModal(index, false)"
  48. (createNewSpellFromOfficial)="
  49. openSpellCreationModal(index, true, $event)
  50. "
  51. (onSpellSelected)="handleSpellSelection($event, index)"
  52. ></add-card>
  53. }
  54. </div>
  55. </div>
  56. }
  57. </div>
  58. </div>