journal-spellcards.component.html 2.0 KB

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