|
1 | 1 | <script lang="ts">
|
2 | 2 | import type { Alliance, Role, PlayerStrats, Alignment, MechanicStrat } from './+page';
|
3 |
| - import { RadioGroup, RadioItem, SlideToggle } from '@skeletonlabs/skeleton'; |
| 3 | + import { Accordion, AccordionItem, RadioGroup, RadioItem, SlideToggle } from '@skeletonlabs/skeleton'; |
4 | 4 |
|
5 | 5 | export let data;
|
6 | 6 | let stratName: string;
|
|
114 | 114 | {/if}
|
115 | 115 | </div>
|
116 | 116 |
|
117 |
| - <div class="grid xl:grid-cols-7 md:grid-cols-4 grid-cols-2 gap-2"> |
| 117 | + <div class="grid xl:grid-cols-7 grid-cols-3 gap-2"> |
118 | 118 | {#each strat.strats as step}
|
119 | 119 | {#key [spotlight, alignment]}
|
120 | 120 | <div class="space-y-4" class:col-span-2={step.alignmentImages && step.alignmentImages[alignment]}>
|
|
124 | 124 | </div>
|
125 | 125 | {/key}
|
126 | 126 | {/each}
|
| 127 | + {#if strat?.swapNote && strat?.swapStrats} |
| 128 | + <div class="col-span-3"> |
| 129 | + <Accordion class="card"> |
| 130 | + <AccordionItem open> |
| 131 | + <svelte:fragment slot="lead"><img width="24px" src={"./swap-icon.png"} /></svelte:fragment> |
| 132 | + <svelte:fragment slot="summary"><span class="text-xl">{strat.swapNote}</span></svelte:fragment> |
| 133 | + <svelte:fragment slot="content"> |
| 134 | + {#if strat?.swapWarning} |
| 135 | + <aside class="alert variant-filled-surface"> |
| 136 | + <div class="alert-message"> |
| 137 | + <p>{strat.swapWarning}</p> |
| 138 | + </div> |
| 139 | + </aside> |
| 140 | + {/if} |
| 141 | + <div class="grid grid-cols-3 gap-2"> |
| 142 | + {#each strat.swapStrats as step} |
| 143 | + {#key [spotlight, alignment]} |
| 144 | + <div class="space-y-4" class:col-span-2={step.alignmentImages && step.alignmentImages[alignment]}> |
| 145 | + <div class="uppercase text-xl">{step.mechanic}</div> |
| 146 | + <div class="whitespace-pre text-l">{step.description}</div> |
| 147 | + <img src={(step.alignmentImages && step.alignmentImages[alignment]) ? step.alignmentImages[alignment] : step.imageUrl} style:mask-image={getMask(step)} style:transform={step.alignmentTransforms ? step.alignmentTransforms[alignment] : step.transform} /> |
| 148 | + </div> |
| 149 | + {/key} |
| 150 | + {/each} |
| 151 | + </div> |
| 152 | + </svelte:fragment> |
| 153 | + </AccordionItem> |
| 154 | + </Accordion> |
| 155 | + </div> |
| 156 | + {/if} |
127 | 157 | </div>
|
128 | 158 | {/if}
|
129 | 159 | </div>
|
|
0 commit comments